Coffee cube
277 subscribers
118 photos
17 videos
24 files
81 links
Этот канал посвещен моему пути в сфере Информационной безопасности.

Выкладываю статьи по моим исследованиям, райтапы на лабораторные работы и забавные истории. Присоединяйтесь^3

По всем вопросам можете писать мне в ЛС: @ju57_4_cu63
Download Telegram
Привет^3☕️

Сегодня в лабе будет достаточно интересный способ обхода аутентификации.😱 Заключается он в логической ошибке обработки паролей. А именно, парсер успешно парсит список паролей и любезно проверяет каждый из переданных. Это позволяет обойти защиту от брутфорса🏋️‍♂️.

Так что предлагаю вам попробовать решим самим. Я не шучу. Вот лаба. Идите. Решайте. Кыш😉:

Broken brute-force protection, multiple credentials per request


↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥511🔥1👨‍💻1
Привет^3☕️

Нужна ли ИБ-шникам математика? Да… Нет… Возможно… Вы не понимаете, это другое

В криптографии она используется активно. Поэтому, хотите вы того или нет, придётся с ней познакомиться😐. Начнём не с самого коварного - алгоритма Евклида.🏆

Greatest Common Divisor
Extended GCD

↖️ 📕тг🤬чатик✏️посты

#crypto #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥3👍1🤝1😎1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Время-деньги🤑. Сегодня разберем достаточно интересный тип узявимостей, а именно ошибки в бизнес логике.

Для обнаружений ошибок нужно понять, как работает сервис и предположить, а что может пойти не так. Например, излишнее доверие клиентам. Не будет же клиент ковыряться в запросах, чтобы изменять поля. Не будет же? Правда?🤞

Идите и попробуйте сами:
Excessive trust in client-side controls
Inconsistent security controls
Weak isolation on dual-use endpoint

ПЫ.СЫ: иногда действия пользователей похожи на то, что происходит на видео

↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
68🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Продолжаем набивать руку на простых лабах по реверсу🔧. Довольно часто в подобных задачах нужно подобрать последовательность, которая пройдет валидацию в бинарном файле. Можно сказать, что мы пишем своеобразный кейген🗝.

Подобные задачи встречаются, когда есть необходимость деобфусцировать или расшифровать файл. Приходится разбирать алгоритм, чтобы добраться до сокровенного🏝)

Лабки👨‍💻:
Nostr 3
Nostr 4
Nostr 5
Nostr 6

P. S:
Скоро я получу зарубежную карту, а это значит лишь одно - видос/стрим по вайб-реверсу не за горами:3

↖️ 📕тг🤬чатик ✏️посты

#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
451👍1🔥1🗿1😎1
Суровые будни линуксойда...

↖️ 📕тг🤬чатик ✏️посты

#memes
Please open Telegram to view this post
VIEW IN TELEGRAM
1🗿9🤓1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Продолжим разбирать ошибки в бизнес логике веб-приложений.😼

Поведение и ограничения внутри приложения нам не всегда известны.🤔 Но до некоторых из них можно добраться, внимательно изучив само приложение и HTTP-запросы. Предлагаю вам этим и заняться:

Inconsistent handling of exceptional input
High-level logic vulnerability
Low-level logic flaw

↖️ 📕тг🤬чатик✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
14🤝3😎21👨‍💻1
Media is too big
VIEW IN TELEGRAM
Привет^3☕️

Если вы не знали как выглядит отчаяние и просьбы о помощи, то вот вам видео😱

Наконец вышла запись моего доклада на VolgaCTF. Так что ставьте лайки, пишите комментарии(прогрев пошел)🤑. А если вам что-то не понравилось, то можете кинуть в меня авокадо🥑

Приятного просмотра🍔

↖️ 📕тг🤬чатик✏️посты

#оффтоп
Please open Telegram to view this post
VIEW IN TELEGRAM
58🤣2🏆2👏1🍓1🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Пользователь - непредсказуемый зверь🫤. Он может сделать то, о чём вы даже не задумывались. Предусмотреть все возможные варианты развития событий невозможно🌟 .Тем не менее стоит попытаться покрыть как можно больше подобных выходок: пустые аргументы или их отсутствие, пропуск шагов, отправка сразу нескольких одинаковых аргументов.

А что может произойти, если такую обработку не сделать😫, я предлагаю вам рассмотреть при прохождении следующих лабораторных работ:

Authentication bypass via flawed state machine
Insufficient workflow validation

↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍52👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Хоть мне и не приходилось часто сталкиваться со стиллерами, но об одной из их техник я слышал довольно таки много. Для своих целей они используют крутую фичу телеги😍. О ней мы и поговорим:

Кража сессии телеграм

↖️ 📕тг • 🤬чатик • ✏️посты

#maldev
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥3👨‍💻211👍1
Привет^3☕️

В сегодняшних разборах мы активно будем использовать промокоды🤑. В некоторые моменты даже слишком активно. Как я и говорил ранее, для обнаружения подобных уязвимостей нужно думать чуть иначе. Поэтому пробуем и запоминаем☕️:

Flawed enforcement of business rules
Infinite money logic flaw


↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤‍🔥321
Привет^3☕️

Замечал и за собой, и за другими🤔: придя к одному паттерну поведения, мы часто перестаём замечать альтернативные варианты.

В анализе малвари не всегда нужно бросаться реверсить всё подряд😇, писать деобфускатор или придумывать хитрые способы обхода антиотладки. Иногда достаточно посмотреть на проблему под другим углом🤯 - заменить пару байт и использовать уже готовый код.

Пример такого подхода вы увидите в одной из следующих лабораторных работ🙂:

spbctf_2_x86
spbctf_3_x86_64

↖️ 📕тг🤬чатик ✏️посты

#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2👨‍💻411
Привет^3☕️

Во время поиска уязвимостей или просто при изучении сервиса иногда можно наткнуться на странные зашифрованные или закодированные данные😶. К сожалению (а может и к счастью — если смотреть с точки зрения безопасности🤔), расшифровать их напрямую не удаётся.

Но если разработчик решил не заморачиваться и использовать один и тот же алгоритм в разных местах — и где-то даже сам эти данные декодирует — этим вполне можно воспользоваться.

Ведь зачем ломать голову и пытаться расшифровать строку вручную, если сайт любезно сделает это за нас?)☺️

Authentication bypass via encryption oracle

↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
262👨‍💻1
Привет^3☕️

Некоторые из вас уже слышали эту историю, но, как оказалось, всё было куда интереснее, чем я предполагал.😱

Недавно я стал жертвой хакерской атаки.🥴 В ней хакеры покусились на святое — мой сервер . Сам “взлом” вряд ли можно назвать полноценным взломом, но инцидент получился забавным, поучительным и, как ни странно, идеально подошёл для небольшого разбора.

Решил показать вам эту историю со стороны — как выглядит инцидент информационной безопасности, какие вопросы возникают в процессе расследования и как вообще ведётся разбор подобного очень “серьёзного” кейса.😁

Так что запасайтесь попкорном, наливайте кофе и готовьтесь посмеяться.😂

P.S: советую запустить видосик. Так будет еще смешнее

Взлом майнкрафт сервера

↖️ 📕тг🤬чатик ✏️посты

#linux #story
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥54👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

На очереди достаточно интересный вид уязвимостей — Race Condition.⚡️

Это уязвимость в логике приложения. Чаще всего она позволяет обойти или превысить ограничения, заложенные в бизнес-логике.

Рассмотрим простой пример — одноразовая скидка на заказ.😐
Логика может выглядеть так:
- Проверить, что промокод ещё не использован.
- Применить скидку к сумме заказа.
- Обновить запись в БД, отметив использование промокода.

Повторное использование должно блокироваться на первом шаге. Но если один и тот же промокод отправить дважды почти одновременно, приложение начнёт обрабатывать оба запроса. И пока один из процессов не успел выставить флаг, оба запроса могут пройти проверку и успешно применить скидку.🤑

Как искать

Чтобы обнаружить такую уязвимость, стоит выполнить следующие шаги:
- Найти полезный или критичный endpoint, который можно использовать один раз, либо он ограничен по количеству обращений.
- Отправить несколько запросов в очень короткий промежуток времени, пытаясь превысить лимиты.

Даже если запросы отправлены одновременно, всё равно существуют внешние факторы☠️ — сеть, задержки, балансировка, разные времена обработки — которые могут привести к расхождению и, соответственно, к успешной эксплуатации уязвимости.

Bypassing rate limits via race conditions
Limit overrun race conditions

↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
36👍1👨‍💻1
Привет^3☕️

Как вы можете знать, я занимаюсь вирусной аналитикой. И это далеко не всегда только про реверс.😇 Хотя сам процесс реверса может быть интересным и очень познавательным, есть и другой навык, тесно связанный с ним — бинарная эксплуатация.

Бинарная эксплуатация — это обнаружение и использование уязвимостей скомпилированных программ для изменения их поведения и работы.🤓

К сожалению, в своей практической работе я почти не сталкивался с этим направлением. Но оно невероятно сложное, глубокое и интересное.😵‍💫 Что-то я уже знаю, а что-то мне только предстоит изучить. Поэтому предлагаю пройти этот путь вместе со мной.

Настоятельно рекомендую освоить реверс хотя бы на базовом уровне. Без него - никак.🤔 Можете использовать для этого мои разборы)

Ну что ж, приступим:

Want the flag
call
String
31337

↖️ 📕тг🤬чатик ✏️посты

#pwn #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥431👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Продолжаем разбирать Race Condition.⚡️

😎 Race Condition на одном эндпоинте

Параллельная отправка нескольких запросов с разными параметрами на один и тот же эндпоинт может вызвать состояние гонки. Такие атаки могут требовать нескольких попыток, так как операции должны выполниться в определённом порядке.

Подтверждение адреса электронной почты или любые действия, основанные на отправке писем - отличная цель для Race Condition.🤩

Электронные письма часто отправляются в отдельном фоновом потоке после того, как сервер уже вернул HTTP-ответ. Это создаёт внутрисерверное окно гонки - идеальный момент, когда две параллельные операции могут конфликтовать друг с другом.

☝️Race Condition на нескольких эндпоинтах

Интересный тип уязвимости появляется, когда логика обработки разнесена по нескольким эндпоинтам.

При тестировании таких гонок становится сложнее выровнять окна выполнения, даже если запросы отправляются одновременно.

Проблема часто возникает по двум причинам:
☀️ задержки, вызванные сетевой архитектурой;
☀️ задержки, связанные с обработкой, специфичной для каждого эндпоинта.

Задержки внутреннего соединения чаще всего не мешают поиску гонок. Важно только уметь отличать такие задержки от факторов, которые действительно влияют на окно уязвимости.

Одним из подходов может быть connection warming: если после отправки пробного запроса (например, GET /) последующие запросы обрабатываются в пределах короткого временного окна, то такие задержки можно считать шумом и игнорировать. В противном случае задержка действительно становится помехой и способна скрыть существующую гонку.

👀 Дополнительно:
☀️ Гонки на нескольких эндпоинтах сложнее, так как окно уязвимости распределено между независимыми обработчиками.
☀️ Иногда помогает не только одновременная отправка, но и выравнивание нагрузки - например, многократными запросами до нужного момента.
☀️ Параллельное тестирование можно усиливать подходами вроде задержки сетевых пакетов, искусственного флуда, использования тестовых прокси.

Примеры каждого из типов уязвимости можете найти в лабах ниже🫢:

Single-endpoint race conditions
Multi-endpoint race conditions

↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
3👨‍💻321
Привет^3☕️

Продолжаем реверсить и постепенно подключать gdb, чтобы упростить себе жизнь. Ведь зачем разбирать что-то сложное и запутанное, если можно просто поставить бряку и ничего не реверсить?)😙

Вы также могли заметить, что я начал использовать LLM в своей работе.🤫 Давно хотел попробовать - и вот дошли руки. Поэтому если у вас есть опыт применения ИИ в реверсе, поделитесь им в комментариях.

• task2
• task4

↖️ 📕тг🤬чатик ✏️посты

#reverse #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥41👨‍💻1
Привет^3☕️

Наш чатик живет бурной жизнью и потихоньку растет)

Один из участников недавно опубликовал свою первую статью на хабре (и даже не ии сгенерированную, шок🤯) на не самую простую тему. Давайте все дружно поддержим его.☺️

• Введение в атомики. С++

↖️ 📕тг🤬чатик • ✏️посты

#life
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥73👏3🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет^3☕️

Часто возникает необходимость генерировать псевдослучайные числа и последовательности. Псевдослучайными я называю их не просто так.😒 Абсолютно случайную величину мы получить не можем, потому что алгоритмы генерации используют некоторое стартовое значение. А значит - если известны алгоритм и этот стартовый параметр, мы можем предсказать всю последовательность "случайных" чисел.🤷‍♂️

Одним из самых интересных способов генерации таких чисел является использование лавовых ламп. Выглядит это так же забавно, как и звучит.🤩 Броуновское движение предсказать невозможно, поэтому угадать следующее число становится крайне сложной задачей.

Гораздо хуже ситуация, когда в качестве случайного значения используется _временная метка_. На неё мы можем влиять сами - и это делает предсказание значительно проще.😐 В следующей лабе временные метки применяются для генерации ссылки на сброс пароля. Предлагаю проверить мои слова на практике и убедиться, что использование временных меток в таких целях — плохая идея:

Exploiting time-sensitive vulnerabilities

↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤‍🔥31🤔1
Привет^3☕️

Настал тот самый момент.😦 У нас есть буфер - и мы должны его переполнить. Обязаны.
"Что за ересь?" - спросите вы.
А это всего лишь одна из уязвимостей, встречающихся в бинарных программах.

Возникает она тогда, когда мы пытаемся впихнуть невпихуемое.🍆 Очень часто мы работаем с обработкой пользовательских данных.

В языке C по-прежнему распространено выделение фиксированного количества памяти для хранения переменных. Например, мы выделили 256 байт под имя, а какой-то безумец вводит 257. Вопиющая наглость. К такому никто не был готов.😞

Поможет ли нам язык C? - Нет. Он тоже в шоке. Но если мы сказали ему "сохраняй данные", он будет сохранять.🍿 Даже если придётся залезть поверх уже существующих значений. Смекаешь?

Эксплуатируя переполнение буфера, мы можем изменить данные, к которым у нас не должно быть доступа: локальные переменные на стеке, глобальные переменные, а иногда и адрес возврата (но это уже лёгкий спойлер).

Предлагаю вооружиться gdb, длинными строками и попробовать попереполнять буфер своими руками:

Easy Overflow 1
Easy Overflow 2
Easy Overflow 3

↖️ 📕тг🤬чатик • ✏️посты

#pwn #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
221👨‍💻1
Привет^3☕️

Я достаточно долгое время изучал фишинговые вложения.😌 В них часто использовались особенности файлов, которые позволяют запускать код. Одним из таких форматов является XML. Более того, многие другие файлы используют XML в качестве основы. В вебе это тоже интересно, так как данные между клиентом и сервером могут передаваться не только в JSON-формате, но и в XML. А неправильная его обработка может привести к XXE.

Who is XXE?🤨

Веб-уязвимость, которая позволяет внедрить код в XML-документ для его выполнения. Часто с её помощью можно получить доступ к файловой системе сервера и взаимодействовать с бэкендом или внешними сервисами.

Если говорить проще, мы можем добавить код в XML-документ, и, возможно, он будет выполнен на стороне сервера. А это уже можно использовать с разными целями.

XML-сущности🤓

Для выполнения кода используются XML-сущности. Это способ представления элемента данных внутри документа без использования самих данных напрямую. Например, сущности &lt; и &gt; представляют символы < и >. Эти символы используются как метасимволы для обозначения XML-тегов.

Например, можно использовать следующий синтаксис для её создания:

<!DOCTYPE payload [ <!ENTITY myentity "my entity value"> ]>

Это определение означает, что любое использование ссылки на сущность &myentity; внутри XML-документа будет заменено на заданное значение my entity value.

Внешнюю сущность можно получить по ссылке. Значит, мы можем вынудить приложение отправить запрос на внешний или внутренний сервис. Подобная атака может выглядеть следующим образом:

<!DOCTYPE payload [ <!ENTITY xxe SYSTEM "https://bad.site/"> ]>

Как всегда, начнём разбирать всё с простых лаб, постепенно усложняя🥺:

Exploiting XXE using external entities to retrieve files
Exploiting XXE to perform SSRF attacks
Exploiting XXE via image file upload

↖️ 📕тг🤬чатик ✏️посты

#web #writeup
Please open Telegram to view this post
VIEW IN TELEGRAM
2🤔311🥱1👨‍💻1