Скрываем пароли в мемах — Стеганография

Стеганография или «тайнопись» с греческого — это сокрытие информации в другом объекте.

Один из первых примеров был у Геродота в его «Историях»: сообщение написали у посланца на бритой голове, а затем подождали, пока отрастут волосы. Физический пример из не такого далёкого прошлого: текст, написанный исчезающими чернилами.

От криптографии стеганография отличается «отрицаемым шифрованием»: шифротекст привлекает внимание, всем своим видом говоря «во мне что-то зашифровано», тогда как текст внутри картинки мало кто заметит. И чем больше медиа-файл, тем сложнее найти сокрытые в нём данные: например, коды символов ASCII, скрытые в последних битах RGB-кода каждого 137-го пикселя фото.

Наиболее эффективным же будет скрытие стеганографией шифротекста. Представим, что у нас есть такой текст и его нужно внедрить в медиа-файл. Сейчас достаточно автоматизированных инструментов, чтобы не заниматься редактированием фото вручную. Остается выбрать софт, и вперёд. Сегодня ограничимся оффлайн-решениями, и наиболее продвинутый среди из них — HStego.

HStego доступен под Windows и Linux. Умеет внедрять/извлекать данные с паролем из JPEG и изображений в битовой карте (BMP, PNG), используя самые продвинутые на сегодня методы, но даже так большой объём скрытой информации легче найти, поэтому HStego ограничивает объём скрытых данных до специально выверенных 5% от общего объёма файла.

На примере GUI-приложения: запускаем бинарник под Windows или Linux (без паники, это автор их на Гуглодиск выкладывает), выбираем фото, сообщение, пароль, и получаем результат. Для извлечения порядок схожий. Теперь в терминале на примере JPEG: 1. Установка (PIP) 2. Внедрениеhstego.py embed сообщение.txt оригинал.jpg стего.jpg пароль 3. Извлечениеhstego.py extract стего.jpg сообщение.txt пароль

ИМХО:  Очень частая техника в CTF. Попрактикуйте в них — быстрее и веселее освоите.

Свежее