Атака «человек посередине», пожалуй, первое, что приходит на ум, когда возникает задача получить пользовательские данные, такие как логины и пароли к различным сервисам, а также передаваемую информацию: почту, сообщения мессенджеров и прочее. ARP-спуфинг, DNS-спуфинг, ICMP-редирект, Evil twin — про все эти техники ты уже, возможно, слышал. В данной статье я расскажу тебе про еще один способ устроить MITM в Wi-Fi-сети, не самый простой, но работоспособный.

WARNING

Материал адpесован специалистам по безопасности и тем, кто собираeтся ими стать. Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Настоятельно рекомендую, прежде чем читать материал, ознакомиться с другой моей публикацией, в которой я попытался объяснить принцип работы протокола DHCP и как с его помощью атаковать клиенты и сервер, ведь именно о DHCP сегодня и пойдет речь.

 

Преамбула

Итак, как и всегда, для данной атаки есть пара ограничений:

  1. Мы должны быть подключены к атакуемой точке доступа.
  2. У нас должна быть возможность прослушивать широковещательный трафик в сети и перехватывать широковещательные запросы DHCPDISCOVER, DHCPREQUEST и ARP, чтобы обнаруживать конфликты адресов в локальной сети.

Итак, как же это работает? Атака разделяется на несколько этапов:

  1. Производим атаку DHCP Starvation.
  2. Отправляем Wi-Fi Deauth пакеты.
  3. Перехватываем ARP-запросы от клиентов, отвечаем на них, чтобы создать конфликт IP-адресов и принудить клиента отправить DHCPDECLINE.
  4. Перехватываем запросы DHCPDISCOVER и DHCPREQUEST, отвечаем на них.
  5. Profit!

Разберемся в этой схеме поподробнее.

 

DHCP Starvation

Подключаемся к атакуемой Wi-Fi-сети и производим атаку DHCP Starvation с целью пополнить пул свободных IP-адресов. Для этого необходимо выполнить следующие шаги.

  1. Формируем и отправляем широковещательный DHCPDISCOVER-запрос, при этом представляемся как DHCP relay agent. В поле giaddr (Relay agent IP) указываем свой IP-адрес 192.168.1.172, в поле chaddr (Client MAC address) — рандомный MAC 00:01:96:E5:26:FC, при этом на канальном уровне в SRC MAC выставляем свой MAC-адрес: 84:16:F9:1B:CF:F0.

    DHCPDISCOVER
    DHCPDISCOVER
  2. Сервер отвечает сообщением DHCPOFFER агенту ретрансляции (нам) и предлагает клиенту с MAC-адресом 00:01:96:E5:26:FC IP-адрес 192.168.1.156.

    DHCPOFFER
    DHCPOFFER
  3. После получения DHCPOFFER отправляем широковещательный DHCPREQUEST-запрос, при этом в DHCP-опции с кодом 50 (Requested IP address) выставляем предложенный клиенту IP-адрес 192.168.1.156, в опции с кодом 12 (Host Name Option) — рандомную строку dBDXnOnJ. Важно: значения полей xid (Transaction ID) и chaddr (Client MAC address) в DHCPREQUEST и DHCPDISCOVER должны быть одинаковыми, иначе сервер отбросит запрос, ведь это будет выглядеть как другая транзакция от того же клиента либо другой клиент с той же транзакцией.

    DHCPREQUEST
    DHCPREQUEST
  4. Сервер отправляет агенту ретрансляции сообщение DHCPACK. С этого момента IP-адрес 192.168.1.156 считается зарезервированным за клиентом с MAC-адресом 00:01:96:E5:26:FC на 12 ч (время аренды по умолчанию).

    DHCPACK
    DHCPACK

    DHCP clients
    DHCP clients

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

Волшебные «пальчики». Как работают механизмы биометрической авторизации по отпечатку пальца

Больше ста лет назад человечество научилось устанавливать личность по отпечаткам пальцев. …

7 комментариев

  1. Аватар

    Kismet

    25.09.2017 at 18:06

    Умники! Молодцы статья интересная плюс в карму!!!

  2. Аватар

    diriger

    25.09.2017 at 18:06

    На каком железе у вас установлен Kali и какая модель дополнительного беспроводного интерфейса использовалась для отправки deauth-пакетов?

  3. Аватар

    sergafan10

    26.09.2017 at 08:04

  4. Аватар

    84ckf1r3

    27.09.2017 at 01:02

    Отличная статья, спасибо!

  5. Аватар

    serge007gr

    27.09.2017 at 01:09

    Как всегда интересно! Спасибо!

  6. Аватар

    enc

    27.09.2017 at 11:45

    Мне тоже понравилось! Спасибо!

  7. Аватар

    Mr-r00t

    27.09.2017 at 16:32

    Баги стары как реализации протоколов. За подробность респект, интересно.

Оставить мнение