====== Отравление ARP ====== **Протокол ARP** используется для разрешения сетевых адресов на физическом уровне (IP - MAC).\\ Как правило у сетевых устройств есть собственный **кэш для хранения сопоставления** ip - mac адресов. Если адреса нет в списке, посылается широковещательный **arp-запрос** ("Who has ... ?"), после успешного соединения адрес **добавляется в кэш**.\\ ==== Работа с кэшем ==== === Windows и Linux === Просмотреть текущее состояние: # arp -a Добавить запись: # arp -s
Удалить запись: # arp -d
==== arping (Linux) ==== Утилита для работы с ARP протоколом.\\ * **-0 (-b)** - отправляет arp-запрос, указывая источник 0.0.0.0 (255..) * **-S** - шлет указанной машине arp, с указанным IP адресом и реальным MAC (итог одинаковые IP с разными MAC) * **-s** - шлет указанной машине arp, с указанным MAC адресом и реальным IP (итог разные IP с одинаковым MAC) * **-U** - отправка не запрошенного ARP себя, (пинг не прошел, а он прошел) * **-P** - как и предыдущий, но ответ вместо запроса (на пробе что то не прошел) * **-T ** - пинг с указанием IP и MAC, пинг проходит только при полном совпадении * **-t** - тоже что и пред. только наоборот ===== Практические упражнения ===== **Команда arping -s ** посылает цели запрос **Who has**, подставляя туда указанный MAC и свой IP, цель отвечает и делает у себя пометку в кэше (IP-MAC отправителя). т.е. стандартная работа ARP протокола, вся фишка в поддельном MAC адресе. (-S ip-addr - аналогично, только подставной адрес)\\ Так же, замечено что подмена происходит на всех доступных устройствах т.е. если записи в локальном кэше у них нет, то она добавится только по прямому запросу, а если запись уже есть, то она обновится, даже если пакет предназначен другой машине (кроме роутера почему то, видимо завит от конфы, а подмена IP (-S), сработал и на роутере).\\ **Простое отравление кэша** на локальной машине, позволило отправлять пакеты с этой машины в "другую сеть" т.е. на другой порт коммутатора, но ответа от подставного адреса не было.\\ В ping-пакете содержится пингуемый ip-адрес с подставным mac-адресом, хотя на роутере есть своя ARP-таблица, правильная, это не повлияло.\\ Обновление кэша на локальной машине происходит видимо принудительно либо при перезагрузке оборудования.\\ **Постоянная подмена IP** **arping *.0.1 -S *.0.12**- поддельная и реальная машины **на разных портах** коммутатора, после отравления, в таблице роутера **2 одинаковых IP** с разными MAC.\\ После отравления, трафик начал ходить по обоим портам, но отравленной машине доходит мало ответов, на порту с отравленной машиной вижу запросы от нее, но ответы в основном уходят на другой порт, там где подставная машина, т.к. в роутере пакеты не дублируются для каждого порта, поэтому перехваченные пакеты не доходят до реального получателя.