Статья опубликована в рамках: Научного журнала «Студенческий» № 20(316)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11, скачать журнал часть 12, скачать журнал часть 13, скачать журнал часть 14, скачать журнал часть 15, скачать журнал часть 16
УЯЗВИМОСТЬ ЛОКАЛЬНОЙ СЕТИ К ARP-СПУФИНГУ
LOCAL NETWORK VULNERABILITY TO ARP SPOOFING
Yaroslav Medvedev
student, Department of Radiophysics and Infocommunication Technologies, Donetsk state university,
Russian, Donetsk
Margarita Babicheva
scientific supervisor, candidate of Technical Sciences, associate Professor, Donetsk state university,
Russian, Donetsk
АННОТАЦИЯ
В работе анализируются принципы работы протокола ARP, причины его уязвимости, способы проведения атак, их обнаружения и защиты, включая инструменты Bettercap, Wireshark и встроенные утилиты Kali Linux. Практическая часть включает тестовые атаки, анализ трафика и оценку эффективности некоторых защитных технологий, таких как VPN и шифрование. Целью исследования является тестирование локальной сети на уязвимость к ARP-спуфингу и изучение устойчивости современного оборудования к таким атакам.
ABSTRACT
The paper analyzes the ARP protocol principles and its vulnerability causes, attacks methods with their detecting and protecting, using such tools as Bettercap, Wireshark, and Kali Linux embedded utilities. The practical part includes test attacks, traffic analysis, and effectiveness of certain security technologies evaluation as VPN and encryption. The purpose of the study is to test the local network for vulnerability to ARP spoofing and to study the resistance of modern equipment to such attacks.
Ключевые слова: ARP-спуфинг, атака типа "человек посередине", MITM, Bettercap, Scapy.
Keywords: ARP spoofing, man-in-the-middle attack, MITM, Bettercap, Scapy.
Введение. При разработке ARP не было предусмотрено механизмов аутентификации для проверки сообщений, поэтому любое устройство в сети может отвечать на ARP-запросы, даже если оно не является их адресатом. В данной работе изучается механизм ARP-спуфинга, его реализация и последствия, а также методы обнаружения и предотвращения угроз. Основная цель — продемонстрировать опасность этой атаки и оценить устойчивость к ней современного оборудования. Актуальность темы обусловлена тем, что ARP-спуфинг остаётся распространённой угрозой, особенно для компаний с недостаточно защищёнными сетями. Исследование поможет повысить осведомлённость и улучшить защиту данных.
Постановка задачи. Одним из способов исследования защищенности локальной сети является имитация ARP-спуфинга в своей сети для нахождения брешей в системах безопасности. Инструменты для пентеста широко доступны и просты в использовании, поэтому такая стратегия защиты от ARP-атак является эффективной, особенно для изучения и понимания особенностей протокола. Проведение тестовых атак ARP-спуфинга в безопасной среде (с соблюдением законодательства РФ, запрещающего проведение подобных атак на устройства, принадлежащих другим людям, без их согласия), а также исследование методов защиты от данного типа угроз и доступных инструментов для их предотвращения.
Методика эксперимента. Для экспериментов будет использована виртуальная машина Kali Linux, которая будет выступать в роли злоумышленника, и основная машина c Windows 11, представляющая собой жертву атаки. В качестве маршрутизатора используется роутер TP-Link Archer AX50. Первый этап включает проведение ARP-спуфинга, при котором будет выполняться перехват сетевого трафика с использованием Wireshark и утилиты Bettercap. Затем реализуется атака с модификацией запросов - SSL-strip. Её суть заключается в принудительном перенаправлении пользователя на самоподписанные сертификаты, заставляя его перейти с HTTPS на небезопасный протокол HTTP.
ARP-спуфинг. Злоумышленники отправляют жертвам ARP-пакеты, связывающие IP-адреса одних устройств с MAC-адресами других, подконтрольных атакующим. В результате, передаваемые данные могут перехватываться, изменяться или перенаправляться [1]. Все отправленные запросы и полученные ответы компьютера-жертвы (в том числе и введённые пароли и т.д.) будут проходить через компьютер атакующего, как показано на рисунке 1.
Рисунок 1. Логика атаки ARP-спуфинга
Начнём с проверки ARP-таблицы, используя команду arp -a. В результатах можно увидеть IP-адрес основной машины, затем адрес роутера и, наконец, адрес атакующего хоста (рис. 2).
Рисунок 2. ARP таблица
После запуска утилиты Bettercap в терминале появится ссылка, по которой можно перейти в интерфейс [2]. Нас интересует раздел Advanced, где находится модуль arp.spoof. Перед активацией ARP-spoofing необходимо включить функцию net.probe, которая используется для сканирования сети. Доступны два варианта спуфинга: на всю сеть или на конкретное устройство. Выбираем спуфинг на всю сеть и запускаем команду: arp.spoof on. Для проверки результата переходим в консоль и выполняем: arp -a. В ответе видим измененные записи (рис. 3).
Рисунок 3. Результат работы Bettercap с UI
Такого же результата можно добиться, используя скрипт на Python и библиотеку Scapy (рис.4).
Рисунок 4. ARP спуфинг при помощи библиотеки Scapy
Как только МАС адрес роутера изменился на адрес атакующего компьютера весь трафик пойдет через него. Включим Wireshark и перейдем на HTTP-сайт (в данном случае good73.net). В поле ввода логина и пароля и вводим тестовые значения (рис. 5).
Рисунок 5. Вводим аутентификационные данные на сайте
Затем при помощи Wireshark перехватим трафик и отсортируем пакеты, фильтруя их IP-адресу хоста. Найдем нужный пакет и отследим его по HTTP-потоку. В результате увидим перехваченные данные (рис. 6).
Рисунок 6. HTTP пакет с перехваченными аутентификационными данными
Если проводить атаку ARP-спуфинга через терминал, нужно включить модуль net.sniff, чтобы данные сразу отображались без необходимости заглядывать в Wireshark (рис. 7). Сразу делаем вывод для пользователя - ни в коем случае не следует вводить аутентификационные данные на сайтах, работающих по незащищенному протоколу.
Попробуем осуществить подмену сертификатов через ARP-спуфинг, атаку SSL Strip, снижая уровень защиты и обходя протокол HSTS.
Рисунок 7. Атака через терминал
Если есть собственный домен с сертификатами, можно настроить nginx без редиректа на HTTPS. Это сделает уязвимость более наглядной, ведь ошибки в конфигурации случаются часто. Некоторые администраторы не принуждают браузеры к HTTPS, а просто предоставляют plain HTTP-страницу с возможностью перехода на HTTPS.
Зайдем на сайт, например, http://www.gnu.org/ с включенным Wireshark и проверим, по какому порту устанавливает соединение браузер. Сначала происходит обращение к порту 80, а затем - к порту 443 HTTPS (TLS 1.3). Можно предположить, что SSL Strip может сработать. Если все настроено правильно, Bettercap должен сбросить HTTPS и сообщить, что шифрование недоступно. Теперь в виртуальной машине, генерируем сертификаты, которые будут использоваться для перехвата трафика при помощи утилиты openssl:
openssl genrsa -out ca.key 4096
openssl req -new -x509 -key ca.key -out ca.crt -days 365
При генерации в OpenSSL можно указать домен gnu.org, а остальные поля заполнить произвольно. Заходим в Bettercap и выполняем команды для настройки прокси и ARP-спуфинга с целью перехвата HTTPS-трафика (рис. 8). Подменим сертификат. Если всё настроено правильно, Wireshark не понадобится - результат можно проверить прямо в браузере. Если появляется предупреждение о подмене сертификата, значит, атака прошла успешно (рис. 9).
Рисунок 8. Настройка прокси для перехвата HTTPS
Рисунок 9. Предупреждение о подмене сертификата
Можно пойти другим путем: запустить самоподписанный веб-сервер, например, phpMyAdmin. Или поднять nginx и экспериментировать с настройками. Однако заставить пользователя перейти на незащищенный сайт теперь можно только с помощью социальной инженерии.
Обнаружение атаки и защита. Чтобы обнаружить ARP-спуфинг, можно воспользоваться ARP-таблицей, введя команду arp –a и проверить нет ли в сети другого устройства с MAC-адресом роутера. Или провести анализ пакетов при помощи Wireshark. Если внезапно появляется много ARP-пакетов, это как минимум подозрительно. Еще один вариант - можно заметить специфические пакеты (рис. 10), которые тоже могут указывать на атаку.
Рисунок 10. Оповещение, что используется дублированный адрес
Можно использовать специальные инструменты, например, arpwatc, shARP, которые в основном работают под Linux, но есть и для Windows, например, ARP AntiSpoofer или просто отключить возможность автоматического обновления ARP.
Еще одним эффективным методом защиты является использование VPN. Проверим экспериментально на нескольких популярных программах. На виртуальной машине включаем ARP-спуфинг, а на хост-машине активируем PlanetVPN, который работает как отдельная программа или 1clickVPN, работающий как расширение браузера. Видим, что в первом случае в трафике Wireshark нет HTTP-пакетов, а во втором пакеты присутствуют, но скрыты VPN-инкапсуляцией.
Выводы. Проведя атаку ARP-спуфинга и понижение уровня защиты через подмену сертификатов, можно прийти к выводу, что ARP-спуфинг довольно прост в реализации — достаточно находиться в одной локальной сети с жертвой. Однако получение аутентификационных данных пользователя на сайте — задача куда более сложная, поскольку современные механизмы безопасности эффективно защищают от подмены сертификатов и перехвата данных. Обнаружить ARP-спуфинг относительно несложно, но методы защиты от него зависят от уровня сетевой безопасности и конфигурации инфраструктуры. Хотя существуют эффективные способы противодействия, полностью исключить риск атаки без дополнительной защиты бывает непросто.
Список литературы:
- ARP -spoofing в Kali Linux [электронный ресурс] Режим доступа. —URL:https://telegra.ph/ARP-spoofing-v-Kali-Linux-chast-1-12-10 (дата обращения: 25.05.2025).
- Стабильная документация BatterCAP [электронный ресурс] Режим доступа. — URL:https://www.bettercap.org/legacy/index.html (дата обращения: 25.05.2025).
Оставить комментарий