Атакуем DHCP часть 4. DHCP + ARP + Apple = MiTM

в 13:13, , рубрики: apple, arp, dhcp, mitm, Сетевые технологии

LOGO

В данной статье я расскажу о том, как осуществить MiTM любого устройства компании Apple в проводной или беспроводной сети. Прежде чем читать эту статью настоятельно рекомендую ознакомиться с первой, второй и третьей частями.

Ограничение всего одно: у нас должна быть возможность прослушивать широковещательный трафик в сети для того, чтобы перехватывать широковещательные DHCP-запросы.

Если это беспроводная сеть, то мы должны быть к ней подключены.

Я уже не раз говорил о выявлении конфликта IPv4 адресов в локальной сети. Для этого используется протокол ARP и происходит это сразу после того, как хост получил IP-адрес.

Чтобы выявить конфликт IP-адресов хост отправляет несколько широковещательных ARP-запроса сразу после того, как получил IP-адрес:

1. Хост с MAC-адресом 98:01:a7:e2:9a:a9 получает IP-адрес 192.168.0.4 по протоколу DHCP:

DHCP

2. Хост отправляет широковещательные ARP-запросы чтобы выявить конфликт IP-адресов, при этом в Sender MAC address выставляет свой MAC-адрес: 98:01:a7:e2:9a:a9, в поле Target IP address — полученный IP-адрес 192.168.0.4:

Address conflict detection

Если в сети нет хостов с IP-адресом 192.168.0.4 то ответ не придет, но если есть — придет такой ответ:

Duplicate IP detected

Как вы видите после этого ответа хост отправляет широковещательное сообщение отказа DHCP — DHCPDECLINE, после чего процедура получения IP-адреса повторяется с самого начала.

Большинство операционных систем не реагируют на такие ARP-ответы после того, как уже получили IP-адрес, но не MacOS и iOS!

Поэтому, для того чтобы инициировать получение IP-адреса на операционных системах MacOS и iOS достаточно отправить пару таких ARP-ответов. А во время получения IP-адреса мы можем вмешаться в этот процесс и заменить IP-адреса шлюза и DNS-сервера на свой IP!

Видео проведения атаки на примере MacOS:

Автор: vladimir-ivanov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js