Обнаружение сетевых узлов

Стандартным способом обнаружения сетевых узлов при заданном диа- пазоне IP-адресов является применение утилиты Ping, которая входит в состав практически любой ОС. Такой способ обнаружения активных сетевых узлов

называется Ping-разведкой (Ping sweep). Утилита Ping использует протокол ICMP для проверки доступности сетевого узла: на исследуемый сетевой узел посылается ICMP-запрос (тип 8), в случае доступности сетевого узла будет получен ICMP-ответ (тип 0). Существует большое количество утилит, кото- рые позволяют ускорить и автоматизировать этот процесс, например fping, hping3 и IP-Tools.

Сканирование подсети можно выполнять с помощью утилиты fping, ис-

пользуя команду:

fping -g 192.168.10.0 192.168.10.254

2>/dev/null | grep ‘is alive’

где ключ -g   позволяет указать список тестируемых узлов. Использование

2>/dev/null позволяет не выводить на экран служебные сообщения утили- ты fping. Дополнительная обработка утилитой grep (поиск текста с использо- ванием регулярных выражений Perl) позволяет вывести на консоль только доступные сетевые узлы, так как будут выведены только строки, содержащие подстроку «is alive»:

192.168.10.1

is

alive

192.168.10.2

is

alive

192.168.10.3

is

alive

192.168.10.4

is

alive

192.168.10.5

is

alive

В приведенном примере в результате выполнения команды fping, запу- щенной со станции сканирования Linux, получены сведения о том, что в за- данном диапазоне адресов тестировались все возможные адреса узлов сети

192.168.10.0/24,  и   среди   них   только   узлы   с   адресами   192.168.10.1,…,

192.168.10.5 присутствуют в сети и отвечают на запросы.

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

Кроме Ping-разведки существуют другие методы получения списка се-

тевых узлов. Рассмотрим некоторые из них более подробно.

Использование  широковещательной  посылки  ICMP-запроса.  Данный метод заключается в использовании широковещательных адресов назначения

при осуществлении Ping-разведки. Протокол ICMP предполагает, что при по- лучении пакета, содержащего ICMP-запрос с широковещательным адресом назначения, требуется ответ. Однако, в соответствии с RFC 1122, на приходя- щий ICMP-пакет с широковещательным адресом назначения можно не реаги-

ровать, что и делают многие современные ОС в целях безопасности.

Для использования этого метода можно воспользоваться стандартной утилитой ping (в ОС Linux необходимо дополнительно использовать ключ -b) Пример широковещательной посылки ICMP-запроса:

[bvv@srv181 bvv]$ ping -b 10.110.18.255

WARNING: pinging broadcast address

PING 10.110.18.255 (10.110.18.255) 56(84) bytes of data.

64 bytes from 10.110.18.2: icmp_seq=0 ttl=64 time=0.025 ms

64 bytes from 10.110.18.10: icmp_seq=0 ttl=255 time=0.355 ms (DUP!)

64 bytes from 10.110.18.11: icmp_seq=0 ttl=255 time=0.440 ms (DUP!)

64 bytes from 10.110.18.1: icmp_seq=0 ttl=255 time=0.904 ms (DUP!)

64 bytes from 10.110.18.9: icmp_seq=0 ttl=64 time=0.960 ms (DUP!)

64 bytes from 10.110.18.239: icmp_seq=0 ttl=255 time=0.991 ms (DUP!)

64 bytes from 10.110.18.3: icmp_seq=0 ttl=255 time=1.33 ms (DUP!)

— 10.110.18.255 ping statistics —

1 packets transmitted, 1 received, +6 duplicates, 0% packet loss,

time 0ms

rtt min/avg/max/mdev = 0.025/0.716/1.337/0.420 ms, pipe 2

В   приведенном   примере   показано,   что   при   сканировании   сети

10.110.18.0/24 широковещательными ICMP-сообщениями ответы были полу-

чены от семи узлов. Следовательно, эти узлы присутствуют в сети. Кроме то-

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

Применение ICMP-пакетов, отличных от ECHO-запросов.  Данный ме- тод заключается также в использовании протокола ICMP, но применяются не ECHO-запросы, а иные типы пакетов (например, тип 13 — TIMESTAMP или

17 — ADDRESS MASK REQUEST). ICMP-пакет TIMESTAMP позволяет за- прашивать метку  системного времени удаленной системы. Запрос и  ответ ADDRESS MASK предназначен для получения сетевой маски бездисковыми

системами (тонкими клиентами) в процессе загрузки. Данный тип запроса может быть использован для получения сетевой маски конкретного устройст- ва. Метод обнаружения сетевых узлов может быть реализован, например, с помощью утилиты icmpush. Запуск утилиты icmpush с ключом -tstamp позво-

ляет послать на выбранный сетевой узел ICMP-сообщение TIMESTAMP.

v-3:/home/bvv# icmpush -tstamp server.alpha.local

server.alpha.local -> 21:58:52

Из приведенного примера видно, что сетевой узел «server.alpha.local» доступен, кроме того, можно определить время, которое показывают систем- ные часы на удаленной системе. При недоступности сетевого узла или при от- ключенной на удаленном узле функции ответа на запросы TIMESTAMP ути- лита icmpush ответ не возвращает.

Использование многоадресных рассылок IP-пакетов (IP Multicast). Мно- гоадресные рассылки представляют собой технологию доставки трафика не- скольким потребителям с экономией полосы пропускания. Существует ряд

множественных адресов, на которые по умолчанию должны отвечать сетевые узлы,  которые поддерживают многоадресные рассылки. Среди  них    адрес

224.0.0.1 — все системы в текущей подсети, 224.0.0.2 — все маршрутизаторы в  текущей подсети. Другие интересные множественные адреса можно найти по адресу «http://www.iana.org/assignments/multicast-addresses».

Метод можно применить с помощью команды Ping.

[bvv@srv181 bvv]$ ping 224.0.0.1

PING 224.0.0.1 (224.0.0.1) 56(84) bytes of data.

64 bytes from 10.101.18.2: icmp_seq=0 ttl=64 time=0.031 ms

64 bytes from 10.101.18.241: icmp_seq=0 ttl=64 time=0.113 ms (DUP!)

64 bytes from 10.101.18.10: icmp_seq=0 ttl=255 time=0.357 ms (DUP!)

64 bytes from 10.101.18.9: icmp_seq=0 ttl=64 time=1.03 ms (DUP!)

— 224.0.0.1 ping statistics —

1 packets transmitted, 1 received, +3 duplicates, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.031/0.383/1.033/0.394 ms, pipe 2

В приведенном примере показано, что при сканировании сети многоад- ресными ICMP-сообщениями ответы были получены от четырех узлов, при- сутствующих в сети и поддерживающих многоадресные рассылки.

При отсутствии многоадресных адресов в системной таблице маршру-

тизации можно воспользоваться ключом -i утилиты Ping для указания интер-

фейса, с которого будет происходить отправка пакетов.

ARP-разведка. Для обнаружения сетевых узлов, находящихся в одном сетевом сегменте (в одном широковещательном домене), можно использовать

протокол  ARP.  Метод  заключается  в  посылке  ARP-запроса  на  получение

MAС-адреса узла по известному IP-адресу. В случае доступности сетевого уз-

ла будет получен ответ.

Рассмотрим реализацию данного метода на  примере утилиты arping.

Используя команду arping –i eth1 –c 1 192.168.10.1, можно про- верить доступность сетевого узла с IP-адресом 192.168.10.1,  ключ -i  позволя- ет указать сетевой интерфейс для выполнения ARP-запроса, ключ -c опреде- ляет количество посылаемых запросов.

v-3:/home/bvv# arping –i eth1 –c 1 192.168.10.1

ARPING 192.168.10.1

60 bytes from 00:40:05:05:a4:0b (192.168.10.1): index=0

time=66.996 usec

— 192.168.10.1 statistics —

1 packets transmitted, 1 packets received,  0% unanswered

Из результата работы приведенной команды можно сделать вывод, что узел с IP-адресом 192.168.10.1 доступен и MAC-адрес соответствующего ин- терфейса имеет вид 00:40:05:05:a4:0b.

С использованием утилиты tethereal, которая предназначена для пере-

хвата сетевого трафика (здесь термин перехват сетевого трафика понимается как отображение или копирование трафика, проходящего через сетевой ин-

терфейс), можно отследить соответствующую сетевую активность. В примере используется ключ -i для указания сетевого интерфейса, с которого будет происходить перехват трафика. Ключевое слово arp указывает на то, что будут сниматься только данные протокола ARP.

v-3:/home/bvv# tethereal -ieth1 arp 2>/dev/null

0.000000

192.168.10.3->

Broadcast

ARP Who has

192.168.10.1?

Tell 10.0.0.4

0.000249 server.alpha.local -> 192.168.10.3   ARP 192.168.10.1

is at 00:40:05:05:a4:0b

Из  приведенного  примера  видно,  что  с  интерфейса  с  IP-адресом

192.168.10.3 было послано широковещательное ARP-сообщение с целью оп-

ределения  MAC-адреса  узла  192.168.10.1  и  был  получен  ответ  от  узла

server.alpha.local.

Данный метод можно использовать не только при нахождении в одном сегменте с обследуемыми сетевыми узлами, но и при включенной на гранич-

ном маршрутизаторе сетевого сегмента функции proxy-arp.

TCP- и UDP-разведка представляют собой методы, при которых дос-

тупность сетевого узла определяется на основании доступности соответст- вующих TCP- либо UDP-портов. Заметим, что данный метод отличается от сканирования портов, так как достаточно получить любой ответ от любой службы обследуемого сетевого узла.

Для реализации этого метода обнаружения можно воспользоваться ути- литой hping3. Указанная утилита представляет собой многофункциональный сетевой отладчик, и, в частности, может использоваться для реализации опи-

санного метода. Для запуска утилиты воспользуемся командой hping3 -p

81 192.168.10.1 -c 3, ключ -p указывает на номер порта, на который будет послан запрос (по умолчанию используется TCP-порт), ключ -с опреде- ляет количество отправляемых пакетов.

# hping3 -p 81 192.168.10.1 -c 3

HPING 192.168.10.1 (eth0 192.168.10.1): NO FLAGS are set, 40 headers + 0 data bytes

len=46 ip=192.168.10.1 ttl=128 id=17590 sport=81 flags=RA seq=0 win=0 rtt=0.8 ms

len=46 ip=192.168.10.1 ttl=128 id=17591 sport=81 flags=RA seq=1 win=0 rtt=0.5 ms

len=46 ip=192.168.10.1 ttl=128 id=17592 sport=81 flags=RA seq=2

win=0 rtt=0.6 ms

— 192.168.10.1 hping statistic —

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 0.5/0.6/0.8 ms

В приведенном примере в результате выполнения команды hping3 путем посылки TCP-пакета на порт 81 (без установленных флагов) и анализа ответ- ного пакета (установлены флаги RST и ACK) получены сведения о том, что

сетевой узел 192.168.10.1 присутствует в сети. После завершения работы ути- лита hping3 выводит статистику — количество отосланных и полученных па- кетов, а также минимальное, среднее и максимальное время доставки пакетов.

С помощью этой же утилиты можно реализовать описанный метод с ис-

пользованием  протокола  UDP.  Для  этого  можно  использовать  команду

hping3 -2 –n -p 81 192.168.10.1 -c 3, ключ -2 указывает на ис-

пользование протокола UDP, -n отключает разрешение DNS-имени.

192.168.10.1 -c 3

HPING 192.168.10.1 (eth0 192.168.10.1): udp mode set, 28 headers

+ 0 data bytes

ICMP Port Unreachable from ip=192.168.10.1

ICMP Port Unreachable from ip=192.168.10.1

ICMP Port Unreachable from ip=192.168.10.1

— 192.168.10.1 hping statistic —

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max = 0.0/0.0/0.0 ms

В приведенном примере в результате выполнения команды hping3 полу- чены сведения о том, что сетевой узел 192.168.10.1 присутствует в сети. Дан- ная информация была получена путем отсылки UDP-пакета на 81 порт и ана- лиза ответного пакета (было получено ICMP-сообщение «порт не доступен»). Обратите внимание, что если соответствующий UDP-порт будет открыт, то метод функционировать не будет.

Аудитор может получить информацию об имеющихся в сети устройст-

вах из ARP-кэшей серверов и активного сетевого оборудования. Получение этой информации возможно, если аудитор находится в рамках модели «белого ящика». Обычно для этого необходимо выполнить команды arp –a на сер- вере и show arp в консоли активного сетевого устройства (на примере обо- рудования Cisco).

CDP-разведка. Данный метод позволяет обнаружить и получить инфор-

мацию об устройствах, работающих по протоколу CDP (Cisco Discovery Proto- col — протокол обнаружения Cisco) и находящихся в одном сетевом сегменте. Информацию о CDP-узлах можно получать, непосредственно подключаясь к консоли активного сетевого устройства производства фирмы Сisco Systems либо перехватывая CDP-объявления (например, с использованием утилиты cdpr от MonkeyMental.com).

Прослушивание сети. Данный метод заключается в перехвате сетевых пакетов из некоторого сетевого сегмента и в последующем анализе исполь-

зуемых IP-адресов. Для реализации данного метода можно использовать ути-

литу Ethereal.

ВЫПОЛНИТЬ!

3.   Выявите сетевые узлы в локальном сетевом сегменте с использованием:

?    утилиты fping;

?    утилиты ping и широковещательной ICMP-посылки;

?    утилиты icmpush (тип ICMP-пакетов13 и 17);

?    утилиты ping и многоадресной рассылки;

?    утилиты arping;

?    утилиты hping3 и методов TCP- и UDP-разведки;

?    утилиты arp и метода ARP-кэша;

?    утилиты Ethereal и метода прослушивания сети. Напишите сценарий,

выводящий список IP-адресов сетевых узлов, извлеченных из перехваченных с  сетевого интерфейса пакетов (рекомендуется воспользоваться консольным

вариантом утилиты Ethereal – tethereal).

4.   По результатам сделайте вывод о возможности идентификации  сетевых узлов в исследуемой сети различными методами, заполните строку 3 таб-

лицы 8.2.

Источник: Андрончик А. Н., Богданов В. В., Домуховский Н. А., Коллеров А. С., Синадский Н. И., Хорьков Д. А., Щербаков М. Ю., Защита информации в компьютерных сетях. Практический курс

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий