Стеганография
Что такое стеганография и с чём её едят: wiki
Кратко для чего это нужно:
Стеганография нужна для сокрытия факта передачи данных, т.е. мы прячем нужную нам информацию в каком-нибудь «мусоре», например фотографиях, рисунках, аудио файлах, видео файлах, документах, текстовых файлах, да хоть в исходниках
Используемые тулзы (все были поставлены из репозитория debian):
steghide - работает с различными типами файлов и поддерживает разнообразные алгоритмы шифрования
stegsnow - прячем текст в текстовых файлах (работает только с текстом)
outguess - прячем текст/файлы.
mat - используется для поиска и удаления метаданных
extract - используется для извлечения метаданных
Для тестов я использовал следующие файлы:
just_image.jpg ← изображение размером 708K
Response plan.doc ← Виндовый документ размером 25K
test ← мелкий текстовый файл размером всего 28 байт
Поддерживаемые режими шифрования:
steghide encinfo encryption algorithms: <algorithm>: <supported modes>... cast-128: cbc cfb ctr ecb ncfb nofb ofb gost: cbc cfb ctr ecb ncfb nofb ofb rijndael-128: cbc cfb ctr ecb ncfb nofb ofb twofish: cbc cfb ctr ecb ncfb nofb ofb arcfour: stream cast-256: cbc cfb ctr ecb ncfb nofb ofb loki97: cbc cfb ctr ecb ncfb nofb ofb rijndael-192: cbc cfb ctr ecb ncfb nofb ofb saferplus: cbc cfb ctr ecb ncfb nofb ofb wake: stream des: cbc cfb ctr ecb ncfb nofb ofb rijndael-256: cbc cfb ctr ecb ncfb nofb ofb serpent: cbc cfb ctr ecb ncfb nofb ofb xtea: cbc cfb ctr ecb ncfb nofb ofb blowfish: cbc cfb ctr ecb ncfb nofb ofb enigma: stream rc2: cbc cfb ctr ecb ncfb nofb ofb tripledes: cbc cfb ctr ecb ncfb nofb ofb
Прячем файл с серкерным сообщением в картинку:
steghide embed -cf just_image.jpg -ef secter.txt Enter passphrase: <вводим пароль, либо нет> Re-Enter passphrase: <ещё раз вводим пароль> embedding "secter.txt" in "just_image.jpg"... done
Извлекаем нашу секретную информацию из файла:
steghide extract -sf just_image.jpg Enter passphrase: <вводим пароль, если он был задан> wrote extracted data to "secter.txt".
Сравнение в размере исходного файла (DOB.jpg) и нашего файла с «вложением»(just_image.jpg)
ll just_image.jpg DOB.jpg 3016284 -rw-r--r-- 1 user user 724735 May 28 09:18 DOB.jpg 3017030 -rw-r--r-- 1 user user 724656 Jun 26 16:12 just_image.jpg
Ещё примеры использования steghide:
steghide embed -z 9 -e rijndael-256 -cf just_image.jpg -ef secter.txt
Используем максимальную компрессию (-z 9)
steghide info just_image.jpg "just_image.jpg": format: jpeg capacity: 40.4 KB Try to get information about embedded data ? (y/n) y Enter passphrase: embedded file "secter.txt": size: 96.0 Byte encrypted: rijndael-256, cbc compressed: yes
Получаем информацию о «вложении»
Сравнить качество оригинала и файла с вложением можно по этим линкам (пароль не использовался):
Весьма примитивная тулза для стеганографии, так как работает только с английским текстом и обычными текстовыми файлами. Так же может использовать только алгоритм ICE в режиме CFB
По этому я не буду заострять внимание на этой проге.
Примеры использования:
stegsnow -p "supa-dupa" -m "secret message" test secret_file.txt Message exceeded available space by approximately 522.22%. An extra 4 lines were added.
Примеры использования:
Прячем
outguess -k "supa-password" -d secret.txt just_image.jpg secret.jpg Reading just_image.jpg.... JPEG compression quality set to 75 Extracting usable bits: 424256 bits Correctable message size: 10845 bits, 2.56% Encoded 'secret.txt': 712 bits, 89 bytes Finding best embedding... 0: 388(52.2%)[54.5%], bias 378(0.97), saved: -4, total: 0.09% 1: 357(48.0%)[50.1%], bias 356(1.00), saved: 0, total: 0.08% 5: 381(51.2%)[53.5%], bias 328(0.86), saved: -3, total: 0.09% 10: 371(49.9%)[52.1%], bias 331(0.89), saved: -1, total: 0.09% 11: 376(50.5%)[52.8%], bias 322(0.86), saved: -2, total: 0.09% 21: 340(45.7%)[47.8%], bias 308(0.91), saved: 2, total: 0.08% 21, 648: Embedding data: 712 in 424256 Bits embedded: 744, changed: 340(45.7%)[47.8%], bias: 308, tot: 421875, skip: 421131 Foiling statistics: corrections: 271, failed: 0, offset: 30.563107 +- 105.784990 Total bits changed: 648 (change 340 + bias 308) Storing bitmap into data... Writing secret.jpg....
Вскрываем:
outguess -k "supa-password" -r secret.jpg mess.txt Reading secret.jpg.... Extracting usable bits: 424256 bits Steg retrieve: seed: 21, len: 89
Так же затрону пару слов о метаданных. Надеюсь ни для кого не является секретом то что в наших фотографиях и документах хранится следующая полезная информация:
extract IMG_0814.JPG Keywords for file IMG_0814.JPG: mimetype - image/jpeg camera make - Canon camera model - Canon PowerShot A720 IS orientation - top, left creation date - 2015:04:24 11:23:15 exposure bias - 0 EV flash - Yes, auto flash bias - 0 EV focal length - 5.8 mm iso speed - 200 iso speed - 100 exposure mode - Easy shooting (Auto) metering mode - Multi-segment macro mode - Off image quality - Superfine white balance - Auto aperture - F2.8 exposure - 1/60 s mimetype - image/jpeg image dimensions - 3264x2448
extract Response\ plan.doc Keywords for file Response plan.doc: mimetype - application/CDFV2-unknown language - Russian creator - Андрей unknown date - 2013-06-03T14:58:00Z title - Отчет о тестировании плана реагирования на инциденты character count - 1107 last saved by - Kirill page count - 1 word count - 194 creation date - 2011-07-05T16:41:00Z editing cycles - 8 mimetype - application/vnd.ms-files created by software - Microsoft Office Word template - Normal line count - 9 paragraph count - 2
В случае с докками, эта информация может быть полезна злоумышленнику. В частности он может узнать логины создателя документа и того кто последний вносил правки + так же каким софтом создавался документ. Как удалить эту инфу:
Удаляем
mat IMG_0814.JPG [*] Cleaning IMG_0814.JPG [+] IMG_0814.JPG cleaned!
Проверяем
extract IMG_0814.JPG Keywords for file IMG_0814.JPG: mimetype - image/jpeg thumbnail - (binary, 86 bytes) mimetype - image/jpeg image dimensions - 3264x2448 image dimensions - 3264x2448 thumbnail - (binary, 22572 bytes) mimetype - image/jpeg unknown - sof-marker=0 video dimensions - 3264x2448 video depth - 24 pixel aspect ratio - 1/1
Поддерживаемые форматы: mat –list
Надеюсь вам понравилось и помните, безопасности мало небывает