Categories: Wi-Fi

Программа для взлома WIFI — WiFi De-authentication Rifle

Беспроводные сети — они везде в наши дни, гдето они открыты, гдето закрыты и нам всегда интересно на сколько надежно они защищены.

Сегодня мы поставили перед собой задачу собрать устройство для взлома WIFI сетей на базе микрокомпьютера Raspberry Pi и Yagi (волновой канал) антены.

О малинке рассказывать думаю нет смысла а подобную антену вы можете приобрести за очень скоромную сумму —

http://www.ebay.com/itm/High-Gain-Long-Range-Yagi-18dBi-16dBi-2-4-GHz-WiFi-Antenna-Booster-Directional-/331057775246

Общий вид нашего устройства

Итак, мы решили смоделировать некоторые инструменты, уже доступные в aircrack-ng избегая при этом использования всего комплекта инструментов. В виду ограниченности ресурсов используемых в Raspberry Pi. В итоге мы создали инструмент WiFi De-authentication Rifle который представляет собой скрипт написаный на Python и позволяет выполнять следующие действия:

  • Используя IW команды переводит беспроводную карту в режим монитора и обеспечивает смену каналов для наилучшего захвата пакетов.
  • Используя Core Security’s модуль Pcapy захватывать трафик в режиме монитора.
  • Используя Core Security’s модуль impacket внутри потоков, выбирать отдельные 802.11 пакеты и выделять из них интересующую нас информацию.
  • Urwid Ncurses wrapper модуль оболочки для отображения интерфейса и обрабатыватки нажатия клавиш и обратные вызовы.
  • Используя impacket для генерирования беспроводных пакеты и отсылки их через сокеты.

Нам нужно несколько Python модулей которые будут:

Нам нужно несколько модулей питона, которые были:

  1. urwid — Ncurses оболочкой.
  2. pcapy — сниффер.
  3. impacket — генератор пакетов / анализатор

Наконец, вам необходимо установить все это в вашу гостевую ОС.

Функцирование приложения:

Приложение работает в непрерывном цикле, который переводит беспроводную карту в режим монитора и производит переключение между различными WIFI каналами используя IW команды. Следующим шагом является инициализация процесса снифинга пакетов с помощью PCAPY. И наконец передача всех захваченых пакетов обработчику методом нитей.

Переводим беспроводное устройство в режим монитора на вновь созданом интерфейсе:

os.system("iw dev %s interface add mon0 type monitor && ifconfig mon0 up" % interface)

 Функция переключения каналов запускается в отдельном процессе.

while True:
channel = random.randrange(1,14)
os.system("iw dev %s set channel %d" % ("mon0", channel))
setting up the sniffer loop and packet handler.
c = pcapy.open_live("mon0", MAX_LEN, PROMISCUOUS, READ_TIMEOUT)
c.loop(-1, runThreads)

 Следующим логическим шагом для обработчика пакетов, запускаем из нитей, использует ImpactDecoder.RadioTapDecoder(), чтобы декодировать пакеты данных и используем Impacket dot11 Типы, чтобы проверить, какой тип пакета (данные или управление).

Это важно, поскольку захват пакетов управления позволит нам извлечь BSSID и связаный SSID, который в конечном итоге будет заполнять список и отображается в одном из потоков. Интересно отметить, что для захвата пакетов данных, как правило, имеются три присутствующие адреса поля. После некоторых первоначальных исследований, мы обнаружили, что поле address3 содержит BSSID а поле address2 имеет адрес источника MAC-передатчик или MAC-адрес, который, как правило, является MAC-адресом клиента.

Что мы сделали, это убедились —  что это отображано во втором окне нашего приложения  после того как пользователь выбирает SSID или BSSID, чтобы захватить клиентов, связанные с ним. Переходя к заголовку RadioTap кадров, которая доступна во всех пакетах, мы можем извлечь канал, силу сигнала и другую полезную информацию.

В результате будет захвачена и сохранена информация как указано ниже:

SSIDS = {'BSSID':'SSID'}
MACs = {'BSSID':[[CLIENTS],CHANNEL]}

 Процесс де-аутентификации (De-authenticationProcess)

Для де-авторизации клиента, вам нужно выбрать BSSID SSID цели. Наш сценарий отображает связанных клиентов (потому что вы должны быть ориентированы на клиента правильно?).

Следующим шагом, чтобы сделать использование Impacket данных, сначала нужно создать RadioTap кадр. Этот первоначальный кадр содержит ряд дополнительных кадров, Dot11 кадр, который содержит Dot11 Management Frame, что, в конце концов содержит Dot11 Management Frame нужны для  Де-аутентификации. В сочетании, это генерирует настоящий  Dot11 management de-authentication packet, который будет отправлен с помощью сокетов к интерфейсу монитора с назначеным MAC адресом клиента и отображения BSSID как адреса источника.

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

Как создать пакеты де-аутентификации в описанном выше способе?

Создание пакета де-аутентификации с использованием Impacket.

radio = impacket.dot11.RadioTap()
radio.set_channel(channel1,channel2)

 Создание  Dot11 Frame.

dot11 = impacket.dot11.Dot11(FCS_at_end = False)
dot11.set_type_n_subtype(impacket.dot11.Dot11Types.DOT11_TYPE_MANAGEMENT_SUBTYPE_DEAUTHENTICATION)

 Создание кадра управления (management Frame)

m = impacket.dot11.Dot11ManagementFrame()
sequence = random.randint(0, 4096)
m.set_source_address(bssid)
m.set_bssid(bssid)
m.set_destination_address(client)
m.set_sequence_number(sequence)

 Создание кадра запроса де-аутентификации.

d = impacket.dot11.Dot11ManagementDeauthentication()
m.contains(d)
dot11.contains(m)
radio.contains(dot11)

 Отправка пакетов на интерфейс монитора с помощью сокетов

s = socket.socket(socket.AF_PACKET,socket.SOCK_RAW)
s.bind(('mon0',0))
s.send(pkt)
s.close()

 Несмотря на подробное описание, мы также создали видео для большей наглядности:

Исходный код может быть загружен с нашего SensePost Github в WiFi Rifle секции .

Английскую версию статьи вы можете прочитать по ссылке: https://www.sensepost.com/blog/2015/wifi-de-authentication-rifle/

Также наиболее полную информацию о программах для взлома WI-FI вы всегда можете найти по этой ссылке

Click to rate this post!
[Total: 4 Average: 3.5]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

11 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

11 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

12 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

12 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

12 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

12 месяцев ago