Андрей Смирнов
Время чтения: ~11 мин.
Просмотров: 43

Захват криптоключей Mifare и копирование ключей домофонов IronLogic своими руками

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

Внимание! Данная статья создана исключительно в образовательных целях. Напоминаем, что любое проникновение в информационные системы может преследоваться по закону.

У многих, интересующихся технологией MIfare, наверняка есть простейшее устройство для чтения-записи карт и брелоков Mifare, состоящее из модуля PN532 и USB-UART адаптера:05xqrajis6urtbznevn5vfgy8xi.jpeg Путем несложной и недорогой доработки это устройство можно заставить захватывать от считывателя данные аутентификации, с помощью которых и рассчитываются криптоключи, так необходимые для чтения и копирования. Существуют и серийно выпускаемые приборы для этой цели — SMKey, Proxmark3, Chameleon и ещё некоторые. Это приборы с множеством функций, удобные, но недешевые. Я предлагаю вашему вниманию более бюджетный вариант на основе подобного «малого джентльменского набора» из модуля PN532 и USB-UART адаптера, позволяющий захватывать данные от считывателя Mifare, например домофона, и рассчитывать криптоключи, с которыми считыватель обращается к метке. Разработанное устройство в своей основе имеет недорогую, «народную» отладочную плату на основе процессора STM32F103C8T6, прозванную ещё «BluePill» c подключенными к ней модулем PN532 и USB-UART адаптером. Подключается данный агрегат через USB-OTG кабель к смартфону на Андроиде. Собирается всё это в макетном варианте без пайки, с помощью перемычек и имеет примерно такой вид, хоть и непрезентабельный, но вполне рабочий:91jebhmz4putgxatntmyldqvnas.jpeg Схему сборки очень проста и представлена в текстовом виде: PN532 ___________________STM32F103C8T6 SCK_____________________PA5(SPI1_SCK) MISO____________________PA6(SPI1_MISO) MOSI____________________PA7(SPI1_MOSI) SS______________________PB0(GPIO_OUTPUT) SIGIN___________________PB11(TIM2_CH4) SIGOUT__________________PA12(TIM1_ETR) SIGOUT__________________PA0(TIM2_ETR) VCC_____________________+5V GND_____________________GND USB-UART________________STM32F103C8T6 RX______________________PA9(USART1_TX) TX______________________PA10(USART1_RX) +5V_____________________+5V GND_____________________GND ВАЖНО! Переключатели интерфейса PN532 должны быть установлены в режим SPI! Прошить STM32 можно с помощью утилиты FlashLoaderDemonstrator через существующий USB-UART адаптер. Вот демонстрация захвата криптоключа от имитатора считывателя домофона(Arduino + PN532): Так как считыватели IronLogic(IL), для работы с которыми и разрабатывалось данное устройство, пытаются прочитать метку с криптоключом, рассчитанным на основе UID данной метки, то этот UID сначала надо задать. Сделать это можно двумя способами – вручную или считать с метки. После этого производим захват и ждем расчета криптоключей. Следующая вкладка программы «Запись на Classic» использует возможность ранних версий считывателей IL записывать копии на дешевые заготовки Mifare Classic. Этот способ основан на том, что считыватель IL после авторизации посылает домофону не оригинальный UID метки, а информацию, записанную в первом блоке (в общем случае совпадающую с UID оригинала). Для этого мы должны захватить и рассчитать криптоключ метки, которая послужит заготовкой, закрыть с его помощью нулевой сектор, а в первый блок этой метки записать четыре байта UID метки, которая служит прототипом. Для этого нам даже не надо захватывать криптоключ оригинала и снимать его дамп, достаточно узнать его UID, но это справедливо только в том случае, если оригинал — «оригинальный», а не является копией, тогда всё-таки придется читать первый блок и уже его записывать в копию. Чтобы было понятнее, рассмотрим такой пример – предположим, что мы хотим сделать копию оригинального ключа с UID 0xEBD52AC5, который записан и в первом блоке оригинала, на обычную метку Mifare Classic с UID, допустим, 0x12345678. Для этого мы с помощью представленного устройства, метко обозванного одним товарищем «Шайтан-Машиной», находим криптоключ именно для этого UID и именно для того объекта (подъезда, дома …), который нам нужен. Пусть криптоключ получился 0xABCDEF098765, тогда отредактируем нулевой сектор дампа копии следущим образом:rcshlbqwctujngjr0dkvnhlb8zk.jpeg В первый блок запишем UID оригинала 0xEBD52AC5, а в третий блок шесть байт криптоключа, найденного для этой заготовки — 0xABCDEF098765. Запишем дамп в заготовку, и получим копию домофонного ключа. Примерно так прибор SMKey делает копии IronLogic на обычные Mifare Classic, и именно так поступает данная программа записи. В поле «Код» заносим вручную или считываем с оригинального ключа 4 байта UID, которые будут записаны в 1-й блок копии. Стартуем и, далее следуем подсказкам программы. Сначала считываем UID заготовки, потом подносим устройство к домофону и захватываем данные аутентификации. После окончания расчета программа предложит поднести заготовку для записи данных. Если будет найдено более одного криптоключа, то после записи первого варианта будет дана возможность проверить полученную копию. Если копия не подходит, то следует попробовать следующий рассчитанный ключ, или стереть (привести в исходное состояние) заготовку для дальнейшего использования. Копия может не работать также из-за того, что неправильно определили код, который записывается в 1-й блок копии – например если попытаетесь записать реальный UID не оригинального брелока, а его копии, сделанной по вышеописанному методу.В таком случае надо использовать не UID метки, а данные из 1-го блока, которые можно получить в разделе «Копирование сектора». Этот способ не будет также работать для последних версий ПО считывателей IL. В таком случае копию можно сделать, скопировав полностью 0-й сектор ( 4 блока) на заготовку, позволяющую записывать 0-й блок с помощью раздела приложения «Копирование сектора». Здесь также сначала находим криптоключ оригинала, читаем его нулевой сектор и затем пишем на заготовку. Ввиду отсутствия под рукой заготовок ОТР и ОТР-2.0, эта функция пока тестировалась только на заготовках ZERO, хотя новые версии считывателей требуют использовать ОТР-2.0. Ну и на закуску – раздел приложения «Запись UID» позволяет изменять UID, восстанавливать испорченный 0-й блок и сбрасывать на дефолт криптоключи заготовок ZERO. Итак – коротко подытожу. Чтобы сделать такое устройство, приобретаем или ищем по своим загашникам модуль PN532, любой из USB – UART адаптеров FTDI, PL2303, CH340 или CP2102, отладочную плату STM32F103C8T6, полтора десятка перемычек, USB-OTG переходник и смартфон(планшет) на Андроиде с OTG. Собираем по вышеприведенной схеме само устройство, прошиваем *.bin файлом STM32 и устанавливаем *.apk приложение из архивана смартфон. Для корректной работы приложение на смартфоне должно запускаться при подключении USB-UART адаптера или по умолчанию, или выбором вручную, иначе приложение не получит доступ к адаптеру. Несколько слов хочу сказать по поводу модуля PN532 – не все эти модули «одинаково полезны»! Из трёх модулей(таких как на фото выше), приобретенных мной, один плохо читал и записывал метки, особенно ZERO и ОТР-2.0, но нормально работал в пассивном режиме со считывателями домофонов, другой вел себя с точностью до наоборот и только третий более-менее справлялся и с метками и с домофонами(правда хуже чем первые два). Возможно мне не повезло и именно эта партия модулей оказалась не лучшего качества, но жалуются на них и другие люди. Впрочем – кому как повезет. Это я к чему говорю? В продаже появились модули PN532 немного другой компоновки, которые дороже, но, по отзывам не имеют таких проблем: Если же кому-нибудь попадется PN532, который плохо пишет-читает метки, то могу посоветовать добавить к устройству модуль RC522, стоящий сущие копейки, но прекрасно выполняющий свои функции, по следующей схеме: RC522____________________STM32F103C8T6 RST______________________PB12(GPIO_OUTPUT) SCK______________________PB13(SPI2_SCK) MISO_____________________PB14(SPI2_MISO) MOSI_____________________PB15(SPI2_MOSI) SDA______________________PA8(GPIO_OUTPUT) VCC______________________+5V GND______________________GND В этом случае PN532 будет работать только при захвате данных от считывателя, а вся тяжесть работы с метками ляжет на плечи RC522. В заключении хочу сказать, что работоспособность устройства в реальных условиях тестировалась только на считывателях IronLogic самого первого поколения, без фильтров ZERO, ОТР, ОТР-2.0. К другим версиям просто нет доступа, поэтому для более современных считывателей IL потребуется доработка ПО, ну и, конечно, наличие этих самых считывателей.Архив

Инновационная технология MIFARE разработана с целью обеспечения безопасности в различных системах доступа.

Конфиденциальность и безопасность обеспечиваются за счет применения специальных криптографических алгоритмов.

На сегодняшний день формат идентификаторов RFID Mifare используется в платежных системах, для доступа на режимные объекты и в домофонах с высоким уровнем взломозащиты. Наиболее часто пользуются двумя вариантами – MF Classic и Plus.

Особенности ключей

Технология ключей формата Mifare основана с использованием основных критериев стандарта бесконтактных карт ISO 14443. Благодаря этому они могут совместно использоваться с другими технологиями доступа.

Процедура открытия замка ключом Mifare

Например, достаточно часто можно встретить банковские карты с внедренными MF-идентификаторами. Их могут применять и в некоторых смартфонах и телефонах с технологией NFC.

Карты или ключ-брелок Mifare – это очень удобные устройства бесконтактной идентификации:

  1. они не используют источники питания, требующие периодической замены;
  2. отсутствует потребность контакта при считывании, этот процесс может происходить с расстояния до 10 см;
  3. данные считываются за 0,2 сек, что выглядит моментально для человеческого восприятия.

Принцип работы

Каждый идентификатор Mifare владеет индивидуальным идентификационным номером (он называется UID-номер) и перезаписываемой памятью. Номер не является секретным и не требует защиты.

Иногда его указывают на карте доступа или брелке. Что касается доступа к памяти, то он надежно защищен.

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

Типичная структура карты Mifare

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

Поскольку UID не является секретным, то сделать дубликат ключа Mifare для такого считывателя не составит труда. Достаточно только переписать UID-код, по которому можно будет получать доступ.

В дорогих системах считывания поддерживается работа с памятью и UID-кодом, что практически исключает возможность копирования ключей Eltis Mifare на другие устройства. Процесс обмена данными между электронным блоком считывания и брелком происходит на частоте 13,56 МГц с расстояния до 6 см.

Как скопировать идентификаторы Mifare

Достаточно часто на домофонные ключи Mifare нужно сделать дубликаты.

Для выполнения этой процедуры хорошо подойдет устройство SMKey.

С помощью этого копировальщика ключей Mifare можно делать копии меток с закрытыми секторами.

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

Процесс копирования

Процедура дублирования заключается в расчете криптоключа на основе данных, полученных от считывателя.

Процесс подбора Mifare-ключей, как это происходит в других устройствах, не выполняется, что ускоряет процесс изготовления дубликатов.

С помощью SMKey поддерживается копирование меток MF Classic 1K и Ultralight. Выполняется эта процедура на частоте 13,56 МГц.

После копирования меток MF Classic дубликатор домофонных ключей Mifare SMKey осуществляет запись данных на специальную болванку. В основном пользуются двумя видами заготовок MF Zero и MF OTP.

Прибор для дублирования ключей Mifare

Эти устройства поддерживают однократную запись UID, что позволяет обходить фильтры считывающих систем Iron Logiс. Скопированные метки Ultralight записывают на заготовки MF UL.

SMKey – это дубликатор домофонных ключей Mifare, который владеет встроенной памятью на 100 ячеек. Это позволяет производить считывание и запоминать метки с разных устройств доступа (домофонных систем).

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

Скопированную базу меток можно сохранить и на компьютере для последующего клонирования ключей с помощью специальной программы iKeyBase, работающей под ОС Mac Os, Windows, Linux.

Программирование брелков

Запрограммировать брелок на работу с домофоном на основе MF криптоключей можно с помощью специального прибора – программатора.

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

Программирование брелка с помощью программатора – это достаточно простой процесс.

Дубликатор-программатор для ключей-брелков Mifare

Он включает следующие действия:

  • к программатору подносится идентификатор-карта объекта, с которой считывается и запоминается информация;
  • к программатору подносится брелок-заготовка, который предстоит запрограммировать;
  • вся информация с программатора переписывается в память брелка.

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

Можно ли взломать MF-ключи

Взлом ключей Mifare — достаточно трудоемкий и сложный процесс, но выполнить его реально.

В качестве примера рассмотрим использование ридера RD-03AB со специальным программным обеспечением.

В основном пользуются следующими тремя программами:

  1. Mfoc – для взлома ключей этим плагином потребуется иметь хотя бы один известный криптоключ;
  2. Mfcuk – выполняет взлом ключей Mifare посредством накопления данных случайного генератора по четырехбитным ответам процесса авторизации;
  3. Mfks – используется для восстановления MF-ключей на идентификаторах современных производителей.

Инструкция по взлому

Чтобы взломать MF-криптоключи, потребуется ридер RD-03AB и соответствующая карта доступа. Для подключения ридера к компьютеру используется один из портов: USB или COM.

Чтобы получить один криптоключ, может уйти от 10 до 30 минут. После того, как он будет получен, процесс можно остановить и перейти на работу с программой Mfoc.

Взлом ключа Mifare с помощью программы Mfks

Скорость выполнения алгоритма этой программы существенно выше. Перед тем, как пытаться взломать MF-ключи, следует проверить карту-идентификатор на возможность взлома.

Для этого:

  • запускается Mfks и используется опция «verbose_level 2» – следует ожидать 40 минут, если процесс не принес успеха, его прекращают;
  • запускается Mfcuk с аналогичной опцией и ожидается результат (его можно ждать несколько дней) – это зависит от скорости накопления статистических данных.

Программы Mfks и Mfcuk взламывают много криптоключей, но порой бывает и так, что идентификаторы некоторых производителей не поддаются копированию.

Заключение

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

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

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

Видео: Копирование Mifare. Поиск криптоключей

Используемые источники:

  • https://habr.com/post/479370/
  • https://bezopasnostin.ru/domofony/klyuchi-mifare.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации