Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
74
Добавлен:
24.02.2016
Размер:
514.56 Кб
Скачать

Запросы icmp

Если говорить о возможностях протокола ICMP для сбора информации о сети, то зондирование с помощью утилиты ping (или, другими словами, с помощью пакетов ECHO, пересылаемых по протоколу ICMP),— это только верхушка айсберга. Просто обмениваясь пакетами ICMP с интересующей вас системой, о ней можно получить любую информацию.

Например, с помощью таких утилит UNIX, как icmpquery (http://packetstorm.security.com/UNIX/scanners/icmpquery.с) или icmpush (http://packetstorm.securify.com/UNIX/scanners/icmpush22.tgz), можно узнать системное время удаленного узла (т.е. часовой пояс, в котором он находится). Для этого нужно отправить по протоколу ICMP сообщение типа 13 (TIMESTAMP). Точно так же, обратившись к определенному устройству с ICMP-запросом типа 17 (ADDRESS MASK REQUEST), можно узнать маску подсети. Знание маски подсети сетевой карты позволяет определить все существующие подсети. Например, используя маску подсети, усилия можно сосредоточить на определенной подсети и избежать необходимости обращения к адресам широковещательной рассылки сообщений. Утилита icmpquery позволяет запрашивать как системное время, так и маску подсети.

icmpquery <query> [-B] [-f fromhost] [-d delay] [-T time] targets.

Здесь параметр query принимает одно из следующих значений:

-t : ICMP-запрос системного времени (по умолчанию) ;

-m : ICMP-запрос маски подсети.

delay — задержка между пакетами в миллисекундах.

targets — список имен или адресов исследуемых узлов.

time - время в секундах, в течение которого следует ожидать отклика. По умолчанию используется значение 5 с.

-В — включение режима широковещательной рассылки. В этом режиме утилита ожидает в течение определенного периода, а затем выводит отчет о поступивших ответах.

Если вы используете модем, установите значения параметров -d и -Т большими, чем установленные по умолчанию.

Например, чтобы с помощью утилиты icmpquery узнать системное время маршрутизатора, воспользуйтесь следующей командой.

[tsunami] icmpquery -t 192.168.1.1

192.168.1.1 : 11:36:19

Запрос на получение маски подсети выглядит следующим образом.

[tsunami] icmpquery -m 192.168.1.1

192.168.1.1 : OxFFFFFFEO

Далеко не все маршрутизаторы/узлы отвечают на ICMP-запросы TIMESTAMP или NETMASK. Поэтому с помощью утилит icmpquery и icmpush на различных узлах можно получить разные результаты.

root@andLinux:~$ icmpush

icmpush v2.2 by Slayer, 1999/02/19

Try 'icmpush -h' to display the help.

vitnos@andLinux:~$ icmpush -h

Usage: icmpush type [options] host

Type:

-du Destination Unreach -echo Echo Request

-info Information Request -mask Address Mask Request

-rta Router Advertisement -rts Router Solicitation

-red Redirect -sq Source Quench

-tstamp Timestamp -tx Time Exceeded

-param Parameter Problem

-v Verbose mode on -vv Debug mode on

-h This help screen -V Program version

Options:

-sp address Spoof host.

-to secs Timeout secs to read the replies.

-n Don't use name resolution.

-lt secs Lifetime secs for an ICMP Router Advertisement.

-gw address Route gateway host for an ICMP Redirect.

-dest address Route destination host for an ICMP Redirect.

-orig address Original host for an ICMP error.

-psrc port Source port (tcp/udp) of ICMP error data.

-pdst port Destination port (tcp/udp) of ICMP error data.

-prot ICMP error data protocol ( tcp | udp | icmp ).

-id ident Identification for an ICMP information message.

-seq seq# Sequence number for an ICMP information message.

-pat pattern Data pattern to send within an ICMP Echo Request.

-gbg bytes|max Number of garbage data bytes to send or maximum(max).

-ptr byte Incorrect byte on an ICMP Parameter Problem.

-c code|num|max ICMP code. See the man page for details.

Контрмеры: защита от ICМР-запросов

Одним из самых лучших методов защиты является блокирование ICМР-запросов тех типов, которые способствуют разглашению информации о сети за ее пределами. Как минимум, на пограничном маршрутизаторе необходимо заблокировать прохождение во внутреннюю сеть пакетов TIMESTAMP (ICMP-сообщение тип 13) и ADDRESS MASK (тип 17). Например, если в качестве пограничного маршрутизатора используется маршрутизатор Cisco, запретите ему отвечать на указанные запросы, добавив следующие строки в список управления доступом.

access-list 101 deny icmp any any 13 ! запрос системного времени access-list 101 deny icmp any any 17 ! запрос маски

Для выявления рассмотренных выше видов деятельности можно также воспользоваться сетевыми системами выявления вторжений (NIDS), например, программой snort (http://www.snort.org/). При выявлении такого типа вторжений будет выведена следующая информация.

[**] PING-ICMP Timestamp [**]

05/29-12:04:40.535502 192.168.1.10 -> 192.168.1.1

ICMP TTL:255 TOS:OxO ID:4321 TIMESTAMP REQUEST

Висновки

В данной лекции мы рассмотрели средства и методы, предназначенные для осуществления ping-зондирования (как с помощью протокола ICMP, так и с помощью TCP). С помощью средств ping-зондирования можно идентифицировать узлы сети, подключенные к Internet, что позволяет сузить область поиска потенциальных целей.

13

Соседние файлы в папке Лекции