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

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

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

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

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

Категории

Все категории
Loading categories
Steganography — Стеганография наименьшего значащего бита для растровых изображений (.bmp и .png), звуковых файлов WAV и последовательностей байтов. Простой LSB-стеганализ (извлечение LSB) для растровых изображений. | Kitploit
Инструменты/GitHubGitHub/ragibson/steganography
ФорензикаСтеганографияКриптографияCTFОбучение и Образование
GitHubragibson/steganography

Steganography

Стеганография наименьшего значащего бита для растровых изображений (.bmp и .png), звуковых файлов WAV и последовательностей байтов. Простой LSB-стеганализ (извлечение LSB) для растровых изображений.

Репозиторий
65610510 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

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

Иллюстрация стеганографии

Содержание

  • Установка
  • Манипуляция байтовыми последовательностями
  • WavSteg
  • LSBSteg
  • StegDetect

Если вы не знакомы с методами стеганографии, я также написал базовый обзор этой области в статье Steganography: Hiding Data Inside Data.

Установка

Этот проект доступен на PyPI и может быть установлен с помощью

root@kitploit:~
pip install stego-lsb

В качестве альтернативы, вы можете установить его напрямую из этого репозитория:

root@kitploit:~
git clone https://github.com/ragibson/Steganography
cd Steganography
python3 setup.py install

После установки используйте команду stegolsb в терминале или импортируйте функции из stego_lsb в свой код.

Манипуляция байтовыми последовательностями

bit_manipulation предоставляет возможность (быстро) перемежать байты полезной нагрузки непосредственно в наименее значимые биты байтовой последовательности-носителя.

В частности, он содержит четыре основные функции:

root@kitploit:~
# Interleave the bytes of payload into the num_lsb LSBs of carrier.
lsb_interleave_bytes(carrier, payload, num_lsb, truncate=False)

# Deinterleave num_bits bits from the num_lsb LSBs of carrier.
lsb_deinterleave_bytes(carrier, num_bits, num_lsb)

# Runs lsb_interleave_bytes with a List[uint8] carrier.
lsb_interleave_list(carrier, payload, num_lsb)

# Runs lsb_deinterleave_bytes with a List[uint8] carrier.
lsb_deinterleave_list(carrier, num_bits, num_lsb)

Запуск bit_manipulation.py, непосредственный вызов его функции test() или выполнение stegolsb test должны выдать вывод, похожий на следующий:

root@kitploit:~
Testing 1.0 MB payload -> 10.0 MB carrier...
Progress: [################################]
----------------------------------------
| # LSBs | Encode Rate  | Decode rate  |
| 1      | 60.6   MB/s  | 95.9   MB/s  |
| 2      | 56.6   MB/s  | 52.7   MB/s  |
| 3      | 82.5   MB/s  | 77.4   MB/s  |
| 4      | 112.4  MB/s  | 105.9  MB/s  |
| 5      | 135.9  MB/s  | 129.8  MB/s  |
| 6      | 159.9  MB/s  | 152.4  MB/s  |
| 7      | 181.7  MB/s  | 174.6  MB/s  |
| 8      | 372.8  MB/s  | 1121.8 MB/s  |
----------------------------------------

WavSteg

WavSteg использует стеганографию наименьшего значащего бита для сокрытия файла в отсчётах .wav файла.

Для каждого отсчёта в аудиофайле мы перезаписываем наименее значимые биты данными из нашего файла.

Как использовать

WavSteg требует Python 3

Запустите WavSteg со следующими аргументами командной строки:

root@kitploit:~
Command Line Arguments:
 -h, --hide               To hide data in a sound file
 -r, --recover            To recover data from a sound file
 -i, --input TEXT         Path to a .wav file
 -s, --secret TEXT        Path to a file to hide in the sound file
 -o, --output TEXT        Path to an output file
 -n, --lsb-count INTEGER  How many LSBs to use  [default: 2]
 -b, --bytes INTEGER      How many bytes to recover from the sound file
 --help                   Show this message and exit.

Пример:

root@kitploit:~
$ stegolsb wavsteg -h -i sound.wav -s file.txt -o sound_steg.wav -n 1
# OR
$ stegolsb wavsteg -r -i sound_steg.wav -o output.txt -n 1 -b 1000

Сокрытие данных

Для сокрытия данных используются аргументы -h, -i, -s, -o и -n.

Следующая команда скроет содержимое file.txt в sound.wav и сохранит результат как sound_steg.wav. Команда также выводит, сколько байтов было использовано из теоретического максимума.

Пример:

root@kitploit:~
$ stegolsb wavsteg -h -i sound.wav -s file.txt -o sound_steg.wav -n 2
Using 2 LSBs, we can hide 6551441 bytes
Files read                     in 0.01s
5589889 bytes hidden           in 0.24s
Output wav written             in 0.03s

Если вы попытаетесь скрыть слишком много данных, WavSteg выведет минимальное количество LSB, необходимое для сокрытия ваших данных.

Восстановление данных

Для восстановления данных используются аргументы -r, -i, -o, -n и -b

Следующая команда восстановит скрытые данные из sound_steg.wav и сохранит их как output.txt. Для этого требуется точный размер скрытых данных в байтах, иначе результат может быть слишком коротким или содержать посторонние данные.

Пример:

root@kitploit:~
$ stegolsb wavsteg -r -i sound_steg.wav -o output.txt -n 2 -b 5589889
Files read                     in 0.02s
Recovered 5589889 bytes        in 0.18s
Written output file            in 0.00s

LSBSteg

LSBSteg использует стеганографию наименьшего значащего бита для сокрытия файла в цветовой информации RGB-изображения (.bmp или .png).

Для каждого цветового канала (например, R, G и B) в каждом пикселе изображения мы перезаписываем наименее значимые биты цветового значения данными из нашего файла. Чтобы упростить восстановление этих данных, мы также скрываем размер файла во входном файле в первых нескольких цветовых каналах изображения.

Как использовать

Вам понадобится Python 3 и Pillow, форк Python Imaging Library (PIL).

Запустите LSBSteg со следующими аргументами командной строки:

root@kitploit:~
Command Line Arguments:
 -h, --hide                      To hide data in an image file
 -r, --recover                   To recover data from an image file
 -a, --analyze                   Print how much data can be hidden within an image   [default: False]
 -i, --input TEXT                Path to an bitmap (.bmp or .png) image
 -s, --secret TEXT               Path to a file to hide in the image
 -o, --output TEXT               Path to an output file
 -n, --lsb-count INTEGER         How many LSBs to use  [default: 2]
 -c, --compression INTEGER RANGE
                                 1 (best speed) to 9 (smallest file size)  [default: 1]
 --help                          Show this message and exit.

Пример:

root@kitploit:~
$ stegolsb steglsb -a -i input_image.png -s input_file.zip -n 2
# OR
$ stegolsb steglsb -h -i input_image.png -s input_file.zip -o steg.png -n 2 -c 1
# OR
$ stegolsb steglsb -r -i steg.png -o output_file.zip -n 2

Анализ

Перед сокрытием данных в изображении может быть полезно узнать, сколько данных можно скрыть. Следующая команда сделает это, выводя результат, похожий на:

root@kitploit:~
$ stegolsb steglsb -a -i input_image.png -s input_file.zip -n 2
Image resolution: (2000, 1100, 3)
Using 2 LSBs, we can hide:     1650000 B
Size of input file:            1566763 B
File size tag:                 3 B

Сокрытие данных

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

root@kitploit:~
$ stegolsb steglsb -h -i input_image.png -s input_file.zip -o steg.png -n 2 -c 1
Files read                     in 0.26s
1566763 bytes hidden           in 0.31s
Image overwritten              in 0.27s

Восстановление данных

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

root@kitploit:~
$ stegolsb steglsb -r -i steg.png -o output_file.zip -n 2
Files read                     in 0.30s
1566763 bytes recovered        in 0.28s
Output file written            in 0.00s

StegDetect

StegDetect предоставляет один метод для обнаружения простой стеганографии в изображениях.

Как использовать

Вам понадобится Python 3 и Pillow, форк Python Imaging Library (PIL).

Запустите StegDetect со следующими аргументами командной строки:

root@kitploit:~
Command Line Arguments:
 -i, --input TEXT         Path to an image
 -n, --lsb-count INTEGER  How many LSBs to display  [default: 2]
 --help                   Show this message and exit.

Отображение наименее значимых битов изображения

Мы суммируем наименее значимые n битов цветовых каналов RGB для каждого пикселя и нормализуем результат до диапазона 0–255. Затем это значение применяется к каждому цветовому каналу пикселя. Где n — количество отображаемых наименее значимых битов, следующая команда сохранит результирующее изображение, добавив к имени файла "_nLSBs", и выведет результат, похожий на следующий:

root@kitploit:~
$ stegolsb stegdetect -i input_image.png -n 2
Runtime: 0.63s
Скачать инструмент