Итак, все инструменты для анализ собраны
- пора приступать к анализу данных. 
Начинать надо, понятное дело, с того, что
может измениться в любой момент, а затем уже
переходить к той информации, которая
находится в относительно неизменном
состоянии.

1. Снять скриншот с экрана, например с
использованием цифровой камеры. Шаг
конечно мало полезный, но все таки - не
повредит :). Это самое простое, а вот что
делать дальше? Любое дальнейшее действие
так или иначе изменит память взломанной
системы, но этим в так или иначе придется
пожертвовать... Необходимо подсоединить
внешний накопитель с программами, а сделать
это можно только используя программы
системы, которые могут быть
скомпрометированы взломщиком. Это ключевой
момент использования подозреваемой
системы, так как дальше можно будет
использовать инструменты, записанные на
диск и которым мы доверяем. Так что
необходимо посмотреть, как например mount
диска изменит общее состояние системы.

# strace /bin/mount /mnt/cdrom

Вот что он делает:

Файл Модификации
/etc/ld.so.cache atime
/lib/tls/libc.so.6 atime
/usr/lib/locale/locale-archive atime
/etc/fstab atime
/etc/mtab* atime, mtime, ctime
/dev/cdrom atime
/bin/mount atime

Можно предположить ситуацию, при которой
хакер модифицирует mount так ,что бы тот
удалял все следы присутствия инородного
пользователя в системе при использовании.
Это конечно тупик и рассматривать его
дальше не имеет смысла. Предположим, что это
не так и продолжим сбор данных смонтировав
CD:

# mount -n /mnt/cdrom

2. Напомню, что все данные стоит посылать на
удаленный хост, для этого используем netcat
(в примере адрес удаленного хоста 192.168.1.100).
Откроем ТСР порт:

(remote host)# nc -l -p 8888 > date_compromised

На взломанной системе:

(compromised host)# /mnt/cdrom/date | /mnt/cdrom/nc 192.168.1.100 8888 -w 3 

Для достоверности считаем контрольные
суммы получаемых данных:

(remote host)# md5sum date_compromised > date_compromised.md5
(compromised host)# /mnt/cdrom/md5sum /etc/fstab | /mnt/cdrom/nc 192.168.1.100 8888 -w 3 

3. Время

(remote)# nc -l -p port > date_compromised
(compromised)# /mnt/cdrom/date -u | /mnt/cdrom/nc (remote) port
(remote)# md5sum date_compromised > date_compromised.md5

4. Таблицы кэша. В первую очередь стоит
взять с взломанной машины кэш, время жизни
которого довольно мало. Соберем данные из
таблиц arp и роутинга:

Mac address cache table:
(remote)# nc -l -p port > arp_compromised
(compromised)# /mnt/cdrom/arp -an | /mnt/cdrom/nc (remote) port
(remote)# md5sum arp_compromised > arp_compromised.md5

Kernel route cache table:
(remote)# nc -l -p port > route_compromised
(compromised) # /mnt/cdrom/route -Cn | /mnt/cdrom/nc (remote) port
(remote)#md5sum route_compromised > route_compromised.md5

5. Текущие соединения и порты. 

(remote)#nc -l -p port > connections_compromised
(compromised)# /mnt/cdrom/netstat -an | /mnt/cdrom/nc (remote) port
(remote)#md5sum connections_compromised > connections_compromised.md5

Можно использовать cat вместо netstat.
Информация об открытых портах хранится в /proc/net/tcp
и /proc/net/udp, а о соединениях в /proc/net/netstat. Вся
информация в шестнадцатеричном формате,
например 0100007F:0401 на самом деле 127.0.0.1:1025. Все
соединения могут быть отслежены так же
анализом трафика в сети. Легкий способ
определить руткит в системе - сравнить
результаты сканирования с внутренними
сведениями об открытых портах, ведь часто
руткиты прячут свои порты. Однако
сканирование в очередной раз изменить
состояние системы, поэтому вероятно лучше к
такому способу не прибегать.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии