TGViewer
Hacker Lab Hacker Lab @hacker_lab_pro · 3.81K subscribers
Post #552 1.29K
Четыре часа на одну PNG-шку — почему стеганография в CTF съедает время

Реальная ситуация: команда на соревновании убила четыре часа на файл размером 6 КБ. Запустили steghide — но он не поддерживает PNG. Попробовали binwalk — получили ложную сигнатуру TIFF. А про zsteg просто не вспомнили. Флаг сидел в LSB красного канала и вытащился бы за секунды.

Проблема не в скилле. Проблема — в отсутствии системного чеклиста. Вот сжатая версия того, что реально экономит время.

🔍 Шаг 1. Не верь расширению

В CTF расширение файла врёт постоянно. challenge.txt может оказаться PNG, а image.jpg — ZIP-архивом. Первое действие всегда — file challenge.txt. Команда определяет тип по магическим байтам, а не по имени. Если ответ говорит «PNG image data» — расширение ложное, и это уже подсказка.

Дальше — exiftool. Поля Comment, Artist, Description — классические места, где прячут флаги или хинты. Base64-строка в поле Comment — стабильный паттерн на среднем уровне.

И параллельно: strings challenge.png | grep -iE "flag|ctf|key|{|}". Тривиально, но на лёгких тасках это решает задачу примерно в трети случаев.

📦 Шаг 2. Ищем вложенные файлы

binwalk challenge.png покажет всё, что спрятано внутри: ZIP-архивы, вторые картинки, данные после маркера конца файла. Нашёл что-то — извлекай через binwalk -e.

Но важный нюанс: binwalk часто даёт ложные срабатывания. Случайное совпадение байт с сигнатурой ZIP — обычное дело. Всегда проверяйте извлечённые файлы через file и пробуйте открыть.

Если binwalk молчит — пробуйте foremost. Он ищет пары header/footer и иногда цепляет то, что binwalk пропускает.

🖼 Шаг 3. Формат определяет инструмент

Вот где большинство ошибается. Каждый формат — свой набор утилит:

• PNG/BMP → zsteg (LSB-анализ, работает моментально) и Stegsolve (визуальный просмотр битовых плоскостей)
• JPEG → steghide (прячет данные в DCT-коэффициентах, нужен пароль — попробуйте пустой) и stegseek (брутфорс пароля по словарю rockyou.txt за секунды)
• GIF → проверяйте отдельные фреймы и палитру

Запустить steghide на PNG — пустая трата времени. Он физически не умеет работать с этим форматом. Именно на этом и погорела та команда из начала поста.

🎧 Отдельная история — аудио-стеганография. Спектрограмма в Sonic Visualiser или Audacity часто показывает текст или QR-код, нарисованный частотами.

Это сжатый алгоритм. Полный чеклист с decision tree, таблицей ограничений инструментов и разбором альфа-канала — в развёрнутой статье.

https://hackerlab.pro/blog/steganografiya-v-ctf-cheklist-i-instrumenty-dlya-poiska-skrytyh-dannyh-v-kartinkah-i-audio
  • ❤ 8
  • 🔥 5
  • 👍 3
More from @hacker_lab_pro
  1. Oct 9, 2026Как прошла Кибербитва GIS DAYS 2026: подробности нашего участия в соревнованиях ➡️В прошло…
  2. Oct 6, 2026⚡️ Твоё резюме на codeby.net теперь прокачивается само. Пока ты решаешь задачи на HackerLa…
  3. Oct 3, 2026🚩 Новые задания на платформе HackerLab! 👩‍💻 Категория Pentest Machines (Linux) — Клёвое…
  4. Oct 2, 2026Команда HackerLab заняла 4 место на Кибербитве GIS DAYS 2026! 30 сентября и 1 октября в Са…
  5. Sep 29, 2026От 200 до 300 тысяч на руки за то, чтобы первым разбирать свежие CVE. METASCAN ищет пентес…
  6. Sep 27, 2026🚀 Ищем новых авторов курсов по информационной безопасности У нас большая и очень живая ау…
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 →