Стеганография
Что такое стеганография и с чём её едят: [[https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%B3%D0%B0%D0%BD%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F|wiki]]
Кратко для чего это нужно:\\
Стеганография нужна для сокрытия факта передачи данных, т.е. мы прячем нужную нам информацию в каком-нибудь "мусоре", например фотографиях, рисунках, аудио файлах, видео файлах, документах, текстовых файлах, да хоть в исходниках =)\\
Используемые тулзы (все были поставлены из репозитория debian):\\
**steghide** - работает с различными типами файлов и поддерживает разнообразные алгоритмы шифрования\\
**stegsnow** - прячем текст в текстовых файлах (работает только с текстом)\\
**outguess** - прячем текст/файлы.\\
**mat** - используется для поиска и удаления метаданных\\
**extract** - используется для извлечения метаданных\\
Для тестов я использовал следующие файлы:\\
just_image.jpg <- изображение размером 708K\\
Response plan.doc <- Виндовый документ размером 25K\\
test <- мелкий текстовый файл размером всего 28 байт
===== steghide =====
Поддерживаемые режими шифрования:\\
steghide encinfo
encryption algorithms:
: ...
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
Получаем информацию о "вложении"\\
Сравнить качество оригинала и файла с вложением можно по этим линкам (пароль не использовался):\\
[[https://www.sendspace.com/file/hok1n1|Оригинал]]
[[https://www.sendspace.com/file/vny1mx|Наш файлик с сюрпризом]]
===== stegsnow =====
Весьма примитивная тулза для стеганографии, так как работает только с английским текстом и обычными текстовыми файлами. Так же может использовать только алгоритм [[https://en.wikipedia.org/wiki/ICE_%28cipher%29|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 =====
Примеры использования:\\
Прячем\\
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**\\
Надеюсь вам понравилось и помните, безопасности мало небывает =)