Не работает дисплей тамагочи

Обновлено: 04.07.2024

Flipper Zero — Multi-tool Device for Hackers

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-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

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

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


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

Отдельное спасибо Ане koteeq Просветовой, ведущей Telegram-канал @theyforcedme которая по моей просьбе написала Telegram-бота @AirTrollBot, который генерирует картинки с текстом, телеграм-ником и правильным соотношением сторон так, что они полностью отображаются на превью при посылке через Airdrop. Можно быстро сгенерировать картинку, подходящую по ситуации, выглядит это примерно так.


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-карте, можно быстро передать большой объем данных


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



Встроенный в 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

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

Flipper Zero 125 kHz RFID Low frequency cards reader / writer / emulator

Старые низкочастотные карты 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.


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

Обо мне

Павел Жовнер

Меня зовут Павел Жовнер, я живу в Москве. В данный момент я руковожу московским Хакспейсом Нейрон. С самого детства я люблю глубоко исследовать все вокруг: природу, технологии, людей. Моя основная специализация: сети, железо и безопасность.

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

Flipper Zero — это моя попытка сделать что-то по-настоящему крутое и масштабное, и при этом красивое. Я верю в open source, поэтому проект будет полностью открытый. В данный момент у меня есть небольшая команда, но нам не хватает людей компетентных в узких областях, особенно в радио. С помощью этого поста я надеюсь найти людей, которые захотят присоединиться к проекту.

Присоединиться к проекту

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

Для разработчиков


Все наши текущие задачи по R&D мы будем обсуждать на форуме forum.flipperzero.one. Если вы разработчик железа или софта, или у вас есть любые вопросы, советы, предложения, критика — смело пишите их на форум. Это главное место где будет происходить обсуждение всех этапов разработки, краудфандинга, производства. Общение на форуме ведется только на английском, не стесняйтесь писать коряво, главное чтобы был понятен смысл.

Проголосовать за функции

Заслать денег



Когда будет закончен прототип и проект будет готов для выхода на краудфандинговую площадку вроде KickStarter, можно будет оплатить предзаказ. В данный момент вы можете поддержать меня лично небольшими пожертвованиями на еду через Patreon. Регулярные пожертвования в виде 1$ намного лучше, чем большая сумма за раз, потому что позволяют прогнозировать наперед. Ссылка для донатов: flipperzero.one/donate
--------------------------------

Disclaimer

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


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

В видео показан способ превращения тамагочи в домофонный ключ и проездной для общественного транспорта.В итоге мы получаем двухдиапазонный ключ на 125 кГц и 13 МГц.
В качестве низкочастотного чипа используется перезаписываемый Atmel T5577.
Вместо проездного можно использовать любой высокочастотный чип, например mifare zero для записи на него студенческой карты.

По началу мне хотелось открывать домофон вообще без модификации железа, так как протокол его очень похож на em4100.
Разбор протокола Tamagotchi Friends .
Но для этого требовалось модифицировать прошивку, а как это сделать никто пока не выяснил.

image

Вот, кстати, блог посвященный реверсингу Тамагочи natashenka.ca Его автор сотрудица Google из Android Secuiry Team.
Она смогла взломать тамагочи модели TamaTown Tama-Go и даже сделала программатор для него:

Я решил поступить крайне просто и припаять чип к родной антенне.
Проще всего достать чип T557 получилось из домфонного брелка разломав его плоскогубцами.

image

Я ожидал что припаянный напрямую в родной антенне чип может вызвать проблемы с беспроводными функциями тамагочи, но этого не произошло. И домофон и тамагочи работали отлично. Разве что в момент активированной функции Bump (ожидание соединения с другим тамагочи) домофон открыть нельзя. Но это не проблема.

Намного сложнее дело обстояло с высокочастотной частью. Смонтировав обе антенны в корпус обнаружилось что проездной не читается. Пришлось долго играться с положением меньшей антенны чтобы чтобы он заработал.
Извелечение чипа из карты Тройка тоже оказалось непростой задачей, за время съемок ролика было сломано две штуки.

Читайте также: