Предисловие
Благодарности
Введение
Поле битвы

ПРОЕКТ HONEYNET
СИСТЕМА HONEYPOT
СЕТЬ HONEYNET
Назначение Honeynet
Система Honeypot в сети Honeynet
РЕЗЮМЕ

Как работает Honeynet
КОНТРОЛЬ ДАННЫХ
ЗАПИСЬ ДАННЫХ
Уровень контроля доступа
Сетевой уровень
Системный уровень
Автономный уровень
СОЦИОТЕХНИКА
Риск
РЕЗЮМЕ

Создание сети Honeynet
ОБЩАЯ АРХИТЕКТУРА
КОНТРОЛЬ ДАННЫХ
ЗАПИСЬ ДАННЫХ
ПОДДЕРЖАНИЕ HONEYNET И РЕАГИРОВАНИЕ НА АТАКИ
РЕЗЮМЕ

АНАЛИЗ
Анализ данных
РЕГИСТРАЦИОННЫЕ ЖУРНАЛЫ БРАНДМАУЭРА
АНАЛИЗ IDS
СИСТЕМНЫЕ ЖУРНАЛЫ
РЕЗЮМЕ

Анализ взломанной системы
НАПАДЕНИЕ
АНАЛИЗ
Взлом
ПОЛУЧЕНИЕ ДОСТУПА
ВОЗВРАЩЕНИЕ
РЕЗУЛЬТАТЫ АНАЛИЗА
РЕЗЮМЕ

Продвинутый анализ данных
ПАССИВНАЯ ДАКТИЛОСКОПИЯ
Сигнатуры
Пример ICMP
СИСТЕМНОЕ ВСКРЫТИЕ
РЕЗЮМЕ

Практика системного вскрытия
ОБРАЗЫ
ИНСТРУМЕНТЫ THE CORONER'S TOOLKIT
ВРЕМЯ MAC
УДАЛЕННЫЕ СТРУКТУРЫ INODE
ВОССТАНОВЛЕНИЕ ДАННЫХ
РЕЗЮМЕ

УГРОЗА
ТАКТИКА
ИНСТРУМЕНТЫ
Мотивы
МЕНЯЮЩИЕСЯ ТЕНДЕНЦИИ
РЕЗЮМЕ

Червяки на войне
УСТАНОВКА
ПЕРВЫЙ ЧЕРВЯК
ВТОРОЙ ЧЕРВЯК
НА СЛЕДУЮЩИЙ ДЕНЬ
РЕЗЮМЕ

Своими собственными словами
Взлом

Наша ссылка ;)



Продажа земли в крыму.
наклейки: наклейки
бесплатный частный дизайн коттеджа (Белый Куб)


Пример ICMP

Запрос отклика ICMP (ICMP Echo Request) уникален тем, что практически у всех операционных систем имеется такая функциональная возможность. Благодаря этому приложения на основе ICMP столь популярны среди взломщиков. Обычно для создания запроса отклика ICMP используется утилита ping. Можно четко разделить использование ping в системах UNIX и подобных ей системах и применение ping в ОС фирмы Microsoft. Проведем сравнение двух запросов отклика ICMP: один из операционной системы Microsoft, а другой - из Linux.

Запрос отклика ICMP, созданный в Microsoft Windows NT, SP6a:

02/25-15:32:21.192134 192.168.1.100 -> 192.168.1.10
ICMP TTL32 T0S:0x0 ID:6385 IpLen:20 DgmLen:60
Type:8 Code:0 ID:512 Seq:5120 ECHO
61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 abcdefghijklmnop
71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi
02/25-15:32:25.543474 192.168.1.100 -> 192.168.1.10
ICMP TTL:32 T0S:0x0 ID:6897 IpLen:20 DgmLen:60
Type:8 Code:0 ID:512 Seq:5376 ECHO
61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 abcdefghijklmnop
71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi
Запрос отклика ICMP, созданный в системе Linux на основе kernel 2.2.14:
.z.:b 01234567
02/25-15:33:05.537000 192.168.1.9 -> 192.168.1.10 ICMP TTL:64 T0S:0x0 ID:46188 IpLen:20 DgmLen:84 Type:8 Code:0 ID:4106 Seq:O ECHO 0C 7A 99 ЗА 62 13 OF 00 08 09 0A 0B 0C 0D 0E OF 10 11 12 13 14 15 16 17 18 19 1A 1B 1С 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 28 2C 2D 2E 2F 30 31 32 33 34 35 36 37
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
02/25-15:33:06.531894 192.168.1.9 -> 192.168.1.10
ICMP TTL:64 T0S:0x0 ID:46190 IpLen:20 DgmLen:84
Type:8 Code:0 ID:4106 Seq:256 ECHO
0D 7A 99 ЗА 6D FF 0E 00 08 09 0A 0B 0C OD OE OF .z. :m
10 11 12 13 14 15 16 17 18 19 1A IB 1С 1D IE IF
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !"#$%&'()* + ,-./
30 31 32 33 34 35 36 37 ¦ 0123456701234567
Вот некоторые сигнатуры, относящиеся к этим пакетам ICMP:

• ICMP Echo Request datagram size (Размер дейтаграммы запроса от клика ICMP): для операционных систем на базе Microsoft Windows раз мер запроса отклика ICMP, созданного при помощи ping, будет равен 60 байт. Для систем UNIX и подобных ей запрос отклика ICMP, создан ного при помощи ping, будет равен 84 байт;

• ICMP Echo Request data payload content (Полезная нагрузка данных запроса отклика ICMP): данные в запросе отклика ICMP, посланного при помощи утилиты ping из системы на базе Microsoft Windows, бу дут составлены из букв, в то время как ping в системах UNIX и подоб ных ей будет использовать числа и символы;

• ICMP Echo Request timestamp (Время отклика на запрос ICMP): при работе с ping время исчисляется в системе периода кругового обра щения (round-trip time - RTT), то есть указывается, сколько времени понадобилось дейтаграмме, чтобы дойти от первоначального хоста к конечному и обратно. При работе ping в системах UNIX и подобных ей первые 8 байт полезной нагрузки данных представляют собой вре менную метку, что помогает нам вычислить RTT. Если пристально рас смотреть полезную нагрузку данных ping в системе на базе Microsoft Windows, можно обнаружить, что там нет такой временной метки. Со держимое начинается с букв. Тогда где же хранится метка времени при работе с машинами на базе ОС Windows? Вероятно, в памяти;

• ICMP identification number (Идентификационный номер ICMP): опе рационные системы на базе Microsoft Windows используют для этого поля постоянные значения. Значение будет неизменно. Это 256, 512 и 786. В системах UNIX и подобных ей, ICMP ID будет равен ID про цесса, который был присвоен утилите ping при запуске. Это означает, что для UNIX значение будет постоянно меняться;

• ICMP sequence numbers (Номера последовательности ICMP): систе мы UNIX и Windows неуклонно увеличивают номера последователь ности (Seq) на 256. Однако системы UNIX всегда начинают отсчиты вать последовательность с 0, в то время как системы Windows - с номера последовательности, использованного при последней итера ции ping, плюс 256. Например, в предыдущем примере версия ping при работе с Microsoft Windows установила первоначальный номер последовательности 5120, значит, ранее последний номер последовательности был равен 4864. Он будет сброшен до 0 только при перезагрузке системы.

Отдельные взломщики, для того чтобы создать сообщения запроса ICMP или изменить их форму, используют различные виды инструментов ICMP. Мы также можем воспользоваться этой информацией, чтобы определить некоторые из этих инструментов. Например, определить запрос отклика ICMP, созданный не операционной системой, а приложением Hping2. Hping2 - это сетевой инструмент, способный посылать настроенные пользователем IP-пакеты и показывать ответы точно так же, как ping поступает с ответами ICMP. Программа Hping2 использует фрагментацию, произвольный выбор основной части пакета, и его можно применять для передачи файлов через поддерживаемые протоколы.

В данном примере мы создаем запрос отклика ICMP. Однако вместо того, чтобы воспользоваться операционной системой, как в предыдущих случаях с Linux и Windows, мы применим Hping2.

ids #hping2 -1 -с 2 192.168.1.10
echO default routing interface selected (according to /proc)
HPING 192.168.1.100 (echo 192.168.1.100): icpm mode set, 28 headers +
0 data bytes
46 bytes from 192.168.1.100: icmp_seq=0 ttl=128 id=54728 rtt=0.2 ms
46 bytes from 192.168.1.100: icmp_seq=1 ttl=128 id=55496 rtt=0.2 ms
- - - 192.168.1.100 hping statistics - - -
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.2/0.2/0.2 ms
Теперь посмотрим, как Snort записала пакеты запроса отклика ICMP, созданные при помощи Hping2. Обратите внимание на то, что пакет запроса отклика ICMP, созданный этим приложением, отличается от пакетов, созданных другими операционными системами.
02/25-15:42:07.805620 192.168.1.9 -> 192.168.1.10 ICMP TTL:64 T0S:0x0 ID:2256 IpLen:20 Dgml_en:28 Type:8 Code:0 ID:18954 Seq:O ECHO
02/25-15:42:08.802171 192.168.1.9 -> 192.168.1.10 ICMP TTL:64 T0S:0x0 ID:45213 IpLen:20 DgmLen:28 Type:8 Code:0 ID:18954 Seq:256 ECHO

Один примечательный момент заключается в том, что данные, отправленные в запросе отклика ICMP, не были заданы по умолчанию в настройках Hping2. По умолчанию общий размер Echo-generated ICMP дейтаграмм Hping2 всегда будет равен 28 байт. Однако номер ID основывается на ID процесса, аналогично пакетам запроса отклика ICMP, созданным в системах UNIX. Более подробную информацию о декодировании пакетов ICMP можно найти в статье участника нашего проекта Офира Аркина «Identifying ICMP Hackery Tools», размещенной по адресу: http://www.sys-security.com. В приложении G содержится полный список характеристик ICMP.

Имейте в виду, что пассивная дактилоскопия, как и активное выяснение типа системы, имеет свои ограничения. Во-первых, приложения, создающие свои собственные пакеты, такие как Nmap, hunt и teardrop, не будут пользоваться теми же сигнатурами, что и операционная система. Однако эти инструменты зачастую имеют собственные сигнатуры, которые также можно определить (см. пример с Hping2). Во-вторых, взломщик может изменить некоторые настройки системного поведения, тем самым затруднив процесс пассивного анализа. Например, он может изменить значение TTL по умолчанию:

Solaris: ndd -set /dev/ip ip_def_ttl 'number1
Linux: echo 'number' > /proc/sys/net/ipv4/ip_default_ttl
NT: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

Пассивная дактилоскопия - это еще один пример того, как можно получить информацию о противнике, не ставя его об этом в известность. Несмотря на то что ни один тип данных в отдельности не может точно определить тип операционной системы, при сочетании нескольких сигнатур можно примерно установить тип удаленной операционной системы.
Copyright (ЦЕ) Addison-Wesley