В этой статье речь пойдет о таком методе сокрытия данных, как стеганография.
Однажды мой брат попросил меня прислать ему некоторую конфиденциальную информацию. Я решил осуществить это, спрятав нужные данные в почтовом вложении методом стеганографии. Я расскажу как это сделать.
Для начала, из репозиториев установим steghide.
root@wireless-service:~/secrets# cat /etc/issue BackTrack 4 PwnSauce \n \l root@wireless-service:~/secrets# uname -a Linux wireless-service 2.6.30.5 #1 SMP Wed Aug 26 16:47:02 EDT 2009 i686 GNU/Linux root@wireless-service:~/secrets# aptitude install steghide Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done The following NEW packages will be installed: libmcrypt4{a} libmhash2{a} steghide 0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Need to get 384kB of archives. After unpacking 1176kB will be used. Do you want to continue? [Y/n/?] y Writing extended state information... Done Get:1 http://archive.offensive-security.com pwnsauce/universe libmcrypt4 2.5.7-5ubuntu1 [81.2kB] Get:2 http://archive.offensive-security.com pwnsauce/main libmhash2 0.9.9-1 [133kB] Get:3 http://archive.offensive-security.com pwnsauce/universe steghide 0.5.1-9 [170kB] Fetched 384kB in 2s (185kB/s) Selecting previously deselected package libmcrypt4. (Reading database ... 205446 files and directories currently installed.) Unpacking libmcrypt4 (from .../libmcrypt4_2.5.7-5ubuntu1_i386.deb) ... Selecting previously deselected package libmhash2. Unpacking libmhash2 (from .../libmhash2_0.9.9-1_i386.deb) ... Selecting previously deselected package steghide. Unpacking steghide (from .../steghide_0.5.1-9_i386.deb) ... Processing triggers for man-db ... Setting up libmcrypt4 (2.5.7-5ubuntu1) ... Setting up libmhash2 (0.9.9-1) ... Setting up steghide (0.5.1-9) ... Processing triggers for libc6 ... ldconfig deferred processing now taking place Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done Writing extended state information... Done root@wireless-service:~/secrets#
Я возьму файл .jpg и помещу внутрь информацию из .txt файла.
root@wireless-service:~/secrets# ls -l total 72 -rw-r--r-- 1 root root 65140 Oct 29 13:35 pills.jpg -rw-r--r-- 1 root root 1689 Oct 29 13:41 secret.txt root@wireless-service:~/secrets#
Чтобы проверить, сколько полезной информации я могу вставить в данный файл изображения я выполнил следующую команду. Чем больше размер файла, тем больше информации вы можете уместить в него.
root@wireless-service:~/secrets# steghide info pills.jpg "pills.jpg": format: jpeg capacity: 2.3 KB Try to get information about embedded data ? (y/n) n root@wireless-service:~/secrets#
Теперь помещаем нужные данные в файл изображения.
root@wireless-service:~/secrets# steghide embed -cf pills.jpg -ef secret.txt Enter passphrase: Re-Enter passphrase: embedding "secret.txt" in "pills.jpg"... done root@wireless-service:~/secrets# ls -l total 52 -rw-r--r-- 1 root root 46852 Oct 29 13:50 pills.jpg -rw-r--r-- 1 root root 1689 Oct 29 13:41 secret.txt root@wireless-service:~/secrets#
Для декодирования и извлечения данных, достаточно выполнить команды.
root@wireless-service:~/secrets# rm secret.txt root@wireless-service:~/secrets# ls -l total 48 -rw-r--r-- 1 root root 46852 Oct 29 13:50 pills.jpg root@wireless-service:~/secrets# steghide extract -sf pills.jpg Enter passphrase: wrote extracted data to "secret.txt". root@wireless-service:~/secrets# ls -l total 52 -rw-r--r-- 1 root root 46852 Oct 29 13:50 pills.jpg -rw-r--r-- 1 root root 1689 Oct 29 13:51 secret.txt root@wireless-service:~/secrets#
"Лучше один раз увидеть, чем сто раз услышать"
Истрочник:
Перевод: Э_L_A_Y
правильно стеганография.
Упс, :), благодарю, поправил.