Содержание

Отравление ARP

Протокол ARP используется для разрешения сетевых адресов на физическом уровне (IP - MAC).
Как правило у сетевых устройств есть собственный кэш для хранения сопоставления ip - mac адресов. Если адреса нет в списке, посылается широковещательный arp-запрос («Who has … ?»), после успешного соединения адрес добавляется в кэш.

Работа с кэшем

Windows и Linux

Просмотреть текущее состояние:

# arp -a

Добавить запись:

# arp -s <address> <mac>

Удалить запись:

# arp -d <address>

arping (Linux)

Утилита для работы с ARP протоколом.

Практические упражнения

Команда arping <ip цель> -s <mac источник> посылает цели запрос 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.
После отравления, трафик начал ходить по обоим портам, но отравленной машине доходит мало ответов, на порту с отравленной машиной вижу запросы от нее, но ответы в основном уходят на другой порт, там где подставная машина, т.к. в роутере пакеты не дублируются для каждого порта, поэтому перехваченные пакеты не доходят до реального получателя.