...

пятница, 30 августа 2013 г.

Атака канального уровня ARP-spoofing и как защитить коммутатор Cisco

Данная статья не является руководством для кулхацкеров. Все ниже написанное является частью изучения курса Cisco SECURE.

В данном материале я покажу как на практике провести атаку канального уровня на коммутатор Cisco, а также покажу как защитить свою сеть от этого. Для лабораторного стенда я использовал Cisco 881 и Catalyst 3750G.

Наверное все, кто сталкивался хоть немного с сетями знают, что такое протокол ARP.

Вкратце напомню. Протокол ARP используется для преобразования IP-адреса в MAC-адрес. Рассмотрим такую топологию:





Что произойдет, если с хоста H1 пропинговать Gateway? Первым делом будет работать ARP протокол. H1 отправит широковещательный запрос (ARP-request), в котором будут указаны MAC и IP хоста H1 и IP получателя (GATEWAY). Далее GATEWAY получит запрос и видя, что в поле IP получателя содержится его адрес, дописывает к нему свой MAC и отправляет ответ ARP-reply. Хост H1 получает ответ и заносит его в ARP-таблицу.


Как можно перехватить трафик идущий от H1 к GATEWAY? Допустим атакующий (ATTACKER) находится в одном широковещательно домене с GATEWAY и H1. Если атакующий запустит сниффер, к примеру Wireshark, то в сниффере ничего интересного он не увидит, кроме своих броадкастов и прочей служебной информации. Для перехвата трафика можно использовать слабости протокола ARP. Данный протокол не имеет никакой защиты, никакой проверки подлинности запросов. А еще возможна отправка ARP ответов без ARP запросов, это так называемый gratuitous-ARP.

Это как раз то, что нужно. Использовать для атаки будем софт Cain & Abel, но для начала посмотрим ARP-таблицы на хосте H1 и на ATTACKER:


H1 ARP-таблица



ATTACKER ARP-таблица



Далее запускаем Cain&Abel, включаем сниффер и добавляем все хосты из широковещательного домена.



Далее переходим на вкладку ARP, жмем + и выбираем адрес шлюза и хост, с которого будем перехватывать трафик.



Жмем кнопку ARP-poisoning и процесс изменения таблицы ARP на хосте H1 запустился.



Теперь посмотрим, как изменилась ARP-таблица на хосте H1.



Видим подмену MAC-адреса для IP 192.168.1.1


Теперь запустим на хосте H1 putty и попробуем зайти на GATEWAY через небезопасный протокол telnet. Так как протокол telnet передает данные в plain text, то атакующий в сниффере должен будет увидеть всю нужную информацию, то есть логин и пароль. Заходим и вводим логин/пароль и пароль enable.



Теперь на ATTACKER в сниффер, вкладка Passwords. Видно что какую-то информацию отловили



Смотрим эту запись и видим текст такого содержания:



============================================

=== Cain's Telnet sniffer generated file ===

============================================

яы яы яэ яэ


User Access Verification


Username: яы яы яы яы'яэ яы яэ яъ P яряю яъ яряю'яэ яъ XTERMяряы$яю$admin


Password: cisco


Router>eennaa


Password: Cisco



Все. Пароль от телнета перехвачен.


А теперь самое главное. Как защитить свою сеть от таких атак. На помощь нам приходит инструмент Dynamic ARP Inspection (DAI).

DAI предназначен для регулировки ARP-запросов, то есть решает — какие пропускать, а какие отбросить. Грубо говоря, DAI полностью защищает сеть от атаки ARP-spoofing, которая происходит на канальном уровне, благодаря незащищенности протокола ARP.

На коммутаторе Cisco данный инструмент включается для каждого vlan отдельно. В нашем случае, достаточно на коммутаторе SW дать команду:


SW(config)#ip arp inspection vlan 1


Оба хоста и шлюз находятся в vlan 1. В DAI для портов коммутатора есть две настройки: Trusted и Untrusted. По-умолчанию, все порты коммутатора

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


SW(config-if)#ip arp inspection trust


Теперь повторим атаку с самого начала. Пробуем делать ARP-poisoning через Cain&Abel. Атака не проходит и в логах коммутатора появились следующие записи:


18:11:19: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa1/0/1, vlan 1.([50b7.c378.b41a/192.168.1.10/0000.0000.0000/192.168.1.1/18:11:19 UTC Mon Mar 1 1993]) 18:11:19: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/1, vlan 1.([50b7.c378.b41a/192.168.1.10/001d.4641.02b4/192.168.1.1/18:11:19 UTC Mon Mar 1 1993]) 18:11:19: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/13, vlan 1.([e803.9abe.0cd8/192.168.1.1/50b7.c378.b41a/192.168.1.10/18:11:19 UTC Mon Mar 1 1993]) 18:11:19: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/13, vlan 1.([e803.9abe.0cd8/192.168.1.10/001d.4641.02b4/192.168.1.1/18:11:19 UTC Mon Mar 1 1993]) 18:11:21: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/1, vlan 1.([50b7.c378.b41a/192.168.1.10/001d.4641.02b4/192.168.1.1/18:11:21 UTC Mon Mar 1 1993]) 18:11:21: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/13, vlan 1.([e803.9abe.0cd8/192.168.1.1/50b7.c378.b41a/192.168.1.10/18:11:21 UTC Mon Mar 1 1993]) 18:11:21: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/13, vlan 1.([e803.9abe.0cd8/192.168.1.10/001d.4641.02b4/192.168.1.1/18:11:21 UTC Mon Mar 1 1993]) 18:11:24: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa1/0/1, vlan 1.([50b7.c378.b41a/192.168.1.10/001d.4641.02b4/192.168.1.1/18:11:24 UTC Mon Mar 1 1993]) 18:11:25: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa1/0/1, vlan 1.([50b7.c378.b41a/192.168.1.10/001d.4641.02b4/192.168.1.1/18:11:25 UTC Mon Mar 1 1993])


Коммутатор отбрасывает «неправильные» arp-запросы. Теперь атакующий ничего не сможет перехватить.

Включим еще дополнительную проверку DAI


SW(config)#errdisable recovery cause arp-inspection


Данная опция позволяет восстановить порт и состояния errdisabled через 300 секунд. Если конечно несоответствие MAC-IP будет на этом порту продолжаться, то порт восстановлен не будет.


Просмотреть trusted и untrusted порты и статистику можно командой


SW#show ip arp inspection interfaces


На этом всё.

Спасибо за внимание.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

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