Атака «человек посередине», пожалуй, первое, что приходит на ум, когда возникает задача получить пользовательские данные, такие как логины и пароли к различным сервисам, а также передаваемую информацию: почту, сообщения мессенджеров и прочее. 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. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

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


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

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

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

Check Also

Целенаправленная социальная инженерия. Нестандартные техники введения в заблуждение

В предыдущей статье мы разобрали массовые атаки. Но их применимость ограничена: пентестер …