Иллюстрированный самоучитель по Secure Web


Пассивное исследование стека - часть 2


[shadow]# telnet 192.168.1.11

С помощью нашей любимой утилиты snort можно частично просмотреть пакеты, передаваемые в процессе сетевого взаимодействия.

06/04-11:23:48.297976 192.168.1.11:23 -> 192.168.1.10:2295

TCP TTL:255 TOS:OxO 10:58934 DF

**S***A* Seq: OxD3B709A4 Ack: OxBE09B2B7 Win: 0x2798

TCP Options => NOP NOP TS: 9688775 9682347 NOP WS: 0 MSS: 1460

При этом видно, что упоминавшиеся выше атрибуты принимают следующие значения:

  •  TTL= 255
  •  Размер окна = 2798
  •  Бит DF = Yes A TOS = 0

Теперь обратимся к базе данных утилиты siphon — файлу osprints.conf: 

[shadow]f grep -i Solaris osprints.conf

# Window:TTL:DF:Operating System DF = 1 for ON, 0 for OFF.

2328:255:l:Solaris 2.6 - 2.7

2238:255:l:Solaris 2.6 - 2.7

2400:255:l:Solaris 2.6 - 2.7

2798:255:l:Solaris 2.6 - 2.7

FE88:255:l:Solaris 2.6 - 2.7

87CO:255:l:Solaris 2.6 - 2.7

FAFO:255:0:Solaris 2.6 - 2.7

FFFF:255:1:Solaris 2.6-2.7

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

[crush]# siphon -v -i xl0 -о fingerprint.out

Running on: 'crush' running FreeBSD 4.0-RELEASE on a(n) i386

Using Device: xlO

Host Port . TTL DF Operating System 192.168.1.11 23 255 ON Solaris 2.6 - 2.7

Итак, в качестве удаленной была определена система Solaris 2.6. И это .не вызвало особых проблем.

Пассивное исследование стека взломщик может использовать для выбора потенциальных жертв. Для этого достаточно понаблюдать за соответствующим Web-узлом и проанализировать сетевой трафик либо воспользоваться утилитой siphon. Несмотря на то что описанный метод является достаточно эффективным, он все же имеет некоторые ограничения. Во-первых, в приложениях, генерирующих свои собственные пакеты (например, шпар), не применяются те же признаки, что и самой операционной системой. Поэтому полученные результаты могут оказаться неточными. Во-вторых, на удаленном узле можно без проблем изменить атрибуты соединения. 

Solaris: ndd -set /dev/ip ip_def_ttl 'число'

Linux: echo 'число' > /proc/sys/net/ipv4/ip_default_ttl

NT:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Services\Tcpip\Parameters

Контрмеры: защита от пассивного определения операционной системы


Для защиты от пассивного определения операционной системы можно использовать приемы, описанные в разделе "Контрмеры: Защита От Определения Операционной Системы".





Начало  Назад  Вперед



Книжный магазин