• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Хакерский «мультитул». Что я успел натворить за месяц с Flipper Zero.

baykal

(L2) cache
Пользователь
Регистрация
16.03.2021
Сообщения
370
Реакции
838
Flipper — хакерский «мультитул», созданный командой российских разработчиков, — успел неплохо прославиться. В начале 2021 года проект собрал почти 5 миллионов долларов на «Кикстартере», потом сообщество с интересом следило за всеми перипетиями производства, а теперь начались сложности с распространением и доставкой. Я уже получил свой экземпляр и расскажу о том, как использую его в жизни, чтобы помочь тебе понять, стоит ли срочно обзаводиться «Флиппером».

Уже больше года прошло с тех пор, как первые бэкеры получили свои девайсы, но шумиха вокруг Flipper Zero только усиливается. Миллионы просмотров видео скрипт‑кидди в «Тиктоке» и обзоры в известных блогах, таких как Linus Tech Tips, новости об уничтожении и конфискации партий «Флиппера», да еще и запрет на продажу на Amazon и eBay только подогревают интерес к устройству. В рекламе компонентов СКУД‑систем уже пишут «Flipper Zero не сработает!». Спрос на «Флиппер» настолько большой, что о дропах новых партий объявляют заранее, а разлетаются они мгновенно. При этом не дремлют и скамеры, которые пытаются заработать на ажиотаже.

flipper-explode.png

При этом новоиспеченные обладатели устройства, которые повелись на хайп, раз за разом спрашивают на сабреддите «Флиппера»: «А что с ним делать?» Ответ чаще всего: «Играть в змейку и открывать лючки зарядки у Tesla».

Давай вместе пройдемся по доступным в заводской прошивке возможностям «Флиппера» и попробуем понять, какие потенциальные применения ему найдутся в жизни гика.

Итак, после распаковки Flipper быстро включается и сразу же готов к работе. Единственное, что потребовалось, — это флешка microSD и обновление прошивки.

SUB-GHZ​

Начнем с самой интересной, на мой взгляд, функции. Flipper умеет принимать, записывать и воспроизводить радиосигналы в определенных диапазонах на частотах до 1 ГГц. Но с базовой прошивкой — в разрешенных пределах в зависимости от региона. Для моей страны эти диапазоны те же, что и для России: 433,05–434,79 МГц, 868,15–868,55 МГц, 915 МГц, 925 МГц.

Судя по моему небольшому опыту и беглому поиску по маркетплейсам, большинство шлагбаумов в нашем регионе работает на частоте 433,92 МГц и использует статический код. Это значит, что сигнал пульта от такого шлагбаума легко принять и сохранить в «Флиппер» для дальнейшего применения.

Конечно, это не относится к платным подземным парковкам, частным домам и другим местам в таком духе. Там обычно стоят более продвинутые СКУД. Но коды шлагбаумов в закрытых дворах многоквартирных домов, на небольших частных парковках и офисных стоянках отлично копируются.

Шлагбаум на парковке​

В моем доме для въезда на территорию используется именно такой шлагбаум с недорогим пультом. Копирование сигналов всех трех его кнопок занимает в общей сложности меньше минуты, а записанный на «Флиппер» сигнал отлично работает — не хуже, чем когда используешь пульт.

Для записи нужно всего лишь выбрать в разделе Sub-GHz пункт Read и установить центральную частоту, которая обычно указана на пульте. После нажатия по очереди всех кнопок «Флиппер» их определит и демодулирует сигналы, а нам останется только сохранить их под каким‑то именем.

Следующей жертвой я наметил пульт от ворот подземной парковки. На него надежды было мало, потому что, в отличие от пульта шлагбаума, за него мне пришлось отвалить залог, эквивалентный 3,5 тысячи рублей, а на местном радиорынке наотрез отказались его копировать, повторяя «Rolling code, rolling code».

Однако на тех же самых настройках «Флиппер» безошибочно определил источник сигнала как Marantec, что совпало с надписью на самом пульте. Обе кнопки успешно записались и отлично функционируют. Даже дальность работы пультов и «Флиппера» ничем не отличается.

Итого: минус два лишних брелока, сэкономленные деньги и плюсик «Флипперу».

Копируем пульты

Кстати, по поводу дальности считывания сигнала. Я провел небольшой эксперимент, в результате которого определил, что записать сигнал с таких беспроводных пультов можно с расстояния около 20 м в прямой видимости. Правда, зона уверенного приема (запись сигнала после короткого нажатия кнопки) оказалась чуть меньше — порядка 15–18 м в зависимости от пульта. Впрочем, это расстояние можно увеличить, если использовать дополнительный ВЧ‑модуль с внешней антенной.

Основной вывод: при использовании простеньких незащищенных пультов всегда есть вероятность, что потенциальный злоумышленник перехватит сигнал.

Автомобиль​

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

Rolling code (скользящий, или динамический, код) — технология, которую применяют в радиочастотном дистанционном управлении, чтобы защититься от копирования ключа. Принцип ее работы очень простой: при каждом использовании код меняется, причем каждый код, отправленный передатчиком и принятый приемником, считается использованным и может быть принят только один раз.

Технология надежная, но даже из описания можно понять, что у нее есть один изъян — использованным считается только принятый приемником код.

То есть полностью скопировать брелок от современного автомобиля не получится, но один раз снятый «Флиппером» сигнал сработает. В отличие от случая с пультом от парковки, полностью демодулировать сигнал не выйдет, и мы запишем его в формате RAW, выбрав в меню соответствующий пункт.

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

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

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

Хакаем «Теслу»​

Популярное развлечение владельцев «Флиппера» в Европе и Америке — дистанционное открытие лючков зарядки в «Теслах». В России вероятность встретить «Теслу» не так велика. А вот там, где я живу, они попадаются намного чаще. Лючок одной из них (исключительно в образовательных целях) я торжественно открыл к большому удивлению сидевшего в ней владельца. Конечно же, делал я это в суперудобном стелс‑режиме Screen Streaming из приложения для iPhone, чтобы не столкнуться с недопониманием хозяина машины.

Рай флипперовода, по мнению пользователей Reddit

Чтобы провернуть этот трюк, нужно скачать с GitHub четыре файла, соответствующие двум вариациям сигналов — для машин европейского и американского рынков. Поскольку частоты «Флиппера» в стандартной прошивке залочены с учетом региона, сигнал для американской «Теслы» мне воспроизвести не удалось, а при попытке это сделать «Флиппер» выдавал грозную картинку. Видимо, несколько других попавшихся мне машин, которые мне не удалось хакнуть, были как раз американскими.

Дельфин грозит плавником (?)


RFID​

Пожалуй, самое простое и полезное применение «Флиппера» — это сохранение ключей домофона.

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

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

Интересно, что протокол настолько не защищен, что эмулировать ключ можно буквально по фотографии. По протоколу E4100 значимые данные содержатся в пяти байтах. Если на ключе есть последовательность цифр типа «049, 43317», то для ввода ключа в ручном режиме необходимо перевести эти два числа в Hex. Должно получиться 00 31, A9 35. Перед этими четырьмя байтами добавляем код версии (нужно будет подобрать) и вводим вручную: 00 00 31 A9 35. Этим кодом можно пользоваться для эмуляции так же, как и любым считанным по радиоканалу.

Дрессированный дельфин открывает двери силой мысли

Ключи EM-Micro EM4100 бывают неперезаписываемые (в основном маркированные, их заносят в память домофона) и перезаписываемые. Последние нам и потребуются для создания копий ключей. Для этой цели я заказал на одном из маркетплейсов пучок из десяти болванок за 300 с чем‑то рублей. Важно: заказывать нужно ключи Т5577. Именно они поддерживают перезапись и отлично работают.

Успешно прошиваем болванки Т5577 (в зеленом корпусе видны внутренности ключа — чип и антенна)


NFC​

В 2020 году, когда я решил поддержать «Флиппер» на «Кикстартере», я возлагал большие надежды на NFC. В России у меня очень многое работало именно на этой технологии — шлагбаум в гаражном кооперативе, офисный пропуск, домофон, браслет в фитнес‑клубе. А вот после переезда, к моему большому сожалению, я не смог найти для этой функции ни одного полезного применения. Все, что мне удалось сделать, — немного поэкспериментировать.

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

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

Пять рублей

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

IR​

Отличная функция «Флиппера», которой я также постоянно пользуюсь, — это ИК‑пульт.

Если судить по «Тиктоку», основное применение этой функции — выключение телевизоров и всяких рекламных щитов в торговых центрах. В этом я никакого смысла не вижу, в отличие от замечательной возможности поуправлять бытовой техникой. Тут и элементарное использование в качестве запасного пульта от телевизора, ресивера, ТВ‑приставки (увы, не слишком удобно из‑за особенностей управления «Флиппером») и проектора.

Кстати, это огромная дыра в безопасности мероприятий. Я не раз выступал в больших залах с проектором, подвешенным под потолком и управляемым только с ИК‑пульта. Не хотелось бы во время выступления нарваться на шутника с «Флиппером»!

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

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

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

IBUTTON​

Самый первый раз я попытался воспользоваться «Флиппером» прямо по дороге с почты, на которой его забрал, — чтобы скопировать ключ домофона. В моем домофоне используется контактная таблетка iButton (работает по протоколу 1-Wire) производства Dallas Semiconductor. Ключ скопировался моментально, но, к моему огромному сожалению, как я ни тыкал «Флиппером» в домофон, дверь так и не открылась.

Поначалу я грешил на конструкцию корпуса и размещение пого‑пинов (подпружиненных контактов). Чтобы проверить эту версию, я подключился к домофону проводами, благо контакты iButton продублированы в верхней части «Флиппера» (GPIO 8 и 17).

Проверяем контакт

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

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

В общем, в итоге минус еще один ключ и потенциальная возможность накопировать ключи всем желающим. Болванки для таких ключей тоже легко найти на маркетплейсах — ищи по ключевому слову rw1990. Стоят они примерно столько же, сколько и RFID-ключи.

U2F​

U2F (Universal 2nd Factor) — открытый бездрайверный протокол для двухфакторной аутентификации. U2F-устройство можно использовать как второй фактор, например для аутентификации в онлайновых сервисах.

Как только я обнаружил, что «Флиппер» может служить U2F-ключом/токеном, сразу же решил настроить его для двухфакторной аутентификации одного из своих почтовых ящиков. Я уже давно хотел сделать что‑то такое, но отпугивала необходимость покупать и носить с собой лишнюю флешку.

Регистрация «Флиппера» в качестве токена на «Маке» прошла без проблем и с первого же раза. Главное — не забывать переключать в браузере двухфакторную аутентификацию со стандартной на физический ключ.

Теперь при новом входе в веб‑интерфейс почты после ввода логина и пароля появляется запрос на двухфакторную аутентификацию. В способе входа выбираем «Ключ безопасности». Для успешного логина нужно подключить «Флиппер» к компьютеру по USB, выбрать в меню пункт U2F и подтвердить логин нажатием средней кнопки на «Флиппере».

Так у меня появилась еще одна причина всегда иметь при себе «Флиппер».

BLUETOOTH​

«Флиппер» использует Bluetooth LE для подключения к смартфону, но этот же интерфейс можно использовать и в более интересных целях. Например, подключать как контроллер для компьютеров и телефонов.

«Флиппер» может работать как мышка или клавиатура. Не слишком удобно, но в некоторых случаях пригодится. Например, можно использовать его как кликер для презентаций. Для этого в его приложении есть пункт Keynote.

Я нахожу эту функцию крайне полезной: у «Флиппера» удобные форма и размеры, он всегда с собой, да и просто круто выступать в руках с «Флиппером». Публике нравится!

Что касается управления смартфоном, то и тут у меня нашелся отличный юзкейс. При съемке фото или видео со штатива я обычно использовал копеечный китайский пультик, который после подключения по Bluetooth выполнял единственное действие — имитировал нажатие физической кнопки громкости, которая на iPhone привязана к спуску затвора.

«Флиппер» с этой задачей отлично справляется, но, если попробовать сделать то же самое из некоторых приложений (например, попытаться записать reel в Instagram), запись не начнется. Чтобы решить эту проблему, можно включить на iPhone функцию AssistiveTouch и, используя «Флиппер» в режиме мышки, нажимать кнопку записи (или любую другую кнопку на экране).

Также «Флиппер» отлично работает в качестве пульта — например когда стримишь музыку с ноутбука на беспроводную колонку.

ВЫВОДЫ​

Писать про «Флиппер» — это примерно как писать про смартфон или компьютер. Это полноценная открытая программно‑аппаратная платформа со своими особенностями, операционной системой и прочим. У нее масса возможностей и применений, для каждого пользователя набор любимых фич будет другим.

Я всегда ношу с собой «Флиппер» и использую его каждый день. Он избавил меня от необходимости иметь при себе громоздкие пульты и лишние ключи. Часто использую его как ИК‑пульт для телевизора, кондиционера и проектора, как Bluetooth-пульт или кликер для компьютера и телефона и как ключ U2F.

Так что, даже если ты ничего не мастеришь и не взламываешь, «Флиппер» вполне может пригодиться в обычной жизни. Если же ты увлекаешься схемотехникой и прочим DIY или тебе нужен универсальный и компактный инструмент для физических пентестов, то ты, скорее всего, оценишь «Флиппер» еще выше.

Кастомные прошивки со снятым ограничением на частоты и функциями брутфорса делают «Флиппер» гораздо более серьезным девайсом, а дополнительные аппаратные модули (например, внешние адаптеры Wi-Fi) и сторонние программы и плагины значительно расширяют возможности.

Не мог я не оценить и усилия, которые разработчики прилагают к поддержке проекта. Постоянно выходят обновления с новыми функциями и заплатками. К примеру, с последним обновлением (0.82.3) за счет функции глубокого сна длительность работы батареи увеличилась в четыре (!) раза.

Кстати, даже на предрелизных версиях прошивки «Флиппер» работает стабильно. За все время использования он успел зависнуть или внезапно ребутнуться всего несколько раз.

Вокруг устройства уже сформировалось активное международное сообщество. С любым вопросом о работе с «Флиппером» можно прийти на официальный форум или сабреддит и найти ответ, попросить помощи или как минимум обсудить интересующую тему.

Главный же вывод для меня заключается в том, что «Флиппер» — не просто хайповая игрушка для гиков и не только отличное устройство для изучения беспроводных атак, но и очень полезный в хозяйстве девайс, который находит применение в самых разных случаях.

автор @FiReMaN
xakep.ru
 
Пожалуйста, обратите внимание, что пользователь заблокирован


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх