Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
stegano — Мультиплатформенное приложение для стеганографии с графическим интерфейсом, командной строкой и веб-сервисом, поддерживает WEBP и AES. | Kitploit
Инструменты/GitLabGitLab/bztsrc/stegano
Инструменты шифрования/дешифрованияСтеганографияКриптографияКонфиденциальность
GitLabbztsrc/stegano

stegano

Мультиплатформенное приложение для стеганографии с графическим интерфейсом, командной строкой и веб-сервисом, поддерживает WEBP и AES.

Репозиторий
63 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Стеганография от bzt

Онлайн-демо

В двух словах, стеганография — это искусство скрывать сообщения в другом носителе на виду, не вызывая подозрений. Данная реализация считывает изображения в популярных веб-форматах (WEBP, PNG, GIF, JPEG), прячет в них (необязательно зашифрованный) текст и сохраняет результат в виде WEBP-изображения. Затем вы можете загрузить это новое изображение на любой публичный сайт, форум, Instagram, чат Facebook, прикрепить к электронным письмам и так далее. Никто ничего не заподозрит, никто не узнает, что в картинке на самом деле есть сообщение, если вы явно не скажете им (и если использовалось шифрование, им также понадобится правильный пароль, конечно).

Использование

  1. выберите исходное изображение (либо по URL, либо из локального файла)

  2. при желании введите пароль (если хотите дополнительное шифрование военного уровня)

3/а. чтобы проверить сообщение в изображении, нажмите Загрузить. Если сообщения нет или ваш пароль неверен, вы можете увидеть бессмыслицу.

3/б. введите ваше сообщение и нажмите Сохранить. Будет сохранено новое изображение (со скрытым внутри сообщением), используйте этот файл по своему усмотрению.

Как веб-сервис

Перейдите на сайт.

Как оконное приложение

Скачайте для Linux (GTK) и Windows (GDI). Это портативные исполняемые файлы, не требующие установки, и они не оставляют никаких следов на вашем компьютере. Графический интерфейс выглядит и работает точно так же, как веб-сервис.

скриншот

Как инструмент командной строки

Скачайте для Linux и Windows (оба используют только libc). Затем введите

root@kitploit:~
./stegano-cli <файл изображения>
./stegano-cli -p <пароль> <файл изображения>

чтобы вывести сообщение из изображения в stdout, и

root@kitploit:~
./stegano-cli <файл изображения> <сообщение>
./stegano-cli -p <пароль> <файл изображения> <сообщение>

чтобы закодировать сообщение в новый файл .webp (это может перезаписать исходный файл). Как и в веб-сервисе, пароль необязателен. В отличие от версии с графическим интерфейсом выше, версия командной строки не имеет абсолютно никаких зависимостей и просто работает(tm) везде.

Компиляция

Просто выполните make в каталоге src, он следует принципам suckless. Для компиляции требуются только emcc от Emscripten и gcc (версия для Linux с GUI также требует pkg-config и GTK, GDK, pango, cairo и прочие типичные GTK-навороты).

  • make wasm если вы хотите скомпилировать только версию WebAssembly (необходимый шаблонный HTML находится в каталоге public).
  • make cli если вы хотите скомпилировать только версию командной строки (полностью без зависимостей, должна работать на любой POSIX-системе).
  • make gui если вы хотите скомпилировать только версию с графическим интерфейсом (для Windows GDI, в противном случае зависит от GTK).

Как это работает?

Если вы указали пароль, ваш текст сначала шифруется. Затем изображение распаковывается в пиксельный буфер, где биты вашего (зашифрованного) сообщения сохраняются в яркости цветовых каналов. Это создает очень слабые волновые паттерны на изображении, которые абсолютно незаметны невооруженному человеческому глазу (а при отсутствии сравнения с оригинальным изображением, абсолютно незаметны и для компьютеров).

При загрузке изображение снова распаковывается в пиксельный буфер, и эти волны яркости в цветовых каналах преобразуются в конкатенированный битовый блок. Если указан пароль, битовый блок расшифровывается. Итоговое сообщение проверяется на валидность UTF-8, и если оно валидно, отображается. (Эта проверка UTF-8 необходима, потому что никто не может сказать, есть ли на самом деле сообщение в изображении, или правильный ли был указан пароль.)

Технические детали

Сообщение хранится как нуль-терминированный многобайтовый поток UTF-8, в котором разрешены только управляющие последовательности \t (горизонтальная табуляция), \r (возврат каретки) и \n (новая строка). При обратной загрузке версия GUI для Windows преобразует одиночные символы \n в последовательности \r\n CRLF. При сохранении версия CLI принимает двухбайтовые последовательности символов \+t, \+r, \+n и преобразует их в соответствующие однобайтовые управляющие символы.

Для шифрования сообщение дополняется нулями, чтобы его длина была кратна 16, а затем вычисляется sha256(salt+sha256(password)), что даёт 32 двоичных байта, из которых 16 последовательных байтов используются как вектор инициализации AES-256-CBC, начиная со значения 4-го байта по модулю 16. Ключ AES-256-CBC затем инициализируется как sha256(sha256(salt+sha256(password))+salt) (использование sha от sha делает чрезвычайно сложной, если не невозможной, атаку по радужным таблицам на пароль). Соль — Libre Steganography Standard.

Для пикселей все изображения преобразуются в 32-битные упакованные буферы пикселей RGBA. Младшие 2 бита каждого из четырёх каналов используются для хранения 8 бит сообщения (что даёт 1 байт сообщения на 1 несущий пиксель). Для хранения используются только пиксели с альфа-каналом больше 3, и все версии сообщают количество таких пикселей как "Емкость N байт."

root@kitploit:~
Биты 1 байта сообщения (7 старший, 0 младший): 76543210
1 несущий пиксель (альфа последняя, красный первый байт): rrrrrr76 gggggg32 bbbbbb54 aaaaaa10 (a!=0)

(Этот хак с непрозрачностью необходим, потому что кодек WEBP не так уж и без потерь, как утверждается. При альфа-канале больше 3 гарантируется, что пиксель не прозрачен, даже если закодированные биты равны нулю.)

Лицензия

Этот инструмент стеганографии лицензирован на условиях GPLv3+ (или любой более поздней версии этой лицензии). Он статически скомпонован с stb_image (общественное достояние) и libwebp (лицензия BSD-3-Clause). Части SHA-хэша и AES-кодировщика/декодировщика встроены (написаны мной), никакой сторонней криптографической библиотеки не требуется.

С наилучшими пожеланиями, bzt

Скачать инструмент