В этой статье мы познакомимся с Pwnagotchi — очаровательным виртуальным питомцем, живущим на Raspberry Pi Zero W. Несмотря на милую внешность, этот малыш — настоящий хакер, использующий искусственный интеллект для захвата паролей Wi-Fi.
Как это работает?
Pwnagotchi использует алгоритм обучения с подкреплением (A2C) и Bettercap для проведения пассивных и активных атак деаутентификации на сети Wi-Fi. Цель — перехватить "рукопожатия" — данные, которыми обмениваются устройства при подключении к Wi-Fi. Эти данные сохраняются в файлах .pcap, которые затем можно попытаться взломать с помощью hashcat, aircrack-ng и других инструментов.
Цель использования?
Дать (этическим) хакерам повод узнать об обучении с подкреплением, сетях Wi-Fi, процессах разведки и рукопожатия, а также дать повод для дальнейших прогулок, например.
- Изучение принципов работы Wi-Fi: Pwnagotchi позволяет на практике разобраться в механизмах аутентификации Wi-Fi, типах атак и методах защиты.
- Знакомство с алгоритмами машинного обучения: Наблюдая за работой алгоритма A2C, управляющего Pwnagotchi, можно понять, как машина обучается на основе полученных данных и оптимизирует свои действия для достижения цели.
- Развитие навыков этичного хакинга: Pwnagotchi помогает этичным хакерам и специалистам по безопасности тестировать защищенность собственных сетей, выявлять уязвимости и разрабатывать меры противодействия.
- Развлечение и геймификация обучения: Процесс обучения и "взросления" Pwnagotchi превращается в увлекательную игру, мотивирующую пользователей глубже погружаться в изучаемые темы.
Аппаратная часть:
- Raspberry Pi Zero W (обязательно с Wi-Fi): необходима W-версия Raspberry Pi Zero, чтобы наше устройство могло сканировать сигналы Wi-Fi.
- Карта microSD (минимум 8 ГБ): SD-карты объемом минимум 8 ГБ будет достаточно, но для более эффективного и быстрого использования моего устройства я выбрал SD-карту емкостью 32 ГБ.
- Кабель micro-USB (для передачи данных и питания): Обязательно приобретите кабель, поддерживающий передачу данных. Вы будете использовать порт данных для передачи данных/файлов, а порт питания — для включения вашего устройства. Я использую более короткий кабель, который поддерживает режим питания только тогда, когда я выхожу на прогулку.
- Портативный аккумулятор: Питания станет вашим аккумулятором, когда вы выйдете на прогулку со своим питомцем. Но будьте осторожны, чтобы ваш блок питания не превышал максимальное напряжение Raspberry Pi Zero. Я сам без проблем использую повербанк емкостью 6000 мАч, входом 5В/2А и выходом 5В/2,1А.
- Экран (опционально): Можно подключить свой Pwnagotchi к компьютеру и просматривать его пользовательский интерфейс через веб-браузер, но почему бы не приобрести экран, чтобы вы могли смотреть на милую мордочку вашего питомца, находясь на улице. В качестве экрана можно использовать 2,13-дюймовый Waveshare V4, который хорошо сочетается с Raspberry Pi Zero W.
Установка и программное обеспечение:
Сначала перейдите на эту страницу и загрузите последнее изображение pwnagotchi.
https://github.com/jayofelony/pwnagotchi/releases
После этого вставьте SD-карту в компьютер. Будем использовать balenaEtcher, чтобы записать образ Pwnagotchi на нашу SD-карту, которая будет банком памяти нашего виртуального устройства. Чтобы скачать его, посетите:
Теперь откройте balenaEtcher и выберите файл изображения Pwnagotchi, который вы хотите записать на SD-карту. Выберите SD-карту, на которую вы хотите записать свое изображение. Будьте осторожны и подождите, прежде чем извлекать SD-карту, вам нужно будет создать на ней последний файл с исходной конфигурацией, чтобы она работала правильно.
Как только мы прошьем наш образ, вставьте SD-карту в Rasperry Pi, а затем подключите Raspberry Pi к компьютеру. Обязательно используйте порт передачи данных устройства, а также кабель передачи данных, чтобы иметь возможность изменять/редактировать/передавать файлы.
Теперь нам нужно будет подключить Raspberry Pi к нашему ПК в качестве сетевого адаптера, чтобы наше устройство могло подключаться к Интернету, загружать/обновлять плагины и проверять связь с другими устройствами, используя основную сеть нашего ПК. Для этого вам необходимо скачать файл, ссылку на который вы можете найти в видео, URL которого я дал вам в конце этого раздела.
И теперь мы отредактируем настройки сетевого адаптера нашего устройства, чтобы оно могло использовать Интернет, и мы могли получить доступ к нашему устройству через порт ssh через cmd.
Вы все равно можете столкнуться с некоторыми проблемами, связанными с сетевым подключением, в этом случае перейдите к настройкам основного адаптера Wi-Fi и предоставьте устройству доступ к Интернету.
Теперь нам нужно подготовиться. Подключитесь к вашему устройству через ssh-порт. Пароль по умолчанию — «raspberry», но вы можете изменить его один раз в системе.
Чтобы проверить сетевое соединение, просто проверьте IP-адрес.
Пингуем, следовательно, есть. Теперь мы убедились, что у нас есть подключение к Интернету.
Используем программу передачи файлов, такую как FileZilla, чтобы быстрее загружать файлы с вашего Pwnagotchi на ваш компьютер.
Вот ссылка на видео, где показана правильная установка последнего ПО, которым я тоже пользовался сам:
Конфигурация
Pwnagotchi имеет три режима работы:
- Ручной: Подключите Pwnagotchi к компьютеру по USB для редактирования настроек, установки плагинов и переноса файлов.
- Автоматический: При питании от аккумулятора Pwnagotchi автоматически сканирует и атакует сети Wi-Fi.
- ИИ: В этом режиме Pwnagotchi использует алгоритмы машинного обучения для оптимизации атак и захвата рукопожатий.
В настройках системы по умолчанию существует каталог под названием «handshakes», куда будут загружены захваченные вами файлы .pcap.
Если вы хотите проверить/изменить настройки конфигурации вашего устройства, вы можете просто отредактировать файл /etc/pwnagotchi/config.toml. Вы можете добавить сети Wi-Fi, которые не должен «подключать» ваш Pwnagotchi, отредактировать плагины, которые будут включены/отключены, настроить цвет вашего виртуального питомца, изменить имя вашего устройства, сохранить захваченные вами файлы .pcap. в другой каталог и т. д.
Чтобы проверить наличие доступных плагинов, вы можете запустить команду ниже. Вы можете добавлять/обновлять/удалять плагины по своему усмотрению.
Если вы больше любите UI/UX, а не стандартного пользователя терминала, такого как я, просто посетите страницу плагинов с веб-страницы вашего устройства. Просто посетите «10.0.0.2:8080/имя вашего устройства/plugins».
Таким образом, вы можете просто включать/отключать свои плагины так, как вам нравится.
Спасибо за прочтение и ваше время. Надеюсь было полезно понять основы