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

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

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

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

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

Категории

Все категории
Loading categories
steganography — Простой инструмент стеганографии изображений на C++ для шифрования и сокрытия файлов внутри изображений с использованием кодирования младшего значащего бита. | Kitploit
Инструменты/GitHubGitHub/7thsamurai/steganography
Инструменты шифрования/дешифрованияЭксфильтрация данныхСтеганографияКриптография
GitHub7thsamurai/steganography

steganography

Простой инструмент стеганографии изображений на C++ для шифрования и сокрытия файлов внутри изображений с использованием кодирования младшего значащего бита.

Репозиторий
1.1k772 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Инструмент стеганографии изображений

Простой инструмент на C++ для шифрования и стеганографии, который использует шифрование с защитой паролем для защиты содержимого файла, а затем встраивает его в пиксельные данные изображения с помощью кодирования наименьшего значащего бита (LSB). Для систем Linux, MacOS и Windows.

Кодирование

root@kitploit:~
$ ./steganography encode -i data/orig.png -e data/jekyll_and_hyde.zip -o output.png
Password: 1234
* Image size: 640x426 pixels
* Encoding level: Low (Default)
* Max embed size: 132.38 KiB
* Embed size: 61.77 KiB
* Encrypted embed size: 61.78 KiB
* Generated CRC32 checksum
* Generated encryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Encrypted embed with AES-256-CBC
* Embedded jekyll_and_hyde.zip into image
* Sucessfully wrote to output.png

Исходное изображение:

Исходное изображение

Изображение с встроенным ZIP-архивом, содержащим полное содержимое книги «Доктор Джекил и мистер Хайд»:

Изображение с встраиванием

Декодирование

root@kitploit:~
$ ./steganography decode -i output.png -o "out - jekyll_and_hyde.zip"
Password: 1234
* Image size: 640x426 pixels
* Generated decryption key with PBKDF2-HMAC-SHA-256 (20000 rounds)
* Sucessfully decrypted header
* File signatures match
* Detected embed jekyll_and_hyde.zip
* Encoding level: Low (Default)
* Encrypted embed size: 61.78 KiB
* Successfully decrypted the embed
* Decrypted embed size: 61.77 KiB
* CRC32 checksum matches
* Successfully wrote to out - jekyll_and_hyde.zip

Сборка

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make -j 4

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

root@kitploit:~
Usage: steganography [-h] {decode,encode}

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits

Subcommands:
  decode        Decodes and extracts an embed-file from an image
  encode        Encodes an embed-file into an image

Кодирование

root@kitploit:~
Usage: encode [-h] --input VAR --output VAR --embed VAR [--passwd VAR]

Encodes an embed-file into an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output image. [required]
  -e, --embed  	specify the file to embed. [required]
  -p, --passwd 	specify the encryption password.

Декодирование

root@kitploit:~
Usage: decode [-h] --input VAR [--output VAR] [--passwd VAR]

Decodes and extracts an embed-file from an image

Optional arguments:
  -h, --help   	shows help message and exits
  -v, --version	prints version information and exits
  -i, --input  	specify the input image. [required]
  -o, --output 	specify the output file. [default: ""]
  -p, --passwd 	specify the encryption password.

Теория работы

Кодирование

Программа работает следующим образом: сначала случайным образом генерируется 128-битная соль пароля и 128-битный вектор инициализации AES путем чтения двоичных данных из /dev/urandom. Затем эта соль пароля используется как параметр при генерации ключа шифрования с помощью PBKDF2-HMAC-SHA-256 на основе введенной пользователем строки. Затем вычисляется хеш CRC32 встраиваемого файла, который сохраняется в заголовке для проверки целостности данных. После этого двоичные данные встраиваемого файла дополняются с помощью алгоритма PKCS #7, а затем как заголовок, так и дополненные данные шифруются с помощью AES-256 в режиме CBC с использованием ранее сгенерированного вектора инициализации. Затем данные фактически кодируются внутри изображения: сначала выбирается случайное смещение, а затем каждый бит данных последовательно сохраняется в пиксельных данных изображения путем установки наименьшего значащего бита каждого байта канала каждого пикселя.

Декодирование

Процесс декодирования работает точно так же, как и процесс кодирования, описанный выше, только в обратном порядке. Единственное отличие заключается в том, что при декодировании после попытки извлечения и расшифровки данных программа сравнивает некоторую информацию из заголовка, чтобы проверить корректность извлечения. Сравниваемые поля заголовка: 4-байтовая сигнатура файла, уникальная для этой программы, и хеш CRC32 расшифрованных данных. Если хотя бы одно из этих полей не соответствует правильным значениям, процесс расшифровки завершится ошибкой. Это может произойти только в том случае, если файл, который вы пытаетесь расшифровать, на самом деле не содержит встроенных данных, если введен неверный пароль или если файл изображения каким-либо образом поврежден.

Обнаружение

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

Отказ от ответственности

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

Авторские права

Это программное обеспечение лицензировано по лицензии MIT. Copyright © 2022 Zach Collins

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