— проект кишенькового мультитулу на основі Raspberry Pi Zero для пентесту IoT та бездротових систем контролю доступу. А ще це тамагочі, в якому живе кібер-дельфін. Він вмітиме:
- Працювати у діапазоні 433 MHz - Для дослідження радіопультів, датчиків, електронних замків та реле.
- NFC — читати/записувати та емулювати картки ISO-14443.
- 125 кГц RFID - читати/записувати та емулювати низькочастотні карти.
- iButton ключі — читати/записувати та емулювати контактні ключі, що працюють за протоколом 1-Wire.
- Wi-Fi Internet, — щоб перевірити бездротову мережу. Адаптер підтримує ін'єкції пакетів та моніторний режим.
- 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 та дослідження від хлопців з HexWay про вразливості iOS я почав розважатися новим для себе способом: знайомитися з людьми в метро, розсилаючи їм картинки через AirDrop і збираючи їх номери телефонів. Потім я захотів автоматизувати цей процес і зробив автономну дик-пік машину з Raspberry Pi Zero W та батарейки. Ця тема заслуговує на окрему статтю, яку я ніяк не можу дописати. Все б добре, але цей девайс було вкрай незручно носити з собою, його не можна було покласти в кишеню, тому що гострі краплі припоювали тканину штанів. Я спробував надрукувати корпус на 3d принтері, але результат мені не сподобався.
Окреме дякую Ані Просвітовий, що веде Telegram-канал яка на моє прохання написала Telegram-бота , який генерує картинки з текстом, телеграм-ником та правильним співвідношенням сторін так, що вони повністю відображаються на прев'ю при посилці через Airdrop. Можна швидко згенерувати картинку, що підходить за ситуацією, виглядає це .
Pwnagotchi у зборі з e-ink екраном та батарейним шилдом Потім я побачив приголомшливий проект . Це як тамагочі, тільки як їжа він їсть 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 адаптер, що підтримує моніторний режим та ін'єкції пакетів ( патчі)
- Вбудований Bluetooth 4.0
- Досить гарна
- Офіційно підтримується Kali Linux і має безліч готових збірок начебто
- Легкий доступ до SD-карти можна швидко передати великий обсяг даних
Напевно багато хто скаже, що Raspberry Pi не найкращий вибір для такого пристрою і знайдуть безліч аргументів, наприклад, високе енергоспоживання, відсутність сплячого режиму, не відкриті залізо і т.д. Але якщо порівнювати всі мінуси та плюси, нічого кращого за rpi0 я не знайшов. Якщо у вас є що сказати з цього приводу, ласкаво просимо на форум розробників .
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 та чіп , для роботи в діапазоні <1GHz, такий же, як у популярному пристрої . Він може перехоплювати та аналізувати сигнали радіопультів, брелків, всяких розумних розеток та замків. Підтримує роботу з бібліотекою і вміє декодувати, зберігати та відтворювати популярні коди пультів, подібно . Для випадків коли Raspberry Pi не встигає обробити сигнал, роботу CC1111 може контролювати вбудований мікроконтролер. У режимі тамагочі Flipper може спілкуватися з собіподібними та відображати їхні імена, як це робить pwnagotchi.
Bad USB
Flipper може емулювати USB-slave пристрої і прикидатися клавіатурою для затоки пейлоаду, подібно . А також емулювати ethernet-адаптер для заміни DNS, послідовний порт тощо. Для Raspberry Pi є готовий фреймворк, що реалізує різні види таких атак Виберіть потрібний сценарій атаки з меню джойстиком. При цьому на екрані може виводиться налагоджувальна інформація про стан атаки або щось невинне для маскування.
Wi-Fi
Вбудований у Raspberry Pi адаптер Wi-Fi спочатку не підтримує моніторний режим ін'єкції пакетів, але є , що додають цю функцію. Для деяких видів атак потрібно два незалежні Wi-Fi адаптери. Складність полягає в тому, що майже всі Wi-Fi чіпи підключаються USB, а ми не можемо зайняти єдиний USB на rpi0, інакше зламається режим USB Slave. Тому необхідно використовувати інтерфейс SPI або SDIO для підключення Wi-Fi адаптера. Мені невідомо жодного такого чіпа, який підтримує моніторний режим та ін'єкцію пакетів із коробки, при цьому підключається НЕ USB. Якщо ви знаєте такий, підкажіть, будь ласка, на форумі у темі
NFC
NFC-модуль вміє читати/писати всі ISO-14443 карти, у тому числі Mifare, банківські безконтактні картки PayPass/PayWave, ApplePay/GooglePay та інше. Підтримується бібліотекою LibNFC. У нижній частині Фліппера є антена на 13,56 МГц, і для роботи з картою його достатньо покласти на неї зверху. На даний момент залишається відкритим питання емуляції карток. Хотілося б повноцінний емулятор начебто Але при цьому хочеться мати можливість працювати з LibNFC. Я не знаю варіантів чіпа крім NXP 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. Фліппер виступає у ролі ключа і його можна прикладати до зчитувача. Головна складність полягала в тому, щоб придумати конструкцію контактного майданчика, яка одночасно могла б використовуватися як зчитувач і як ключ. Ми знайшли таку форму, але я впевнений, що її можна зробити ще краще, і якщо ви знаєте як, запропонуйте свій варіант на форумі в темі
Bluetooth
Вбудований у Raspberry Pi Bluetooth-адаптер. Звичайно він не може замінити пристрої начебто , але повністю підтримується бібліотекою bluez, може використовуватися для управління фліппером зі смартфона або для різних атак на bluetooth на кшталт , що дозволяє збирати sha256 від номерів мобільних телефонів, прив'язаних до Apple ID, а також управляти будь-якими IoT-девайсами.
Мікроконтролер із низьким енергоспоживанням
Так як фліппер занадто крутий, щоб його вимикати, ми вирішили засунути в нього окремий мікроконтролер з низьким енергоспоживанням, який буде працювати, коли Raspberry Pi вимкнений. Він керуватиме тамагочі, контролюватиме процес завантаження Raspberry Pi до моменту, поки той не готовий керувати екраном і керувати живленням. Також він керуватиме чіпом CC1111 для зв'язку з іншими фліпперами.
Режим тамагочі
Фліппер – це кібер-дельфін хакер, якому підвладні всі цифрові стихії. Коли Raspberry Pi вимкнено, він переходить у режим тамагочі, з яким можна грати та знаходити друзів на частоті 433 MHz. У цьому режимі, можливо, будуть частково доступні функції NFC.
Прототипом персонажа став дельфін із фільму який допоміг посміхатися мізки Кіано Рівза і своїм випромінюванням розмозжив поганих хлопців. У дельфінів є вбудований частотний генератор, яким вони досліджують усе довкола, а так само вроджена потреба в розвазі та природна цікавість. Нам потрібна людина, яка зможе вигадати особистість фліппера, весь ігровий дизайн в цілому, від емоцій до міні-ігор. Усі свої міркування із цього приводу можна писати у відповідний розділ.
Про мене
Мене звуть Павло Жовнер, я живу у Москві. На даний момент я керую московським . З самого дитинства я люблю глибоко дослідити все довкола: природу, технології, людей. Моя основна спеціалізація: мережі, залізо та безпека. Я намагаюся ніколи не використовувати слово «хакер», тому що завдяки ЗМІ та медіа воно повністю знецінене. Мені подобається називати себе «задрот», тому що воно чесніше і без пафосу розкриває суть. У житті я ціную захоплених людей, які глибоко емоційно залучаються до того, що їм цікаво, яких теж сміливо можна називати задротами. Я вірю в Open Source, тому проект буде повністю відкритий. На даний момент у мене є невелика команда, але нам не вистачає людей компетентних у вузьких областях, особливо радіо. За допомогою цієї посади я сподіваюся знайти людей, які захочуть приєднатися до проекту.
Приєднатися до проекту
Я запрошую всіх, кому сподобався цей проект взяти участь у розробці у будь-який доступний спосіб. На цьому етапі нам потрібно затвердити фінальний список функцій, щоб розпочати реалізацію першої версії пристрою. Є багато технічних питань, які зараз не вирішені.
для розробників
Всі наші поточні завдання з R&D ми обговорюватимемо на форумі . Якщо ви розробник заліза чи софту, або у вас є будь-які питання, поради, пропозиції, критика – сміливо пишіть їх на форум. Це головне місце де відбуватиметься обговорення всіх етапів розробки, краудфандингу, виробництва. Спілкування на форумі ведеться Тільки англійською, не соромтеся писати кострубато, головне щоб був зрозумілий сенс.
Проголосувати за функції
Нам дуже важливо знати, які функції мають бути у фліппері. Від цього залежатимуть пріоритети у розробці. Можливо, я помилково вважаю, що якісь функції важливі, або набір упускаю щось. Наприклад, я маю сумніви щодо iButton, адже це застаріла технологія. Тому будь ласка пройдіть коротке опитування:
Надіслати грошей
Коли буде закінчено прототип і проект буде готовий для виходу на краудфандинговий майданчик на кшталт KickStarter, можна буде сплатити попереднє замовлення. На даний момент ви можете підтримати мене особисто невеликими пожертвами на їжу через . Регулярні пожертвування у вигляді 1$ набагато кращі, ніж велика сума за раз, тому що дозволяють прогнозувати наперед. Посилання для донатів:
відмова
Проект знаходиться на дуже ранній стадії, на сайті можуть бути помилки, крива верстка та інші проблеми, тому не обсипайте дуже сильно. Про всі знайдені помилки та неточності будь ласка повідомляйте мені. Це перша публічна згадка про проект, і з вашою допомогою я сподіваюся усунути всі шорсткості перед тим як публікувати у великі англомовні інтернети.
Усі нотатки щодо проекту я публікую у свій Telegram-канал .
Джерело: habr.com
