Flipper Zero. На что способен мультитул-тамагочи для пентестера

 

Недавно нашел на просторах интернета один интересный проект, который объединяет в себе все самые нужные инструменты для взлома и пентеста. Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа. А еще это тамагочи, в котором живет кибер-дельфин.

Он будет уметь:

  • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
  • NFC — читать/записывать и эмулировать карты ISO-14443.
  • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
  • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
  • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
  • Bluetooth — поддерживается пакет bluez для Linux
  • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена. 

Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.

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

 

Зачем это нужно?

Я люблю исследовать все вокруг и постоянно таскаю с собой разные инструменты для этого. У меня в рюкзаке: WiFi-адаптер, NFC-ридер, SDR, Proxmark3, HydraNFC, Raspberry Pi Zero (из-за этого бывают проблемы в аэропорту). Всеми этими приборами не так просто воспользоваться на бегу, когда у тебя в одной руке чашка с кофе или ты едешь на велосипеде. Нужно сесть, разложиться, достать компуктер — это не всегда удобно. Я мечтал об устройстве, которое бы реализовывало типичные сценарии атак, было всегда в боевой готовности и при этом не представляло из себя пачку разваливающихся плат, смотанных изолентой.

 

Raspberry Pi Zero W с батарейным шилдом UPS-Lite v1.0 в качестве автономного флудера для рассылки картинок на устройства Apple по AirDrop

Недавно, после того как была опубликована открытая реализация протокола AirDrop owlink.org и исследование от ребят из HexWay об уязвимостях iOS Apple-Bleee, я стал развлекаться новым для себя способом: знакомиться с людьми в метро, рассылая им картинки через AirDrop и собирая их номера телефонов. Потом я захотел автоматизировать этот процесс и сделал автономную дик-пик машину из Raspberry Pi Zero W и батарейки. Эта тема заслуживает отдельной статьи, которую я никак не могу дописать. Все бы хорошо, но этот девайс было крайне неудобно носить с собой, его нельзя было положить в карман, потому что острые капли припоя рвали ткань штанов. Я попробовал напечатать корпус на 3d-принтере, но результат мне не понравился. 

Pwnagotchi в сборе с e-ink экраном и батарейным шилдом

Потом я увидел потрясающий проект pwnagotchi. Это как тамагочи, только в качестве еды он ест WPA-хендшейки и PMKID от Wi-Fi сетей, которые потом можно брутить на GPU-фермах. Мне так понравился этот проект, что я несколько дней ходил со своим pwnagotchi по улицам и смотрел как он радуется новой добыче. Но у него были все те же проблемы: нельзя нормально положить в карман, нет органов управления, поэтому любой пользовательский ввод возможен только с телефона или компьютера.

И тогда я наконец понял, каким вижу идеальный мультитул, которого мне не хватало. Я написал об этом в твиттер и идея понравилась моим друзьям промдизайнерам, которые делают серьезные электронные штуки. Они предложили сделать полноценный девайс, вместо наколенной DIY-поделки. С настоящим фабричным производством и качественно подогнанными деталями. Мы приступили к поиску концепции дизайна. 

 

Первые зарисовки дизайна Flipper Zero

 

 

 

Корпусу и дизайну уделено много времени, потому что я устал, что все хакерские девайсы выглядят как куча PCB, смотанных изолентой и ими невозможно нормально пользоваться. Задача была придумать максимально удобный и компактный корпус и устройство, которым будет легко пользоваться автономно без компьютера или телефона, и вот, что из этого получилось. Дальше описан текущий не финальный концепт устройства.

 

Что такое Flipper Zero

 

По сути Flipper Zero это несколько шилдов и батарейка вокруг Raspberry Pi Zero, упакованные в корпус с экранчиком и кнопками. В качестве ОС используется Kali Linux, так как он уже содержит все необходимые патчи и из коробки поддерживает rpi0. Я смотрел на много разных одноплатных компьютеров: NanoPi Duo2, Banana Pi M2 Zero, Orange Pi Zero, Omega2, но все они проигрывают rpi0 и вот почему:

  • Встроенный Wi-Fi адаптер, поддерживающий мониторный режим и инъекции пакетов (nexmon патчи)
  • Встроенный Bluetooth 4.0
  • Достаточно хорошая 2.4 Ghz антенна
  • Официально поддерживается Kali Linux и имеет множество готовых сборок вроде P4wnP1 A.L.O.A.
  • Легкий доступ к SD-карте, можно быстро передать большой объем данных

Наверняка многие скажут, что Raspberry Pi не лучший выбор для такого устройства и найдут множество аргументов, например высокое энергопотребление, отсутствие спящего режима, не открытые железо и т.д. Но если сравнивать все минусы и плюсы, ничего лучше rpi0 я не нашел. Если у вас есть что сказать по этому поводу, добро пожаловать на форум разработчиков forum.flipperzero.one.

 

Flipper Zero полностью автономный и может управляться с помощью 5-позиционного джойстика без дополнительных устройств, таких как компьютер или телефон. Из меню можно вызвать типовые сценарии атак. Разумеется не все можно сделать с помощью джойстика, поэтому для большего контроля можно подключиться по SSH через USB или по Wi-Fi/Bluetooth.

Я решил использовать олдскульный монохромный LCD-дисплей с разрешением 126х64px как на старых телефонах Siemens. Во первых это просто круто, монохромный экранчик с оранжевой подсветкой вызывает у меня неописуемый восторг, эдакий ретро-милитари-киберпанк. Его прекрасно видно на ярком солнце и у него очень низкое энергопотребление, около 400uA с выключенной подсветкой. Поэтому его можно держать в Always-On режиме и всегда выводить изображение. Подсветка будет включаться только при нажатии на клавиши.

Примеры экранчиков на телефонах Siemens

Такие экраны до сих пор выпускают для всяких промышленных устройств и кассовых аппаратов. На текущий момент мы выбрали этот экран

 

Порты Flipper Zero

На торцах Flipper Zero имеет стандартные порты Raspberry Pi, кнопку включения/подсветки, отверстие для ремешка и дополнительный сервисный порт, через который можно получить доступ к UART-консоли, зарядить батарею, залить новую прошивку.

 

433 MHz трансмиттер

 

 

Flipper имеет встроенную антенну на 433 MHz и чип CC1111, для работы в диапазоне <1GHz, такой же, как в популярном устройстве Yard Stick One. Он может перехватывать и анализировать сигналы радиопультов, брелков, всяких умных розеток и замков. Поддерживает работу с библиотекой rfcat и умеет декодировать, сохранять и воспроизводить популярные коды пультов, подобно ПДУ анализатору. Для случаев, когда Raspberry Pi не успевает обработать сигнал, работу CC1111 может контролировать встроенный микроконтроллер. В режиме тамагочи Flipper может общаться с себеподобными и отображать их имена, как это делает pwnagotchi.

 

Bad USB

 

Flipper может эмулировать USB-slave устройства и прикидываться клавиатурой для залива пейлоада, подобно USB Rubber Ducky. А также эмулировать ethernet-адаптер для подмены DNS, последовательный порт и т.д. Для Raspberry Pi есть готовый фреймворк, реализующий различные виды таких атак github.com/mame82/P4wnP1_aloa

Нужный сценарий атаки можно выбрать из меню джойстиком. При этом на экране может выводится отладочная информация о состоянии атаки или же что-то безобидное для маскировки.

 

WiFi

 

Встроенный в Raspberry Pi адаптер Wi-Fi изначально не поддерживает мониторный режим инъекции пакетов, но есть сторонние патчи, добавляющие эту функцию. Для некоторых видов атак нужно два независимых Wi-Fi адаптера. Сложность заключается в том, что почти все Wi-Fi чипы подключаются по USB, а мы не можем занять единственный USB на rpi0, иначе сломается режим USB Slave. Поэтому необходимо использовать интерфейс SPI или SDIO для подключения Wi-Fi адаптера. Мне неизвестно ни одного такого чипа, который поддерживает мониторный режим и инъекцию пакетов из коробки, при этом подключается НЕ по USB. Если вы знаете такой, подскажите, пожалуйста, на форуме в теме Wi-Fi chip with SPI/SDIO interface that supports monitoring and packet injection

 

NFC

Flipper Zero — модуль для чтения NFC-карт

 

 

NFC-модуль умеет читать/писать все ISO-14443 карты, в том числе Mifare, банковские бесконтактные карты PayPass/PayWave, ApplePay/GooglePay и прочее. Поддерживается библиотекой LibNFC. В нижней части Флиппера есть антенна на 13,56 MHz, и для работы с картой его достаточно положить на нее сверху. На данный момент остается открытым вопрос эмуляции карт. Хотелось бы полноценный эмулятор вроде Chameleon Mini , но при этом хочется иметь возможность работать с LibNFC. Я не знаю вариантов чипа кроме NXP PN532, но он не может полноценно эмулировать карты. Если вы знаете вариант лучше, напишите об этом в теме Looking for better NFC chip than PN532 

 

125kHz RFID

 

Старые низкочастотные карты 125 kHz до сих пор широко используются в домофонах, офисных пропусках и т.д. На боковой грани флиппера расположена 125 kHz антенна, он может читать карты EM-4100 и HID Prox, сохранять их в память и эмулировать ранее сохраненные карты. Так же можно передать ID карты для эмуляции по интернету или вписать его вручную. Таким образом владельцы флиппера могут передавать друг другу считанные карты удаленно. Кайф.

 

iButton

 

iButton — старый тип контактных ключей, которые до сих пор популярны в СНГ. Они работают по протоколу 1-Wire и не имеют никаких средств аутентификации, поэтому могут быть легко прочитаны. Флипер умеет читать эти ключи, сохранять ID в память, записывать ID на болванки и эмулировать ключ самостоятельно так, что его можно прикладывать к считывателю как ключ. 

 

Режим считывателя (1-wire master)

 

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

 

Режим эмуляции ключа (1-wire slave)

 

Сохраненные ключи можно эмулировать в режиме 1-wire slave. Флиппер выступает в роли ключа и его можно прикладывать к считывателю. Главная сложность состояла в том, чтобы придумать конструкцию контактной площадки, которая бы одновременно могла использоваться как считыватель и как ключ. Мы нашли такую форму, но я уверен что ее можно сделать еще лучше, и если вы знаете как, предложите свой вариант на форуме в теме iButton contact pad design

 

Bluetooth

 

Встроенный в Raspberry Pi Bluetooth-адаптер. Конечно он не может заменить устройства вроде ubertooth one, но зато полностью поддерживается библиотекой bluez, может использоваться для управление флиппером со смартфона или для различных атак на bluetooth вроде apple-bleee, позволяющей собирать sha256 от номеров мобильных телефонов, привязанных к Apple ID, а так же управлять всякими IoT-девайсами.

 

Микроконтроллер с низким энергопотреблением

 

Так как флиппер слишком крут, чтобы его выключать, мы решили засунуть в него отдельный микроконтроллер с низким энергопотреблением который будет работать, когда Raspberry Pi выключен. Он будет управлять тамагочи, контролировать процесс загрузки Raspberry Pi до момента, пока тот не готов управлять экраном и управлять питанием. Так же он будет управлять чипом CC1111 для связи с другими флипперами. 

 

Режим тамагочи

Флиппер это кибер-дельфин хакер, которому подвластны все цифровые стихии. Когда Raspberry Pi выключен, он переходит в режим тамагочи, с которым можно играть и находить друзей на частоте 433 MHz. В этом режиме, вероятно, будут частично доступны функции NFC.

 

Прототипом персонажа стал дельфин из фильма Джонни Мнемоник который помог похекать мозги Киано Ривза и своим излучением размозжил плохих парней. У дельфинов есть встроенный частотный генератор, которым они исследуют все вокруг, а так же врожденная потребность в развлечении и природное любопытство. Нам нужен человек, который сможет придумать личность флиппера, весь игровой дизайн в целом, от эмоций до мини-игр. Все свои соображения по этому поводу можно писать форум в соответствующий раздел.

 

За статью спасибо habr.  Все заметки по проекту автор публикует в свой Telegram-канал @zhovner_hub.

Категория: Пинтест | Добавил: OSVALD (13.02.2020)
Просмотров: 553 | Рейтинг: 0.0/0