Иллюстрированный самоучитель по 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

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

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




    Содержание  Назад  Вперед