─ Интегрированная полностью автоматическая беспроводная система фишинга IoT от Шефика Эфе Алтынолука ─
Не пытайтесь использовать это программное обеспечение на пользователях/системах, на которые у вас нет законного разрешения. Использование Wi-Phi
для атаки целей без предварительного взаимного согласия является незаконным. Ответственность за соблюдение всех применимых местных, государственных и федеральных законов лежит на конечном пользователе. Я не несу никакой ответственности и не несу ответственности за любое неправильное использование или ущерб, причиненный этим программным обеспечением, документацией и чем-либо в этом репозитории.
(СМ. № 4) Поскольку Wi-Phi
может быть использован злонамеренно, я не раскрываю большую часть исходного кода. Свяжитесь со мной из LinkedIn по любым деловым/академическим/образовательным случаям, когда вам нужен весь рабочий код.
Этот проект распространяется под лицензией Gnu General Public License версии 3.0.
Подробнее см. ЛИЦЕНЗИЯ.
Wi-Phi
— это автоматическая phishing
system
, полностью интегрированная в платы беспроводного IoT
(Интернета вещей).
Его можно рассматривать как продвинутый, многофункциональный Wifi Pineapple
.
Wi-Phi
может атаковать пользователей, у которых установлено хотя бы одно из следующих программ:
Основными компонентами Wi-Phi
являются:
MicroPython
. Я использую Deneyap Kart
на базе ESP32
.esp32-20220117-v1.18.bin
Получите IoT-устройство ESP32.
Подключите ESP32 к компьютеру и получите последовательный порт, к которому подключен ESP32.
COMx
/dev/ttyUSBx
или /dev/tty/USBx
Затем выполните следующие команды для GNU/Linux.
[efe@lhost ~] $ git clone https://github.com/f4T1H21/Wi-Phi.git && cd Wi-Phi
[efe@lhost Wi-Phi] $ pip3 install -r requirements.txt
[efe@lhost Wi-Phi] $ sudo ./setup.sh < serial_port >
Теперь программное обеспечение должно работать. Проверьте, видите ли вы сеть Wi-Fi с именем Google Free Wi-Fi
.
Всякий раз, когда вы подключаете ESP32 к источнику питания, проект запускается автоматически после этапа загрузки.
Остальное не важно.
Все программное обеспечение реализовано на MicroPython и работает на ESP32.
ESP32 становится беспроводной точкой доступа (точкой доступа); и запускает три (3) независимых сокета (на уровне OSI 4):
53/UDP
для DNS
сервера80/TCP
для HTTP
сервера2121/TCP
для сервера Credential Store
Вся привязка выполняется по IP-адресу шлюза (AP), который равен 210.210.210.1
Причина, по которой я выбрал такой класс IP, заключается в том, что по какой-то причине устройства Samsung не рассматривают короткие IP-адреса как авторизованные порталы. Это было проблемой для меня.
Основная идея — обслуживать статический фишинговый веб-сайт на HTTP-сервере и сделать его captive portal
для устройств (станций) любого производителя, подключающихся через Wi-Fi.
Static site
обслуживаемый HTTP-серверомDNS
, HTTP
и CS
серверы.TCP
и UDP
для протоколов высокого уровня.Gateway
LAN
Wireless AP
, Wi-Fi
Ниже показан хорошо продуманный сценарий работы Wi-Phi
.
Это также тематическое исследование, которое я поручил себе. Итак, давайте углубимся в дело...
Большинство поставщиков устройств отправляют HTTP-запросы на определенные конечные точки серверов обнаружения перехватывающих порталов, специфичных для конкретного поставщика, и ожидают, что определенные HTTP-ответы позволят понять, есть ли в сети Wi-Fi перехватывающий портал или нет.
В таблице ниже показано, что нужно ответить различным производителям устройств, чтобы устройство предполагало, что в сети Wi-Fi существует авторизованный портал.
Примечание . Mozilla является исключением из правил «поставщиков устройств». Firefox (как браузер) может принять это решение самостоятельно в соответствии со своим собственным сервером обнаружения порталов.
Ответы с кодом состояния 302 Found
также должны иметь заголовок Location:
чтобы правильно перенаправить браузер (клиент).
Поставщик устройства | Конечные точки | Код состояния | Тело ответа |
---|---|---|---|
Майкрософт (Виндовс) | www.msftconnecttest.com/ncsi.txt | 200 OK | Microsoft NCSI |
Майкрософт (Виндовс) | www.msftconnecttest.com/connecttest.txt | 200 OK | Microsoft Connect Test |
Майкрософт (Виндовс) | www.msftconnecttest.com/redirect | 302 Found | |
Гугл (Андроид) | connectivitycheck.gstatic.com/gen_204 | 302 Found | |
Гугл (Андроид) | connectivitycheck.gstatic.com/generate_204 | 302 Found | |
Гугл (Андроид) | clients3.google.com/generate_204 | 302 Found | |
Сяоми | connect.rom.miui.com/gen_204 | 302 Found | |
Сяоми | connect.rom.miui.com/generate_204 | 302 Found | |
Apple (IOS/MacOS) | captive.apple.com/hotspot-detect.html | 302 Found | |
Мозилла (Файрфокс) | detectportal.firefox.com/canonical.html | 302 Found | |
Мозилла (Файрфокс) | detectportal.firefox.com/success.txt | 302 Found |
Чтобы иметь возможность отвечать на http-запросы, отправленные к указанным выше конечным точкам, эти запросы должны быть отправлены на HTTP-сервер ESP32. Чтобы добиться этого, ESP32 должен отвечать на определенные запросы домена по своему собственному IP-адресу.
google.com
должен стать 210.210.210.1
Поэтому должен быть сервер системы доменных имен, работающий на ESP32. С этой точки зрения сценарий похож на атаки DNS Hijacking.
Я думаю, что Google — самая популярная и надежная технологическая компания в мире. Поэтому я подготовил статическую фишинговую страницу, которая выглядит почти так же, как старая страница входа в Gmail. А также назвал сеть Wi-Fi Google Free Wi-Fi
.
По мере продолжения сценария после перенаправления браузера (клиента) на статическую страницу входа в систему пользователь должен ввести свои учетные данные и нажать кнопку «Далее». И учетные данные хранятся в локальном файле. Затем пользователь получает бан по IP до следующей перезагрузки ESP32. В противном случае локальная база данных может быть испорчена фиктивными/неправильными учетными данными. После всего этого клиент перенаправляется в каталог /
статического сайта.
Всякий раз, когда клиент с запрещенным IP-адресом пытается получить доступ к любому ресурсу на HTTP-сервере, обслуживается один и тот же html-файл hacklendin.html
независимо от метода HTTP-запроса, заголовка, тела и т. д.
С другой стороны, локальное хранилище учетных данных можно просмотреть удаленно, подключившись к 2121/tcp
и пройдя аутентификацию с помощью жестко закодированного пароля при подключении к Wi-Fi.
Wi-Phi
— это многофункциональная система. Подробные журналы, созданные службами Wi-Fi
, HTTP
и DNS
можно просматривать в режиме реального времени. Эти журналы не сохраняются локально для экономии места.
Чтобы иметь возможность просматривать подробные журналы,
boot.py
в локальный файл с именем main.py
boot.py
с устройства ESP32.main.py
на ESP32. Вы можете использовать инструмент ampy
для операций с файлами и запуска программного обеспечения на ESP32.
Давайте рассмотрим случай, когда к нашему Google Free Wi-Fi
одновременно подключено несколько независимых устройств от разных производителей.
Когда устройства IOS сталкиваются с авторизованным порталом, они автоматически запускают страницу авторизованного портала, не запрашивая пользователя: «Хорошо!»
Устройства Samsung отображают только уведомление. Итак, здесь пользователю необходимо нажать либо Sign in to the network
, либо уведомление в верхней части экрана.
Устройства Xiaomi также показывают уведомление. Они также иногда автоматически открывают страницу авторизованного портала, не запрашивая пользователя повторно!
В Firefox в верхней части окна приложения появляется приглашение. После нажатия кнопки Open network login page
» на новой вкладке откроется страница авторизованного портала.
И еще один парень, который даже не позволяет пользователям решать (например, IOS). Всегда автоматически открывает страницу адаптивного портала.
Как я объяснял ранее,
Весь период обучения, внедрения того, что я узнал в реальную жизнь, исправления ошибок и написания документации был для меня очень интересным! Надеюсь, вы воспользуетесь этими знаниями в этических целях! Свяжитесь со мной по дополнительным вопросам и деловым/академическим/образовательным случаям.
Твиттер
LinkedIn
ХакерУан
Взломать коробку
─ Автор Шефик Эфе Алтынолук ─