- PVSM.RU - https://www.pvsm.ru -
«ARP‑Spoofing», или же «Отравление ARP‑кеша» — это тип кибератаки уровня L2, чья работоспособность до сих пор держится лишь на огромной дыре в безопасности Address Resolution Protocol. Основная суть данной атаки — испортить ARP‑кеш устройства путём рассылки пакетов с поддельными данными в своей подсети. В этой статье я по шагам покажу весь процесс атаки типа MITM (Man In The Middle) на своих домашних устройствах, а также расскажу как от неё защититься.
ARP (Address Resolution Protocol) — протокол, с помощью которого устройства запрашивают MAC‑адреса других устройств с искомым IP‑адресом. Компьютер отправляет ARP‑запрос, который содержит в себе его MAC и IP адреса, а также конечный IP адрес, на широковещательный канал. Если в сети присутствует искомое устройство, оно отправляет ответный пакет, в котором содержатся всё те же данные. Получив ответ, компьютер записывает ответ в кеш, или же ARP‑таблицу, записи в которой сгорают через некоторое время.
Представим следующую схему:
На её основе будет произведена пробная атака, описанная дальше. В основном, список действий при атаке состоит из следующих действий:
Рассылка поддельных ARP‑ответов устройству жертвы
Рассылка поддельных ARP‑ответов маршрутизатору
Пересылка пакетов через себя
Машина атакующего становится транзитной точкой между устройством жертвы и маршрутизатором. При этом, злоумышленник имеет возможность просматривать весь трафик с помощью специальных утилит.
Проводить отравление ARP‑кеша я буду со своего ПК (Linux) на стороне (MikroTik). В качестве жертвы будет выступать мой смартфон на базе Android.
После сканирования подсети находим IP и MAC адреса жертвы. Стоит отметить, что для успешной атаки типа MITM, в Linux‑системах необходимо изменить параметр net.ipv4.ip_forward на 1.
В первой сессии терминала начинаем рассылку поддельных ARP‑ответов смартфону.
Во второй сессии терминала начинаем рассылку поддельных ARP‑ответов маршрутизатору.
Вуаля — атака увенчалась успехом. Вывод команды ip arp print показывает привязку IP‑адреса телефона к MAC‑адресу атакующего компьютера. Давайте подтвердим это путём отладки через Wireshark.
Безусловно, ARP‑Spoofing позволяет просматривать чужие пакеты насквозь, но стоит ли оно того? Даже с помощью Wireshark вы не сможете подслушать ни одно HTTPS‑соединение, ни одну SFTP‑сессию. Легче перечислить возможные уязвимости, с которыми эта атака будет эффективна, нежели наоборот. Несмотря на это, всё же нельзя недооценивать отравление ARP‑кеша. Хоть тело запроса HTTPS и не вытащить, зато очень хорошо видны все метаданные, а с помощью подключения других методов атаки, таких как SSLstrip, или другие, можно полностью просматривать весь трафик. Так как же защититься от столь примитивной, но от того не менее опасной кибератаки?
Способы защиты можно разделить на две категории: со стороны конечных устройств и со стороны сетевого оборудования.
Самое надёжное, и в то же время простое решение — создать статическую ARP‑запись к маршрутизатору. Например в Windows это делается с помощью одной команды — netsh -c i i add neighbors "Ethernet" 123.123.123.123 AA-BB-CC-DD-EE-FF. В Linux‑системах это можно осуществить через добавления команды sudo ip neigh add 123.123.123.123 lladdr AA:BB:CC:DD:EE:FF dev eth0 nud permanent в /etc/rc.local.
Теперь всё становится немного интереснее. Здесь можно выделить три основных способа защиты: создание статических записей с включённым reply-only на интерфейсе, периодическая рассылка ARP‑запросов на широковещательный канал и DAI. Рассмотрим каждый пункт:
Процесс показан на примере роутера MikroTik. Достаточно лишь найти существующую ARP‑запись в WEB‑интерфейсе и нажать Make Static
Или же прописать /ip arp add address=123.123.123.123 mac-address=AA:BB:CC:DD:EE:FF interface=bridge-LAN, если работа идёт через CLI. Вместе с этим также можно изменить параметры интерфейса, принимая ARP‑запросы только от уже имеющихся устройств в кэше. Пример команды: /interface bridge set bridge-LAN arp=reply-only.
Этот способ не столь безопасен, как предыдущий, но довольно прост в настройке. Суть заключается в том, чтобы генерировать ARP‑запросы через traffic-generator, периодически обновляя таблицу подключённых устройств. Этот способ предотвращает долгосрочные перехваты трафика, но не устраняет атаку полностью. Команду можно обернуть в скрипт и настроить запуск через Schedule.
DAI (Dynamic ARP Inspection) — функция безопасности в коммутаторах, являющаяся стандартом безопасности сетей уровня больших корпораций. Его основная задача — предотвращать ARP‑спуфинг путём проверки всех ARP‑пакетов, проходящих через коммутатор, на соответствие с заранее собранной базой доверенных привязок IP‑MAC. DAI не является самостоятельной функцией, ведь она тесно связана с DHCP‑Snooping и использует его таблицу привязок для сверки. Основная проверка содержит в себе несколько этапов:
DAI перехватывает все ARP‑запросы и ARP‑ответы на недоверенных портах коммутатора
Сверка с базой привязок. Кроме сопоставления IP‑MAC, DAI может выполнять дополнительные проверки целостности заголовков ARP (src‑mac, dst‑mac, ip и так далее)
Если привязка не совпадает или пакет пришёл с недоверенного порта без подтверждённых данных, DAI отбрасывает такой ARP‑запрос и, при настроенном логировании, заносит событие в журнал. Это полностью блокирует попытки подмены адресов.
Подводя итог, можно утверждать: ARP‑Spoofing — это та уязвимость, которую проще предотвратить, чем обнаружить. Выстроив защиту из статических записей и функций коммутатора, вы лишаете атакующего самой возможности встать в разрыв, а значит, сохраняете конфиденциальность своих данных.
Все действия, описанные в данной статье, демонстрируются исключительно в образовательных целях, на собственном оборудовании автора. Проведение подобных кибератак в иных сетях без явного разрешения владельца является незаконным. Материал несёт лишь образовательный характер.
Автор: dotdfs
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/456410
Ссылки в тексте:
[1] Источник: https://habr.com/ru/articles/1069394/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1069394
Нажмите здесь для печати.