Найти тему

Собираем и настраиваем Pwnagotchi. Часть 1.

Оглавление

1. Введение.

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

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

В результате поисков выбор пал на устройство Pwnagotchi - инструмент для аудита беспроводных сетей, похожий на игрушку Тамагочи.

Фото взято с сайта: https://www.tindie.com/
Фото взято с сайта: https://www.tindie.com/

На момент написание статьи готовое к использованию устройство стоило $105 без учета стоимости доставки в РФ. За эту сумму в комплект поставки входит:

  • Одноплатный компьютер Raspberry Zero W.
  • Аккумулятор PiSugar v1 или v2 на 1200 мА/ч с платой управления.
  • Корпус (3D-печать методом SLA, белого цвета).
  • Карта памяти microSD на 32 Гб.
  • Карт-ридер.
  • Переходник OTG и miniHDMI.

Пообщавшись с тех.поддержками пары самых популярных сервисов доставки в РФ выяснил, что они без проблем доставят готовое устройство, а вот отдельно аккумулятор - нет. А в РФ либо не достать компоненты, либо цены на них слишком высоки. Так что если не хотите заморачиваться со сборкой - готовое устройство ваш выбор. Кстати, на том же Авито (ни в коем случае не реклама) периодически появляются объявления о продаже готовых комплектов.

2. Подготовка к сборке.

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

  1. Одноплатный компьютер Raspberry Pi Zero W.
  2. Карта памяти microSD объемом 8 Гб.
  3. Кабель USB-microUSB
  4. Переходник USB OTG microUSB(M)-USB(F).
  5. Программа для записи образа на карту памяти balenaEtcher.
  6. GPS/GLONASS приемник u-Blox 7.

3. Установка и первоначальная настройка.

У меня компьютер на Windows, поэтому все дальнейшее будет описано под эту ОС. Перед записью образа я отформатировал карту памяти. Далее устанавливаем программу balenaEtcher, запускаем её, выбираем образ Pwnagotchi, карту памяти и записываем:

-2

Убеждаемся, что процесс прошел без ошибок. После записи образа флешка будет разделена на 3 раздела:

-3

Заходим в раздел boot и в самом корне создаем там файл с именем config.toml со следующим содержимым:

main.name = "Nokia3310"
main.lang = "en"
main.whitelist = [
"My_home_WiFi",
"My_work_WiFi",
"01:ac:bc:11:11:00"
]

main.plugins.grid.enabled = false
main.plugins.grid.report = false
main.plugins.grid.exclude = [
"My_home_WiFi",
"My_work_WiFi",
"01:ac:bc:11:11:00"
]

ui.display.enabled = true
ui.display.type = "waveshare_2"
ui.display.color = "black"

В первом блоке мы можем задать имя устройства, язык и добавить сети в белый список. Т.е. устройство не будет проводить их аудит. Если вы собираете устройство впервые - не вносите сети в исключения, поэкспериментируйте. А вот позже при "боевом" использовании настоятельно рекомендую сменить имя на что-то нейтральное, а также добавить в исключения домашние и рабочие сети. Во втором блоке я отключил передачу данных на сервер PwnGrid. Задача у меня приватная, эта функция мне не нужна. В третьем блоке задаются параметры дисплея. У меня его нет и подключать его не планирую, поэтому оставляю без изменений.

После первого запуска устройства файл config.toml будет установлен и удален с карты. В дальнейшем поменять конфигурацию можно будет на самом устройстве в файле /etc/pwnagotchi/config.toml

-4

Правый порт microUSB для передачи данных (далее - rpiUSB), а левый для питания (далее - rpiPWR). Не путайте их, обращайте внимание на маркировку на плате.

Подключаем один конец кабеля к компьютеру, второй конец к порту rpiPWR. Ждем, пока система сгенерирует RSA-ключи. У меня обычно на это уходит от 7 до 15 минут. Если к плате подключить монитор, то по завершении процесса вы увидите что-то подобное:

-5

После генерации ключей подключаем кабель к порту rpiUSB. В идеале в Windows должен появиться сетевой адаптер. У меня не появился и пройдясь по настройкам завести эту шарманку не получилось. Поэтому я запустил Ubuntu на VirtualBox и подключил плату через меню "Устройства - USB":

-6

Или через меню в нижнем правом углу окна:

-7

После подключения устройства в Ubuntu сразу же появится новый сетевой адаптер "USB Ethernet". Открываем настройки системы, переходим в раздел Network:

-8

Открываем настройки адаптера (шестеренка, выделенная желтым) и настраиваем вручную: IP: 10.0.0.1, маска сети: 255.255.255.0, шлюз: 10.0.0.1 и нажимаем Apply.

-9

Открываем терминал и пингуем нашу плату:

-10

Пинг прошел, а значит мы можем подключиться к плате по ssh, по умолчанию пароль raspberry:

-11

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

В следующей части статьи мы продолжим настраивать устройство.