Pwnagotchi — самодельное хакерское устройство для взлома беспроводных сетей, работающее на базе искусственного интеллекта. В статье расскажу, где купить комплектующие и покажу, как собрать и использовать Pwnagotchi.
Еще по теме: Кража паролей с помощью Flipper Zero
Что такое Pwnagotchi
Pwnagotchi — это небольшое устройство, которое используется для взлома паролей беспроводных сетей, защищенных протоколом WPA2. Взлом происходит путем перехвата хешей паролей, которые обмениваются устройства (например, смартфоны, ноутбуки) с точкой доступа во время процесса аутентификации.
Когда устройство подключается к беспроводной сети с использованием WPA2, происходит обмен пакетами данных, известными как «рукопожатие» (handshake). Эти пакеты содержат информацию, необходимую для установления безопасного соединения. Pwnagotchi перехватывает и сохраняет эти рукопожатия для последующего анализа.
Для перехвата трафика используется утилита Bettercap, которая широко известна в среде специалистов по безопасности. Bettercap позволяет проводить MITM-атаки и перехватывать трафик между клиентами и точкой доступа.
Статья в образовательных целях и предназначается для обучения этичных хакеров. При написании статьи использовались личные устройства автора. Использование Pwnagotchi для несанкционированного доступа к чужим сетям без разрешения является незаконным. Ни редакция spy-soft.net, ни автор не несут ответственности за ваши действия.
После того как Pwnagotchi перехватит рукопожатия, пользователь устройства может восстановить пароль беспроводной сети. Это происходит путем брута (перебора) паролей из словаря. Существуют специальные программы, такие как Hashcat, которые могут проводить этот перебор.
Устройство может использовать более агрессивные методы для сбора хешей. Например, оно может отправлять деаутентификационные пакеты, чтобы принудительно разорвать соединение между клиентами и точкой доступа. Когда клиенты переподключаются, устройство перехватывает хеши паролей. Еще один метод — спровоцировать утечку PMKID, что позволяет получить хеш пароля до этапа аутентификации.
Для принятия решений девайс использует AI-модель A2C (Actor Advantage Critic). Эта модель оценивает текущее состояние устройства и выдает рекомендации, чтобы достичь наилучших результатов в перехвате хешей паролей. Это позволяет устройству «учиться» и становиться более эффективным с каждой успешной попыткой взлома.
Как устроен Pwnagotchi
Устройство Pwnagotchi довольно простое: все комплектующие можно купить на АлиЭкспресс, и они относительно дешевы.
Устройство построено на базе одноплатного компьютера Raspberry Pi Zero WH — причем стоит выбрать вариант WH, так как такой он оснащен модулем беспроводной связи Wi-Fi и модулем Bluetooth и в нем даже распаян разъем интерфейса, к нему подключается дисплей.
Если вы читаете эту статью в далеком и светлом будущем, то ссылки на страницы конкретных товаров на АлиЭкспресс могут утратить свою актуальность. Не отчаивайтесь: нужные компоненты можно легко найти через поиск.
Я купил у продавца под ником adrol, но на AliExpress есть много магазинов, торгующих такими устройствами.
В роли дисплея больше всего подходит модуль для RPi0 на e-ink. Согласно официальной странице разработчиков, Pwnagotchi работает с экранами Waveshare V2, однако на сегодняшний день данная модель (как и V3) является устаревшей и ее серийное производство свернуто, а потому найти в продаже такой экран непросто. Я прикупил дисплей Waveshare с диагональю 2,13″.
Для автономной работы Pwnagotchi можно использовать обычный малогабаритный повербанк со шнуром Micro-USB, но гораздо удобнее приобрести специализированный модуль питания для Raspberry Pi Zero, скажем, от той же фирмы Waveshare. Он подключается к «одноплатнику» с нижней стороны с помощью pin-контактов, так собранный девайс будет выглядеть аккуратно, без проводов, торчащих сбоку.
Питание к одноплатнику подается с помощью выключателя, а зарядка аккумулятора осуществляется через разъем Micro-USB, расположенный на модуле электропитания.
Наконец, вам понадобится MicroSD-карта объемом не менее 32 ГБ. В общем, подходит практически любая карта по цене одного бакса.
Сборка и настройка Pwnagotchi
Полагаю, что со сборкой Pwnagotchi сможет справиться даже ребенок детсада. Подключите аккумулятор к разъему на плате модуля электропитания, установите резьбовые стойки в соответствующие отверстия по краям платы и прикрутите сверху Raspberry Pi Zero WH — весь крепеж в комплекте поставки.
Необходимо убедиться, что контакты платы с аккумулятором точно совпадают с контактами на нижней стороне отдельной платы. Теперь аккуратно вставьте модуль дисплея в интерфейсный разъем Raspberry Pi. Все, процесс сборки завершен.
Некоторые печатают красивые корпуса для своего устройства на 3D-принтере (готовые STL-модели можно найти в сети), но это не наш случай.
Если теперь мы подать питание на одноплатный компьютер, ничего не произойдет: Raspberry Pi Zero работает только тогда, когда в соответствующий разъем вставлена карта памяти с операционной системой. Соответственно, эту систему нужно на карту записать.
В качестве ОС Pwnagotchi использует модифицированный дистрибутив Raspbian с целым набором дополнительных модулей, включая Bettercap и питоновские библиотеки, которые обеспечивают работу алгоритмов самообучения.
Инструкция на официальном сайте проекта предлагает скачать прошивку с GitHub, но, если вы, как и я, купили дисплей Waveshare V4, официальная прошивка откажется работать, поскольку поддержка этого типа экранов в ней напрочь отсутствует. Помучавшись с этой проблемой примерно полдня, я нашел модифицированную прошивку, которая нормально поддерживает Waveshare V4, — ее я и установил на свой Pwnagotchi.
Файл прошивки удобнее всего записать на SD-карту при помощи программы balenaEtcher или утилитой dd, если умеете ей правильно пользоваться. В результате на карте появится два раздела: boot, содержащий загрузочные файлы и файлы с настройками, и раздел с операционной системой.
Теперь необходимо изменить базовые настройки устройства. Не извлекая карту памяти из компьютера, откройте в проводнике раздел boot и создайте в нем текстовый файл config.toml примерно следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
config.toml main.name = "PwnagotchiName" main.lang = "en" main.whitelist = [ "MyWi-Fi_1", "MyWi-Fi_2" ] main.plugins.grid.enabled = true main.plugins.grid.report = true main.plugins.grid.exclude = [ "MyWi-Fi_1", "MyWi-Fi_2" ] ui.display.enabled = true ui.display.type = "waveshare_3" ui.display.color = "black" |
Вместо PwnagotchiName укажите произвольное имя своего устройства, а в разделах main.whitelist и main.plugins.grid.exclude перечислите SSID беспроводных сетей или MAC-адреса устройств, которые Pwnagotchi должен исключить из сканирования и хендшейки которых не будут перехватываться. Эти значения вводятся в кавычках и через запятую. В списке может присутствовать, например, ваша домашняя беспроводная сеть.
Теперь вставьте SD-карту в разъем Raspberry Pi Zero, но включать Pwnagotchi пока еще рано. Одноплатник имеет два порта Micro-USB: один — исключительно для питания, второй — для питания и передачи данных. Вот через него‑то и нужно подключить Pwnagotchi к компьютеру с использованием кабеля.
Скорее всего, девайс определится как устройство с последовательным интерфейсом USB (Com3) — это значит, что Windows не сумела правильно подобрать драйверы. Скачайте драйвер Ethernet RNDIS и установите его с использованием диспетчера устройств.
Если вы все сделали правильно, в системе появится новый сетевой адаптер USB Ethernet/RNDIS Gadget.
Откройте в Windows свойства подключения этого адаптера и укажите вручную IP-адрес 10.0.0.1, маску подсети 255.255.255.0, шлюз 10.0.0.1 и адрес сервера DNS 8.8.8.8.
Сохраните внесенные настройки — теперь при необходимости вы сможете подключаться к Pwnagotchi по протоколу SSH при помощи любого подходящего приложения, например PuTTY.
Использование Pwnagotchi
На этом настройка Pwnagotchi закончена, можно включить питание устройства. Загрузка девайса занимает 15–20 секунд, после чего на экране появится имя вашего виртуального питомца и его забавная рожица.
Рожицы, к слову, устройство умеет строить разные — их внешний вид и значения представлены на сайте проекта. Помимо мордашек, устройство отображает текущий статус (он показывает, чем устройство занято в настоящий момент), количество перехваченных пакетов, SSID сети, в которой был перехвачен последний пакет, и другую сопутствующую информацию.
Еще Pwnagotchi выведет на дисплей соответствующее сообщение, если поблизости обнаружится другой владелец Pwnagotchi.
В терминологии создателей этого забавного девайса Pwnagotchi «питается» пакетами беспроводных сетей. Если виртуальный питомец сообщает хозяину, что он голоден, его нужно незамедлительно покормить — то есть отнести туда, где есть множество доступных для сканирования и взлома беспроводных сетей.
То же самое касается настроения питомца: если ему скучно, единственный способ развлечь его — скормить ему несколько EAPOL-пакетов.
Pwnagotchi по умолчанию работает в автоматическом режиме и не требует вмешательства пользователя. Вместе с тем имеется возможность кастомизации его прошивки: при желании можно изменить язык сообщений, добавить новые рожицы и статусы, подключить дополнительные плагины, расширяющие возможности устройства, — все инструкции имеются на сайте разработчиков.
Конечно, эффективность использования Pwnagotchi напрямую зависит от того, насколько сложный пароль был установлен в сети, рукопожатия которой удалось перехватить. Если этот пароль соответствует обычным правилам безопасности, для его восстановления вам, скорее всего, придется купить подержанную майнинговую ферму. А вот если в сети использовался простой словарный пароль, вам повезло: его подбор методом брутфорса займет несколько часов.
Защита от Pwnagotchi
Как защититься от атак с использованием этого устройства, особенно с учетом того, что Pwnagotchi действует незаметно? Обезопасить себя от пассивного перехвата пакетов непросто, зато можно принять меры на случай, если злоумышленник все‑таки восстановит из хеша ключ беспроводной сети.
Используйте надежный пароль для Wi-Fi и следите за подключенными к точке доступа клиентами. Если в сети появилось новое подозрительное устройство, это повод изменить пароль. Ну а лучшая защита — настроить роутер таким образом, чтобы к нему могли подключаться только устройства с заранее разрешенными MAC-адресами из белого списка.
Кому как, а мне Pwnagotchi показался забавным и интересным устройством, с помощью которого можно тестировать безопасность беспроводных сетей, просто прогуливаясь рядом с офисом. Безусловно, Pwnagotchi не сравнится с Flipper Zero по набору доступных функций, но на сумму, которую просят за Flipper, можно завести целый зоопарк Pwnagotchi. И еще останется немного денег на пряники.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Плагин для работы с .pcap на Pwnagotchi
- Как установить прошивку Unleashing Flipper Zero
- Сборник пейлоадов скриптов Flipper Zero BadUSB
пишет что поля дублируются при написаний ип и шлюза
к тому ещё не запускается
Проверь файл pwnagotchi.toml и убедись, что IP-адрес и шлюз указаны правильно и не дублируются.
Вот пример правильной конфигурации:
tomlCopymain.iface.ip = «192.168.1.100» # Твой IP-адрес
main.iface.gateway = «192.168.1.1» # Шлюз твоей сети