Проект Pwnag0dchi
Создал это, так как многие спрашивали о кастомных плагинах и конфигурациях, которые я использую. Следуя этому руководству, ваш Pwnagotchi будет выглядеть точно так, как в моих соцсетях и видео на YouTube, примерно за 5 минут.
Вы также найдете здесь полное руководство по сборке Pwnagotchi для новичков + несколько распространенных методов устранения неполадок.
Я буду обновлять это настолько часто, насколько это возможно. Если у вас есть предложение или вы столкнулись с проблемами при использовании этого проекта, откройте Issue на GitHub, и мы сможем это обсудить!
Содержание
Модификации Project Pwnag0dchi
Особенности
- Атаки по словарю на устройстве сразу после обнаружения рукопожатий (по настраиваемым, более коротким словарям)
- Индивидуальные переключатели для атак ассоциации и деаутентификации, позволяющие выбрать один из 3 подходов к атаке:
- Полностью агрессивный (атаки ассоциации + деаутентификации)
- Менее агрессивный (только атака ассоциации или деаутентификации)
- Полностью пассивный (без атак, только пассивный захват рукопожатий)
- Скачиваемые рукопожатия из веб-интерфейса (исправлено)
- Элементы пользовательского интерфейса были доработаны (положение, размер, шрифты и т.д.)
- Добавлено место к значению "CH" для размещения каналов 5 ГГц без наложения
- Модификации плагинов (для косметических целей, устранения беспорядка и незначительного улучшения функциональности (возможно))
- Добавлена информация на экран:
- Последнее взломанное рукопожатие в виде открытого текста (согласно WPA-sec)
- Уровень и полоса XP (собирайте рукопожатия для получения опыта и повышения уровня)
- Включенные атаки (ассоциация, деаутентификация, обе или ни одной)
- Мониторинг оборудования (текущее использование памяти, загрузка ЦП, частота ЦП и температура)
- Статус подключения к Интернету / совместного доступа
- IP-адрес текущего интерфейса (помогает при подключении через SSH / веб-интерфейс)
- Еще кое-что, что я мог забыть
Видео-демонстрация и обучающее видео

Установка Project Pwnag0dchi
- Скопируйте файлы из каталога ″Plugins″ этого репозитория GitHub в
/usr/local/share/pwnagotchi/custom-plugins/
- Скопируйте файлы из каталога ″Configurations″ этого репозитория GitHub в
/etc/pwnagotchi/
- Примените все изменения, перезапустив ваш Pwnagotchi
Учетные данные для входа (веб-интерфейс)
changeme:changeme
Начальные настройки, которые нужно изменить
Через веб-интерфейс: Plugins > webcfg
Через /etc/pwnagotchi/config.toml
Затем внесите следующие дополнения / изменения:
main.name — это должно быть имя, которое вы хотите дать вашему Pwnagotchi (например: Pwnag0dchi)
main.whitelist.#0 и main.plugins.grid.exclude — это должен быть SSID вашей домашней Wi-Fi сети, чтобы ваш Pwnagotchi не атаковал ее (например: Shuriken-WiFi_2.4GHz)
main.plugins.wpa-sec.api_key — это должен быть ваш API-ключ WPA-sec (перейдите сначала сюда и нажмите "Get key", чтобы получить бесплатный API-ключ по электронной почте)
ПРИМЕЧАНИЕ: При копировании и вставке API-ключа в main.plugins.wpa-sec.api_key убедитесь, что в начале или конце ключа нет пробелов
- Перезапустите службу Pwnagotchi, чтобы применить изменения, используя
sudo systemctl restart pwnagotchi.service. В веб-интерфейсе это можно сделать, нажав ″Save and Restart″ в верхней части плагина webcfg
Руководство для новичков по Pwnagotchi
Необходимые детали
-
Waveshare 2.13-дюймовый e-Ink дисплей (Amazon | Waveshare)
- Версии 3 и 4 работают лучше всего. Это обозначается маленькой круглой наклейкой на плате (как здесь)
- Игнорируйте "Rev2.1", напечатанное на плате; это не имеет отношения к версии
- НЕ покупайте трехцветный вариант с черным/белым/красным (вариант "B"). Покупайте только версию черный/белый. Оба выглядят почти одинаково и стоят одинаково, поэтому легко купить неправильный
-
Raspberry Pi Zero W — требуется пайка (Amazon | Raspberry Pi)
-
ИЛИ Raspberry Pi Zero WH — пайка не требуется (Amazon | Adafruit)
- Это та же плата с предварительно припаянными штырьками (буква
H в WH означает "Headers" — колодки)
- Вариант
WH может быть немного сложнее найти, чем W
-
Micro-SD карта — лучше всего 16 ГБ, должна быть "UHS-I"
Установка
- Подключите дисплей Waveshare к Pi Zero (аппаратная часть готова!)
- Скачайте образ версии jayofelony's v2.8.9 (тщательно протестирован) или образ v2.9.3 (работает, насколько протестировано)
- Скачайте / Установите Balena Etcher
- Вставьте micro-SD вашего Pwnagotchi в кардридер и в компьютер
- Откройте Balena Etcher
- Выберите скачанный образ Pwnagotchi
- Также внимательно выберите вставленную micro-SD карту
- Прошейте!
- После завершения прошивки вставьте micro-SD карту в ваш Pwnagotchi и включите его
- При первом включении вашему Pwnagotchi потребуется некоторое время для инициализации (от 2 до 30 минут). В течение этого периода инициализации не паникуйте, если вы ничего не видите на дисплее или видите сообщение
"Generating keys, do not turn off...". Как только этот процесс завершится, ваш Pwnagotchi перезагрузится сам и будет готов к использованию
ПРИМЕЧАНИЕ: Это относится только к первому включению. При последующих загрузках вам не придется ждать более ~2-3 минут
- ОНО ЖИВО!
Обеспечение доступа к вашему Pwnagotchi через SSH / веб-интерфейс
Учебник: https://youtu.be/7nj5Euo5Bng?t=135
ПРИМЕЧАНИЕ: Следуйте только с 2:15 по 4:31
ПРИМЕЧАНИЕ: Если вам нужно установить драйверы RNDIS вручную, скачайте их из этого репозитория GitHub (каталог "RNDIS Driver")
ssh [email protected] или сокращенно ssh [email protected] (пароль = raspberry)
Обеспечение доступа к вашему Pwnagotchi через FTP
Чтобы подключиться по FTP к вашему Pwnagotchi как root-пользователь, вам сначала нужно инициализировать учетную запись root и также включить root-логины по FTP:
- Подключитесь по SSH к вашему Pwny как пользователь pi (как обычно)
sudo passwd root
- Введите пароль пользователя pi, если спросят (raspberry)
- Введите новый пароль для пользователя root
- Сохраните и выйдите. Теперь у вас есть root-пользователь. Время включить root-логины по FTP
sudo nano /etc/ssh/sshd_config
ПРИМЕЧАНИЕ: sshd_config, а не ssh_config
- Измените строку
PermitRootLogin prohibit-password на PermitRootLogin yes и раскомментируйте строку, если она закомментирована (уберите # в начале строки)
- Сохраните и выйдите
sudo service ssh restart
Учебник: https://www.youtube.com/watch?v=X-5jN0WjurQ&t=88s
Настройка совместного доступа к Интернету (доступ в Интернет для Pwnagotchi)
- Подключите ваш Pwnagotchi (порт данных, а не питания)
- Скачайте
win_connection_share.ps1 из этого репозитория GitHub (каталог "Internet Sharing")
- Откройте PowerShell от имени администратора (правой кнопкой мыши > "Запуск от имени администратора")
cd .\Downloads\
.\win_connection_share.ps1 -SetPwnagotchiSubnet
- Перезагрузите компьютер с Windows
.\win_connection_share.ps1 -EnableInternetConnectionSharing
- Пуск > введите "сеть" > "Просмотр сетевых подключений"
- Правой кнопкой мыши по RNDIS вашего Pwnagotchi > Свойства > Настройка IPv4 > снова вручную добавьте статический IP (10.0.0.1, 255.255.255.0, 10.0.0.1, 8.8.8.8)
- Правой кнопкой мыши по вашему основному Ethernet > Свойства > вкладка "Доступ" > установите оба флажка + выберите общий доступ для RNDIS вашего Pwnagotchi > ОК
- Переподключите Pwnagotchi (порт данных, а не питания)
- Командная строка >
ssh [email protected] (пароль = raspberry)
- Подтвердите подключение к Интернету после полной инициализации Pwnagotchi с помощью
ping google.com
Все еще нет Интернета?
sudo chattr +i /etc/resolv.conf
sudo nano /etc/resolv.conf
- Содержимое этого файла должно быть только одной строкой:
nameserver 8.8.8.8
Локальный взлом рукопожатий (внутри самого Pwnagotchi, без Интернета / WPA-sec)
За это отвечает плагин better_quickdic. Просто добавьте свои небольшие кастомные словари в /home/pi/wordlists/, и офлайн-атака по словарю будет выполнена с использованием всех словарей из этой папки сразу после захвата валидного рукопожатия
ПРИМЕЧАНИЕ: Отключите / Удалите плагины aircrackonly и hashie / hashieclean для наибольшей эффективности. В ходе некоторых тестов я обнаружил, что эти плагины иногда удаляют даже валидные рукопожатия до того, как better_quickdic начнет их взлом
ПРИМЕЧАНИЕ: Если рукопожатие взломано с помощью этого плагина, оно НЕ будет отображаться на экране Pwnagotchi (даже если включено display-password). Вам придется вручную проверить каталог /home/pi/handshakes на наличие файлов, оканчивающихся на .pcap.cracked. Если у вас там много рукопожатий, вы можете использовать ls /home/pi/handshakes/ | grep crack, чтобы быстро отфильтровать только взломанные
Вы можете использовать небольшой словарик, например, из этого репозитория GitHub (каталог "Wordlists"). Я создал словарь на основе наиболее распространенных некомплексных и стандартных паролей, которые я нашел во время своих тестов. В вашем случае это может отличаться из-за вашего региона / языка / осведомленности / требований / стандартных настроек - поэтому всегда лучше использовать несколько небольших, настраиваемых словарей.
Bluetooth-привязка (кратко и ясно)
Учебник: https://www.youtube.com/watch?v=cnmrKCBzDRU
Использование внешних Wi-Fi адаптеров
Вы можете подключить внешний Wi-Fi адаптер к Pwnagotchi для значительного увеличения дальности, или для поддержки 5 ГГц, или и того, и другого.
ПРИМЕЧАНИЕ: Вы НЕ сможете подключиться к вашему Pwnagotchi по SSH через USB, когда внешний Wi-Fi адаптер включен, потому что порт USB для данных будет выделен внешнему Wi-Fi адаптеру. Поэтому настоятельно рекомендуется сначала настроить и подтвердить, что Bluetooth-привязка работает, чтобы вы могли получить доступ к вашему Pwnagotchi через веб-интерфейс или SSH без необходимости в USB-кабеле. Когда внешний Wi-Fi адаптер отключен, вы можете получить доступ к вашему Pwnagotchi как обычно через USB-кабель
ПРИМЕЧАНИЕ: Совместимость внешних Wi-Fi адаптеров полностью зависит от набора микросхем вашего адаптера. Многие наборы микросхем легко поддерживаются базовой ОС Linux, но для других потребуется установить драйвер вручную через SSH. Сначала попробуйте следующие шаги и посмотрите, работает ли ваш адаптер с Pwnagotchi (не забудьте перезагрузить). Если нет, установите драйверы вручную
Включение внешнего Wi-Fi адаптера
- Подключитесь по SSH к вашему Pwnagotchi
sudo nano /boot/config.txt
- Найдите секцию
[all]
- Раскомментируйте
dtoverlay=disable-wifi (уберите # в начале строки)
- Закомментируйте
dtoverlay=dwc2 (добавьте # в начале строки)
- Перезагрузите Pwnagotchi с подключенным Wi-Fi адаптером (порт данных, а не питания)
Отключение внешнего Wi-Fi адаптера
- Подключитесь по SSH к вашему Pwnagotchi
sudo nano /boot/config.txt
- Найдите секцию
[all]
- Закомментируйте
dtoverlay=disable-wifi (добавьте # в начале строки)
- Раскомментируйте
dtoverlay=dwc2 (уберите # в начале строки)
- Перезагрузите Pwnagotchi с отключенным Wi-Fi адаптером (порт данных, а не питания)
Дополнительные настройки
Учебник по кастомным лицам Pwnagotchi

Большой список плагинов (названия, описания, ссылки и т.д.)
https://docs.google.com/spreadsheets/d/1os8TRM3Pc9Tpkqzwu548QsDFHNXGuRBiRDYEsF3-w_A
Устранение неполадок
Совместный доступ к Интернету не работает (или раньше работал)
- Подключите Pwnagotchi (порт данных, а не питания)
- Пуск > введите "сеть" > "Просмотр сетевых подключений"
- Правой кнопкой мыши по вашему основному Ethernet (Интернет) > Свойства > вкладка "Доступ" > снимите оба флажка > ОК
- Правой кнопкой мыши по RNDIS вашего Pwnagotchi > Свойства > Настройка IPv4 > снова вручную добавьте статический IP (10.0.0.1, 255.255.255.0, 10.0.0.1, 8.8.8.8) > ОК
- Правой кнопкой мыши по вашему основному Ethernet > Свойства > вкладка "Доступ" > установите оба флажка + выберите общий доступ для RNDIS вашего Pwnagotchi > ОК
- Ничего перезагружать не нужно. Проверьте подключение к Интернету с помощью
ping google.com через SSH
Не удается подключить мой 'gotchi к компьютеру после перехода на внешний адаптер
Вам нужно отключить внешний Wi-Fi адаптер, чтобы подключить ваш Pwnagotchi к компьютеру через порт данных.
- Подключите Pwnagotchi через Bluetooth-привязку (порт питания, а не данных)
- Подключитесь по SSH к вашему Pwnagotchi (с помощью приложения типа Termux)
sudo nano /boot/config.txt
- Найдите секцию
[all]
- Закомментируйте
dtoverlay=disable-wifi (добавьте # в начале строки)
- Раскомментируйте
dtoverlay=dwc2 (уберите # в начале строки)
- Выключите Pwnagotchi
- Подключитесь к компьютеру через USB-кабель (порт данных, а не питания)
Мой 'gotchi выполняет deauth даже при отключенном плагине "enable_deauth"
Обычно это происходит при новых сессиях; 'gotchi просто "забывает", в каком состоянии (включено/отключено) он был при выключении. Простое исправление:
- Веб-интерфейс > Plugins
- Включите, а затем отключите "enable_deauth". Это немедленно отключит деаутентификацию, и переключатель плагина теперь будет работать эффективно (по крайней мере, для текущей сессии)
Мой 'gotchi выполняет ассоциации даже при отключенном плагине "enable_assoc"
Обычно это происходит при новых сессиях; 'gotchi просто "забывает", в каком состоянии (включено/отключено) он был при выключении. Простое исправление:
- Веб-интерфейс > Plugins
- Включите, а затем отключите "enable_assoc". Это немедленно отключит ассоциацию, и переключатель плагина теперь будет работать эффективно (по крайней мере, для текущей сессии)
Я получил трехцветный вариант экрана Waveshare, и он ужасен. Что делать?
- Во-первых — я же говорил
- Подключите Pwnagotchi (порт данных, а не питания)
- Веб-интерфейс > Plugins > webcfg
- Найдите
ui.fps и измените значение на 1 или 2
- Прокрутите вверх, нажмите "Save and Restart". Экран должен работать относительно намного лучше
Мне не нравится темный режим интерфейса, как сделать его белым, как по умолчанию?
- Подключите Pwnagotchi (порт данных, а не питания)
- Веб-интерфейс > Plugins > webcfg
- Найдите
ui.invert и измените значение на True
- Прокрутите вверх, нажмите "Save and Restart"
Элементы memtemp-plus обрезаются
- Либо измените на следующие значения в плагине tweak_view, либо добавьте их в
/etc/pwnagotchi/tweak_view.json:
"VSS.memtemp_header.xy": "145,82",
"VSS.memtemp_data.xy": "145,95",
"VSS.Lv.xy": "151,72"