TGViewer
Channel Public Channel
Coffee cube

Coffee cube

@coffee_cube

Этот канал посвещен моему пути в сфере Информационной безопасности.

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

По всем вопросам можете писать мне в ЛС: @ju57_4_cu63
Subscribers
473
Photos
163
Videos
18
Links
145

Showing posts older than #150 · Back to latest

Older Posts 20 shown
Post #149 363
Привет^3☕️

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

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

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

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

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

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

• Easy Overflow 1
• Easy Overflow 2
• Easy Overflow 3

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

#pwn #writeup
  • ❤ 2
  • ✍ 1
  • 👨‍💻 1
Post #148 344
Привет^3☕️

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

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

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

• Exploiting time-sensitive vulnerabilities

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

#web #writeup
  • ❤‍🔥 3
  • ❤ 1
  • 🤔 1
Post #147 336
Привет^3☕️

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

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

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

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

#life
  • ❤‍🔥 7
  • ❤ 3
  • 👏 3
  • 🤝 1
Post #146 353
Привет^3☕️

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

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

• task2
• task4

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

#reverse #writeup
  • ❤‍🔥 4
  • ❤ 1
  • 👨‍💻 1
Post #145 357
Привет^3☕️

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

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

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

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

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

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

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

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

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

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

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

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

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

• Single-endpoint race conditions
• Multi-endpoint race conditions

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

#web #writeup
  • 👨‍💻 3
  • ❤ 2
  • ✍ 1
Post #144 360
Привет^3☕️

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

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

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

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

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

• Want the flag
• call
• String
• 31337

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

#pwn #writeup
  • ❤ 4
  • ❤‍🔥 4
  • ✍ 1
  • 👨‍💻 1
Post #143 340
Привет^3☕️

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

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

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

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

Как искать❓

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

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

• Bypassing rate limits via race conditions
• Limit overrun race conditions

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

#web #writeup
  • ❤ 6
  • 👍 1
  • 👨‍💻 1
Post #142 467
Привет^3☕️

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

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

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

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

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

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

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

#linux #story
  • ❤‍🔥 5
  • ❤ 4
  • 👨‍💻 1
Post #141 380
Привет^3☕️

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

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

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

• Authentication bypass via encryption oracle

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

#web #writeup
  • ❤ 6
  • ✍ 2
  • 👨‍💻 1
Post #140 405
Привет^3☕️

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

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

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

• spbctf_2_x86
• spbctf_3_x86_64

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

#reverse #writeup
  • 👨‍💻 4
  • ❤ 2
  • ✍ 1
Post #139 403
Привет^3☕️

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

• Flawed enforcement of business rules
• Infinite money logic flaw


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

#web #writeup
  • ❤‍🔥 3
  • ❤ 2
  • ✍ 1
Post #138 404
Привет^3☕️

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

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

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

#maldev
  • ❤‍🔥 3
  • 👨‍💻 2
  • ✍ 1
  • ❤ 1
  • 👍 1
Post #137 432
Привет^3☕️

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

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

• Authentication bypass via flawed state machine
• Insufficient workflow validation

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

#web #writeup
  • 👍 5
  • ❤ 2
  • 👨‍💻 1
Post #136 398
Привет^3☕️

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

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

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

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

#оффтоп
  • ❤ 8
  • 🤣 2
  • 🏆 2
  • 👏 1
  • 🍓 1
  • 🗿 1
Post #135 419
Привет^3☕️

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

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

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

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

#web #writeup
  • ❤ 4
  • 🤝 3
  • 😎 2
  • ✍ 1
  • 👨‍💻 1
Post #134 359
Суровые будни линуксойда...

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

#memes
  • 🗿 9
  • 🤓 1
  • 👀 1
Post #133 369
Привет^3☕️

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

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

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

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

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

#reverse #writeup
  • ❤ 5
  • ✍ 1
  • 👍 1
  • 🔥 1
  • 🗿 1
  • 😎 1
Post #131 353
Привет^3☕️

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

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

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

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

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

#web #writeup
  • ❤ 8
  • 🤣 1
Post #130 337
Привет^3☕️

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

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

• Greatest Common Divisor
• Extended GCD

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

#crypto #writeup
  • ❤‍🔥 3
  • 👍 1
  • 🤝 1
  • 😎 1
Post #129 354
Привет^3☕️

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

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

• Broken brute-force protection, multiple credentials per request


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

#web #writeup
  • ❤‍🔥 5
  • ✍ 1
  • ❤ 1
  • 🔥 1
  • 👨‍💻 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →