Стеганография – обширная тема. В этом руководстве рассматривается только то, как скрыть файлы внутри изображений, что является основной концепцией стеганографии. Пожалуйста, не подумайте, что это все не сможет быть обнарржено экспертами по безопасности. Описанный здесь метод является очень простым, поэтому даже специалист среднего уровня безопасности может легко сломать его за пару часов. Эти шаги, описанные ниже, предназначены исключительно для образовательных целей. Мы не несем ответственности за любое неправильное использование.
Скрыть файлы внутри изображений в Linux
Мы можем скрывать файлы внутри изображений разными способами.
Здесь я покажу 5 методов.
Способ 1
Этот метод не требует никакого дополнительного программного обеспечения.
Достаточно просто базовых знаний о командной строке Linux.
У меня есть один файл изображения с именем image.jpg и каталог с именем sk.
Внутри этой директории есть файл secret.txt, в котором есть конфиденциальное сообщение.
Это файл, который мы собираемся встроить в файл image.jpg.
Вы можете разместить любое количество файлов, которые вы хотите скрыть в этом каталоге.
Затем я собираюсь сжать каталог sk и сохранить его как secret.zip, чтобы сделать его одним файлом.
Наконец, я объединю zip-файл (secret.zip) и файл изображения (image.jpg) с помощью команды cat и сохраню его как ostechnix.jpg.
Проще говоря,
- image.jpg – Случайный файл изображения.
- sk – каталог, содержащий все секретные файлы.
- secret.zip – Архив директории sk.
- ostechnix.jpg – выходной файл изображения, содержащий как secret.zip, так и image.jpg.
Шаг 1: Поместите файл изображения и каталог в папку. Я положил их обоих в папку « Documents».
Шаг 2: Переместите все файлы, которые вы хотите скрыть, в папку «sk». Затем сожмите эту папку и сохраните ее как «secret.zip». Чтобы сжать папку, просто щелкните по ней правой кнопкой мыши и выберите « compress».
$ cd Documents
$ cat image.jpg secret.zip > ostechnix.jpg
Теперь мы спрятали конфиденциальные файлы внутри ostechnix.jpg. Это важный файл. Просто удалите все остальные файлы, кроме ostechnix.jpg.
Файл ostechnix.jpg будет выглядеть как обычный файл изображения, и любой желающий может просмотреть его с помощью любого приложения для просмотра изображений. Но они могут не знать, что в этом файле есть какой-то конфиденциальный файл.
Чтобы просмотреть скрытые файлы внутри файла изображения ostechnix.jpg, просто распакуйте его, используя следующую команду:
$ unzip ostechnix.jpg
или
$ unzip -t ostechnix.jpg
Пример вывода:
Archive: ostechnix.jpg warning [ostechnix.jpg]: 712139 extra bytes at beginning or within zipfile (attempting to process anyway) creating: sk/ inflating: sk/secret.txt
Как видно из вышеприведенного вывода, каталог sk с секретными файлами внутри был извлечен.
Теперь вернитесь в папку и проверьте содержимое. Вы увидите все файлы там.
Недостатком этого метода является то, что мы не можем добавлять пароли в файл изображения.
Не волнуйтесь!
В следующих методах мы можем добавить фразу-пароль к выходным файлам.
Способ 2 – использование Steghide
Steghide – это утилита командной строки, которая помогает нам скрыть конфиденциальные данные внутри изображения или аудиофайла.
Он поддерживает файлы JPEG, BMP, WAV и AU.
Steghide доступен в репозиториях по умолчанию во многих дистрибутивах Linux.
имеет также версию для Windows:
Топ 10 инструментов стеганографии для Windows 10
$ sudo pacman -S steghide
На Debian, Ubuntu:
$ sudo apt install steghide
$ steghide embed -ef secret.txt -cf ostechnix.jpg
Вам будет предложено ввести пароль.
Enter passphrase: Re-Enter passphrase: embedding "secret.txt" in "ostechnix.jpg"... done
В приведенном выше примере я встроил текстовый файл с именем secret.txt в файл изображения с именем ostechnix.jpg.
Теперь вы можете удалить оригинальный файл secret.txt.
Потому что мы просто встроили в файл изображения.
Если вы хотите встроить несколько файлов, поместите их в одну папку и заархивируйте, а затем скройте, как описано выше.
Чтобы извлечь секретный файл из изображения, просто запустите:
$ steghide extract -sf ostechnix.jpg
Enter passphrase: wrote extracted data to "secret.txt".
$ man steghide
Способ 3 – использование Outguess
Outguess – еще один стегнографический инструмент командной строки, позволяющий скрыть конфиденциальные файлы внутри изображения.
В настоящее время он поддерживает форматы изображений PPM, PNM и JPEG.
Чтобы установить его в Debian, Ubuntu и других системах на основе DEB, запустите:
$ sudo apt install outguess
$ outguess -d secret.txt ostechnix.jpg output.jpg
Вывод:
Reading ostechnix.jpg.... JPEG compression quality set to 75 Extracting usable bits: 158203 bits Correctable message size: 77641 bits, 49.08% Encoded 'secret.txt': 160 bits, 20 bytes Finding best embedding... 0: 88(45.8%)[55.0%], bias -17(-0.19), saved: -1, total: 0.06% 1: 90(46.9%)[56.2%], bias -27(-0.30), saved: -1, total: 0.06% 12: 85(44.3%)[53.1%], bias -36(-0.42), saved: 0, total: 0.05% 26: 91(47.4%)[56.9%], bias -45(-0.49), saved: -1, total: 0.06% 174: 87(45.8%)[54.4%], bias -48(-0.55), saved: 0, total: 0.05% 174, 39: Embedding data: 160 in 158203 Bits embedded: 190, changed: 87(45.8%)[54.4%], bias: -48, tot: 158844, skip: 158654 Foiling statistics: corrections: 77, failed: 6, offset: 864.696970 +- 310.577032 Total bits changed: 39 (change 87 + bias -48) Storing bitmap into data... Writing output.jpg....
Вы также можете добавить фразу-пароль в выходной файл, как показано ниже.
$ outguess -k "my secret key" -d secret.txt ostechnix.jpg output.jpg
Замените «my secret keys» своей собственной парольной фразой.
Чтобы извлечь файл, просто выполните:
$ outguess -r output.jpg secret.txt
Пример вывода:
Reading output.jpg.... Extracting usable bits: 158203 bits Steg retrieve: seed: 174, len: 20
$ outguess -k "my secret key" -r output.jpg secret.txt
$ man outguess
Способ 4 – использование Stegosuite
Stegosuite – это графический стеганографический инструмент для скрытия файлов внутри изображений.
Он поддерживает форматы изображений BMP, GIF и JPG.
Чтобы установить его в Debian, Ubuntu и других системах на основе DEB, запустите:
$ sudo apt install stegosuite
Способ 5 – использование Steg
Steg – это простой, кроссплатформенный и графический стеганографический инструмент, написанный на языке программирования C ++.
Это портативное программное обеспечение, поэтому просто скачайте его, носите с собой и начинайте использовать в кратчайшие сроки, независимо от того, какую операционную систему вы используете.
Steg поддерживает форматы изображений JPEG, JPG, TIFF, PNG и BMP.
Он использует методы стеганографии и криптографии, чтобы скрыть данные внутри сжатых или несжатых изображений.
Использование
Нажмите на эту ссылку, чтобы загрузить приложение Steg.
Он доступен как для 32, так и для 64-битных архитектур.
Или просто используйте следующую команду, чтобы загрузить ее в зависимости от используемой вами архитектуры.
Для 64 бит:
$ wget https://googledrive.com/host/0B-_yxJMDtRxyUExLZzZ3S2VDbjQ/steg-v1.0.0.2-linux64.tgz
Для 32:
$ wget https://googledrive.com/host/0B-_yxJMDtRxyRDNGNk1YcXR0UTg/steg-v1.0.0.2-linux32.tgz
$ tar -xvzf steg-v1.0.0.2-linux64.tgz
$ cd steg-v1.0.0.2-linux64/
$ ./steg.sh
Для этого перейдите в File -> Open generic image или Open JPEG image.
После открытия изображения исходное изображение и измененное изображение (выходное изображение) будут показаны на левой и правой панелях соответственно.