Понимание атак «человек посередине» — отравление кэша ARP (часть 1)

Опубликовано: 9 Апреля, 2023

  • Понимание атак «человек посередине» — часть 4: перехват SSL

Введение

Одной из наиболее распространенных сетевых атак, используемых как против отдельных лиц, так и против крупных организаций, являются атаки «человек посередине» (MITM). Считается активной атакой с прослушиванием, MITM работает, устанавливая соединения с компьютерами-жертвами и ретранслируя сообщения между ними. В подобных случаях одна жертва считает, что общается напрямую с другой жертвой, тогда как на самом деле связь проходит через хост, выполняющий атаку. Конечным результатом является то, что атакующий хост может не только перехватывать конфиденциальные данные, но также может вводить и манипулировать потоком данных, чтобы получить дополнительный контроль над своими жертвами.

В этой серии статей мы рассмотрим некоторые из наиболее широко используемых форм атак MITM, включая отравление кэша ARP, спуфинг DNS, перехват сеанса HTTP, передачу хэша и многое другое. Как вы в основном обнаружите в реальном мире, большинство машин-жертв — это хосты на базе Windows. В этом случае эта серия статей будет полностью посвящена MITM-эксплуатации хостов, работающих под управлением версий Windows. Когда это возможно, атаки также будут выполняться с хостов на базе Windows. В тех случаях, когда нет доступных инструментов для представленной атаки, мы будем использовать Backtrack Linux 4, которую можно загрузить в виде live-CD или виртуальной машины отсюда.

Отравление кэша ARP

В первой статье этой серии мы рассмотрим отравление кеша ARP. Одна из старейших форм современной атаки MITM, отравление кеша ARP (иногда также известное как ARP Poison Routing) позволяет злоумышленнику, находящемуся в той же подсети, что и его жертвы, подслушивать весь сетевой трафик между жертвами. Я намеренно выбрал эту атаку в качестве первой для изучения, потому что она является одной из самых простых в исполнении, но считается одной из самых эффективных после реализации злоумышленниками.

Нормальная связь ARP

Протокол ARP был разработан по необходимости для облегчения трансляции адресов между вторым и третьим уровнями модели OSI. Второй уровень, или уровень канала передачи данных, использует MAC-адреса, чтобы аппаратные устройства могли взаимодействовать друг с другом напрямую в небольшом масштабе. Третий уровень, или сетевой уровень, использует IP-адреса (чаще всего) для создания больших масштабируемых сетей, которые могут обмениваться данными по всему миру. Канальный уровень имеет дело непосредственно с устройствами, соединенными вместе, тогда как сетевой уровень имеет дело с устройствами, которые подключены напрямую И косвенно. Каждый уровень имеет свою собственную схему адресации, и они должны работать вместе, чтобы обеспечить сетевое взаимодействие. Именно по этой причине ARP был создан с RFC 826, «Протокол разрешения адресов Ethernet».

Изображение 23581
Рисунок 1: Процесс связи ARP

Суть операции ARP сосредоточена вокруг двух пакетов: запроса ARP и ответа ARP. Целью запроса и ответа является обнаружение аппаратного MAC-адреса, связанного с данным IP-адресом, чтобы трафик мог достичь пункта назначения в сети. Пакет запроса отправляется на каждое устройство в сегменте сети и говорит: «Эй, мой IP-адрес — XX.XX.XX.XX, а мой MAC-адрес — XX:XX:XX:XX:XX:XX. Мне нужно что-то отправить тому, у кого есть IP-адрес XX.XX.XX.XX, но я не знаю, какой у него аппаратный адрес. Тот, у кого есть этот IP-адрес, ответит, пожалуйста, своим MAC-адресом?» Ответ придет в пакете ответа ARP и фактически предоставит этот ответ: «Эй, передающее устройство. Я тот, кого вы ищете, с IP-адресом XX.XX.XX.XX. Мой MAC-адрес XX:XX:XX:XX:XX:XX». Как только это будет завершено, передающее устройство обновит свою таблицу кэша ARP, и устройства смогут взаимодействовать друг с другом.

Отравление кэша

Отравление кэша ARP использует небезопасный характер протокола ARP. В отличие от таких протоколов, как DNS, которые можно настроить на прием только защищенных динамических обновлений, устройства, использующие ARP, будут принимать обновления в любое время. Это означает, что любое устройство может отправить ответный пакет ARP другому хосту и заставить этот хост обновить свой кэш ARP новым значением. Отправка ответа ARP, когда запрос не был сгенерирован, называется отправкой необоснованного ARP. При наличии злонамеренного намерения в результате использования нескольких хорошо размещенных самовольных пакетов ARP, используемых таким образом, узлы могут думать, что они обмениваются данными с одним узлом, но на самом деле общаются с подслушивающим злоумышленником.

Изображение 23582
Рисунок 2: Перехват связи с отравлением кэша ARP

Использование Каина и Авеля

Давайте возьмем данный сценарий и перенесем его из теории в реальность. Существует несколько различных инструментов, которые будут выполнять необходимые действия для отравления кэша ARP на компьютерах-жертвах. Мы будем использовать популярный инструмент безопасности Cain & Abel от Oxid.it. Cain & Abel делает довольно много вещей помимо отравления кеша ARP и является очень полезным инструментом в вашем арсенале. Установка инструмента довольно понятна, поэтому я не буду здесь ее описывать.

Прежде чем начать, вам необходимо собрать некоторую дополнительную информацию. Это включает в себя сетевой интерфейс, который вы хотите использовать для атаки, и два IP-адреса ваших общающихся жертв.

Когда вы впервые откроете Каин и Авель, вы увидите ряд вкладок в верхней части окна. Для наших целей мы будем работать на вкладке Sniffer. Когда вы нажмете на эту вкладку, вы увидите пустую таблицу. Для заполнения этой таблицы вам потребуется активировать встроенный в программу сниффер и просканировать вашу сеть на наличие хостов.

Изображение 23583
Рис. 3. Вкладка «Сниффер Каина и Авеля»

Щелкните второй значок на панели инструментов, напоминающий сетевую карту. В первый раз, когда вы сделаете это, вам будет предложено выбрать интерфейс, который вы хотите обнюхать. Этот интерфейс должен быть подключен к сети, в которой вы будете выполнять отравление кэша ARP. После того, как вы выбрали этот интерфейс, нажмите OK, чтобы активировать встроенный анализатор Cain & Abel. В этот момент значок на панели инструментов, напоминающий сетевую карту, должен быть нажат. Если это не так, сделайте это сейчас. Чтобы создать список доступных хостов в вашей сети, щелкните значок, напоминающий символ плюса (+), на главной панели инструментов и нажмите кнопку ОК.

Изображение 23584
Рисунок 4: Поиск хостов

Когда-то пустая сетка теперь должна быть заполнена списком всех хостов в вашей подключенной сети, а также их MAC-адресами, IP-адресами и информацией, позволяющей идентифицировать поставщика. Это список, с которым вы будете работать при настройке отравления кэша ARP.

Внизу окна программы вы увидите набор вкладок, которые перенесут вас в другие окна под заголовком Sniffer. Теперь, когда вы создали список хостов, вы будете работать с вкладкой APR. Переключитесь в окно APR, щелкнув вкладку.

Попав в окно APR, вы увидите две пустые таблицы: верхнюю и нижнюю. После того, как вы их настроите, в верхней таблице будут показаны устройства, участвующие в отравлении вашего кэша ARP, а в нижней таблице будут показаны все соединения между вашими зараженными машинами.

Продолжите настройку отравления ARP, щелкнув значок, напоминающий символ плюса (+), на стандартной панели инструментов программы. В появившемся окне есть два столбца выбора рядом друг с другом. С левой стороны вы увидите список всех доступных хостов в вашей сети. Щелкните IP-адрес одной из ваших жертв. Это приведет к тому, что в правом окне будет показан список всех хостов в сети без только что выбранного IP-адреса. В правом окне щелкните IP-адрес другой жертвы и нажмите ОК.

Изображение 23585
Рисунок 5: Выбор хостов-жертв для отравления

IP-адреса обоих устройств теперь должны быть перечислены в верхней таблице в главном окне приложения. Чтобы завершить процесс, щелкните желто-черный символ излучения на стандартной панели инструментов. Это активирует функции отравления кэша ARP Cain & Abel и позволит вашей анализирующей системе быть посредником для всех коммуникаций между двумя жертвами. Если вам интересно посмотреть, что происходит за кулисами, попробуйте установить Wireshark и послушать интерфейс, когда вы включите отравление. Вы увидите шквал ARP-трафика на оба хоста и сразу же начнете видеть связь между ними.

Изображение 23586
Рисунок 6: Внедрение трафика ARP

Когда вы закончите, просто щелкните желто-черный символ излучения еще раз, чтобы остановить отравление кэша ARP.

Защита от отравления кэша ARP

Глядя на отравление кэша ARP с точки зрения защитников, мы оказываемся в невыгодном положении. Процесс ARP происходит в фоновом режиме, и мы практически не можем контролировать его напрямую. Не существует универсального решения, но можно принять упреждающие и реактивные меры, если вы обеспокоены отравлением кэша ARP в вашей сети.

Защита локальной сети

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

Жесткое программирование кэша ARP

Один из способов защититься от незащищенного динамического характера запросов и ответов ARP — сделать процесс немного менее… динамичным. Это вариант, поскольку хосты на базе Windows позволяют добавлять статические записи в кэш ARP. Вы можете просмотреть кэш ARP хоста Windows, открыв командную строку и введя команду arp -a.

Изображение 23587
Рисунок 7: Просмотр кэша ARP

Вы можете добавить записи в этот список с помощью команды arp -s <IP-АДРЕС> <MAC-АДРЕС>.

В тех случаях, когда конфигурация вашей сети не меняется часто, вполне возможно составить список статических записей ARP и развернуть их на клиентах с помощью автоматизированного сценария. Это гарантирует, что устройства всегда будут полагаться на свой локальный кэш ARP, а не на запросы и ответы ARP.

Мониторинг ARP-трафика с помощью сторонней программы

Последним вариантом защиты от отравления кэша ARP является реактивный подход, который включает в себя мониторинг сетевого трафика хостов. Это можно сделать с помощью нескольких различных систем обнаружения вторжений (например, Snort) или с помощью загружаемых утилит, разработанных специально для этой цели (например, xARP). Это может быть осуществимо, когда вы заботитесь только об одном хосте, но может быть немного громоздким, когда речь идет о целых сегментах сети.

Заворачивать

ARP Cache Poisoning — отличное введение в мир пассивных атак «человек посередине», потому что его очень просто выполнить, он представляет реальную угрозу для современных сетей, и его трудно обнаружить и от него трудно защититься. В следующей статье этой серии мы сосредоточимся на разрешении имен и концепции спуфинга DNS.

 

  • Понимание атак «человек посередине» — часть 4: перехват SSL