Pull to refresh

Стеганография в Linux — просто

Level of difficultyEasy
Reading time3 min
Views10K

Стеганография в стиле мистер Робот :)

Сегодня я хотел бы познакомить читателей Хабра с цифровой стеганографией. В нынешнем примере мы создадим, протестируем, проанализируем и взломаем стегосистемы. Я использую операционную систему Kali GNU/Linux, но кому интересна тема на практике, тот может повторить все то же в любом другом дистрибутиве Линукс.

Но для начала совсем немного теории.

Как сообщает википедия:
Стеганогра́фия — способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи (хранения).
Цифровая стеганография — направление классической стеганографии, основанное на сокрытии или внедрении дополнительной информации в цифровые объекты, вызывая при этом некоторые искажения этих объектов.
Стеганографическая система (стегосистема) — объединение методов и средств, используемых для создания скрытого канала для передачи информации.
Стегоанализ или Стеганоанализ — раздел стеганографии; наука о выявлении факта передачи скрытой информации в анализируемом сообщении.

Приступим к практике

Установим необходимые утлиты:

sudo apt update; apt install stegcracker steghide stegosuite binwalk stegseek

Далее будут примеры работы с утилитами стеганографии, стегоанализа и взлома паролей стегосистемы.

Создадим папку с файлами внутри нее (см скриншот ниже, содержимое папки выводим командой ls).

Создаем стегосистему утилитой steghide (естественно задаем пароль):

steghide embed -cf 1.jpg -ef secret.txt

Перед проверкой обязательно удаляем искомый текстовик secret.txt (rm secret.txt).
Проверяем (естественно вводим пароль):

steghide extract -sf 1.jpg

После использования в папке снова появляется искомый текстовый файл.
После использования в папке снова появляется искомый текстовый файл.

Стегосистема исправна, внутри изображения лежит текстовый файл.

При создании стегоконтейнера мы задали пароль. Теперь поробуем взломать пароль нашего стегохранилища методом брутфорс атаки утилитой Stegcracker:

stegcracker 1.jpg realyBest.txt

В данном случае realyBest.txt - словарь паролей.

Резултат выполнения:

Аналогичный синтаксис и метод атаки имеет и утилита stegseek:

stegseek 1.jpg realyBest.txt

Кстати, словарик паролей лежит вот тутЪ

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

Удалим все лишнее (команда rm file1 file2 ....) и оставим один png рисунок и зип архив. Дело в том что в системах линукс при помощи команды cat возможно слияние нескольких файлов в один. При чем тот файл который в синтаксисе будет стоять первым "поглотит" и остальные файлы. Синтаксис:

cat 3.png secret.zip >> 3.png

В данном случае изображение "поглотило" зип-файл с secret.txt внутри архива, но при этом функционал архива не нарушен. Удалим зип архив командой rm.
Для анализа такого рода стегосистемы можно воспользоваться утилитой binwalk:

binwalk 3.png

На скрине ниже виден вывод, а также что внутри картинки скрыт архив.
Зная что картинка содержит внутри зип, мы можем легко его разархивировать командой:

unzip 3.png

Проверим ls и видим что в директории снова два файла и содержимое архива снова лежит в директории.

Кроме того, в системах линукс есть восхитительная утилита с графическим интерфейсом stegosuite. Пользоваться ей очень просто и приятно.

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

Спасибо за прочтение. До новых встреч.

Tags:
Hubs:
Total votes 12: ↑12 and ↓0+18
Comments5

Articles