Делаем копию карты-пропуска по фото
Однажды мне срочно понадобилось попасть в один бизнес-центр с пропускной системой в виде турникетов, открывающихся при помощи карт-пропусков. Человек, у которого находился в этот момент пропуск, был далеко, передать мне его он не мог, а оформление новой карты в силу бюрократических особенностей заняло бы много времени.
С чем мы имеем дело
Итак, человек с пропуском находится далеко, считывателя для бесконтактных карт у него с собой конечно же нет, но есть телефон, на который можно сделать фотографию карты.
По фото карта была опознана как EM-Marin, она же EM4100. Эти бесконтактные карты работают на частоте 125 КГц и содержат номер (далее — ID) размером 40 бит или 5 байт, который записывается на карту еще на заводе и не может быть изменен. Какой-либо защиты от чтения или копирования в них нет. Для создания дубликатов этих карт используются заготовки T5577 и EM4305, которые свободно продаются.
Перезаписываемые карты-болванки выглядят как обычная пустая пластиковая карта в форм-факторе кредитки, а не перезаписываемые (с прошитым на заводе серийным номером) чуть толще и на лицевой стороне у них нанесен текст, состоящий из нескольких групп десятичных цифр. Встречаются и карты в виде брелков.
Для записи таких карт потребуется соответствующий копировщик. Я использую Proxmark3, но можно взять любой другой, который может работать с T5577 и позволяет ввести ID карты вручную. Или же вовсе использовать эмулятор, тогда можно обойтись без болванок.
Карта не имеет своего источника питания, оно поступает со считывателя «по воздуху», как в беспроводных зарядках. Считыватель генерирует электромагнитное поле, карта улавливает его через антенну и включается. Далее карта модулирует поле и начинает циклически передавать свой ID, который улавливается считывателем, связь при этом односторонняя.

Как именно передаются данные с карты: сперва идет преамбула из 9 бит «1», затем передается 1 байт Version Number, 2 байта Facility Code и 2 байта уникального номера карты, периодически следуют биты контроля четности. Взято по ссылке, там кстати еще неплохое описание протокола (на английском).
В самом простом варианте построения СКУД считыватель сам является контроллером доступа – сравнивает ID карты с номерами в памяти и принимает решение об открытии замка или турникета. В системах посложнее он отправляет эту информацию на контроллер по какому-либо интерфейсу.
Эксперимент
Итак, на карте нанесены некие цифры. Было логично предположить, что это и есть ее ID. Для того, чтобы это выяснить, я взял данные аналогичной карты, получилось следующее:
После преобразования ID из HEX в DEC, получилось 317840976040, что не похоже на цифры с карты. Спойлер: если бы я сделал наоборот, и конвертировал цифры с карты в шестнадцатеричный формат, то я добился бы успеха сразу, но тогда эта статья была бы не такой содержательной 🙂
Размышляя над тем, что еще оно может значить, я вспомнил, что Proxmark помимо ID карты показывает еще кое-какие данные:
Ага, 0013396136 и 204.26792 — это именно то, что написано на карте!
Но ведь на ней хранится всего лишь 5 байт, значит эти числа должны вычисляться из ID по некому алгоритму ридером или его клиентом. К счастью, Proxmark – open-source проект, его исходные коды доступны на гитхабе . Я сделал поиск в репозитории по строке «DEZ 10» и нашел функцию cmdlfem4x.c.
Из кода выше становится ясно, что эти числа – части ID карты:
0013396136 (DEZ 10) – первые 4 байта, если считать от младшего к старшему.
204.26792 (DEZ 3.5C) – третий байт отдельно (он же Facility Code) и непосредственно 2 байта серийного номера карты.
Таким образом, по цифрам на карте можно восстановить часть ее ID. Но как быть, если известны 4 байта, а требуется 5? И если четвертый байт имел значение 0 на всех считанных мной картах, то пятый байт всегда ненулевой. Перебирать этот байт в конкретном случае не вариант — не хочется вызывать подозрения у охраны.
Тут я вспомнил, что СКУД в этом бизнес-центре установлен достаточно давно, поэтому я предположил, что там может использоваться для передачи данных популярный, но устаревший Wiegand-26. Этот протокол предназначен для связи считывателя с контроллером, и позволяет передавать за одну посылку 24 бита данных и 2 бита четности, итого 3 байта полезной нагрузки. Это означает, что ID карты не передается полностью и неизвестный пятый байт никак в идентификации не участвует и может быть рандомным.
Стоит отметить, что некоторые современные считыватели все же читают и сравнивают старший байт карты, в таком случае придется перебирать 255 комбинаций, но это можно сделать за приемлемое время, особенно если использовать эмулятор.
Ну что же, теперь осталось проверить на практике все изыскания выше. Для создания копии карты я взял заготовку T5577 и записал на нее полученный ID (пятый байт — случайный):
Получилась почти полная копия карты с фото, отличается только старший байт. Для уверенности можно еще раз ввести команду lf search и проверить, совпадают ли DEZ 10 и DEZ 3.5C с цифрами на оригинальной карте.
После этого я записал уже преобразованный аналогичным образом ID нужного мне пропуска.
Как и ожидалось, карта считалась корректно, турникет щелкнул, мигнул зеленым индикатором.
Пост-скриптум
Если вы отвечаете за безопасность, то скорее всего, все описанное в этой статье не будет для вас новостью. В противном случае все же не стоит преждевременно рвать волосы на теле. Проблема кроется в том, что данный формат карт изначально не обеспечивает высокого уровня безопасности. Эти карты не поддерживают каких-либо механизмов аутентификации и шифрования, следовательно могут быть скопированы в любой момент подходящим считывателем. На серьезных объектах, таких как банки, дата-центры и хранилища ядерных боеголовок, вместо EM-Marin применяются более защищенные форматы карт (по крайней мере, хочется в это верить). Например, это семейство MIfare, где карты разделены на сектора с индивидуальными ключами чтения и записи, а некоторые карты этого стандарта поддерживают даже алгоритм шифрования AES. Ну и не стоит забывать про дополнительные методы контроля доступа.
Как шаг за шагом скопировать или клонировать карты доступа и брелоки?
Вы научитесь клонировать карты (NFC или RFID-клонер) прямо на рабочем столе!
Влияние карт RFID и брелоков RFID
IDTechEx обнаружила, что в 2015 году общий рынок RFID оценивался в 10.1 миллиарда долларов. Родительский каталог для NFC оценивался в 10.1 млрд долларов — с 9.5 млрд долларов в 2014 году до 8.8 млрд долларов в 2013 году.
Этот размер рынка включает в себя все метки, считыватели и программное обеспечение, предназначенные для RFID-карт и брелоков, включая все форм-факторы. IDTechEx заявляет, что к 13.2 году рынок вырастет до $2020 млрд.. Индустрия безопасности претерпела значительные изменения благодаря достижениям в области технологий.
Например, защита дверей эволюционировала от простых навесных замков и ключей до карт и брелков с поддержкой RFID, которые можно провести и активировать, а также электрических замков для открывания дверей.
Хотя эта технология впечатляет, она требует постоянного развития и адаптации для защиты от злоумышленников.
Любая новая технология с момента ее представления широкой публике уязвима для манипуляций и взлома злоумышленниками. Отличным примером этого являются RFID-метки 2013 года.
В то время технология RFID распространилась во многих секторах со скоростью лесного пожара — технологические компании, больницы и многие другие использовали карты 125 кГц для доступа к дверям, защищенным электрическими замками.
Большинство из них использовали Карта протокола EM4100 (карта 125 кГц) или CMOS Карта на основе ИС, на которой информация о метке или брелоке хранится открыто. Поскольку у этих ИС не было ни шифрования, ни аутентификации, они передавали свою информацию, как только поблизости оказывался читатель.
Это представляло огромную угрозу безопасности для компаний, имеющих дело с конфиденциальной информацией и продуктами.
По сути, любой, у кого есть подходящее оборудование, может украсть или скопировать эти карты и брелоки, независимо от того, авторизован он или нет.
Как их можно скопировать?
В предыдущих сообщениях нашего блога рассказывается, как можно взломать карты HID и как протокол Wiegand, используемый считывателями HID, может быть скопирован клонерами карт HID. В этом посте не так много технических подробностей, но он должен быть быстрым и простым способом понять компонент копирования карт.
Как скопировать карты 125 кГц? — Старый способ:
Подобно тому, что показано здесь, считыватель может легко скопировать идентификатор существующего 125 кГц EM4100 или чипа с аналогичным протоколом и скопировать его на другую карту или брелок.
Один из первых, кто атаковал этот стандарт безопасности в 2013 был Фрэнсис Браун— управляющий партнер охранной фирмы Bishop Fox. Браун намеренно проверил безопасность стандарта и разработал считывающее/записывающее устройство на основе Arduino, которое могло копировать существующие метки и брелки 125 кГц.
Прошло пять лет с тех пор, как Браун разработал свой инструмент для взлома этих систем, и многие компании перешли на более безопасный стандарт с более высокой частотой.
Однако многие предприятия не обновили и не использовали карты и брелоки EM125 4100 кГц, что сделало их уязвимыми для атак.
Как скопировать карты 125 кГц с помощью копира RFID?
«Ручной RFID-писатель» (Купи один здесь всего за 11 долларов) работает следующим образом:
- Включите устройство, поднесите совместимую карту EM4100 или брелок к рукоятке и нажмите кнопку «Читать».
- Затем устройство подаст звуковой сигнал, если это удастся, замените скопированный тег пустым и нажмите «Записать».
- Информация, хранящаяся на исходной бирке или брелоке, затем будет скопирована на новое устройство.
Сделанный! Не верите, как это легко? Вот видео, чтобы показать вам:
Вот как легко скопировать или клонировать карту доступа или RFID-брелок.
Как скопировать карты HID и получить их на свой телефон?
Люди задают такие вопросы, как: «Как можно использовать NFC мобильного телефона в качестве бесконтактной карты HID (используемой у дверей корпоративного офиса)? «Можно ли использовать NFC-передатчик iPhone 6 в качестве бесконтактного кард-ридера?» и так далее.
В следующем сегменте мы сосредоточимся на вашей типичной карте HID, которая работает на частоте 13.56 МГц и немного более продвинута для копирования:
Почему эти карты сложнее скопировать?
Поскольку частота значительно выше, чем у версии 125 кГц, количество битов, которые можно отправить в секунду, значительно выше. Это означает, что данных на чипе, который нужно зашифровать, будет больше, что сделает его более безопасным.
Теперь, когда для этих карт доступно шифрование, они обмениваются данными со считывающим устройством для отправки сигнала, и считыватель считывает его. Однако, в отличие от предыдущего, он больше не рекламирует все свои данные; вместо этого он передает только общедоступные данные, такие как свой идентификатор и имя.
Как мы их копируем?
Чтобы получить доступ к конфиденциальной информации, вы должны предоставить этому сектору памяти правильный ключ, иначе он будет пустым.
Несмотря на то, что эти карты гораздо более безопасны, как только вы узнаете алгоритм шифрования, вы сможете расшифровать их и получить доступ к конфиденциальной информации. При этом люди также могут относительно легко клонировать эти карты.
Поскольку большинство Android-смартфонов под управлением ОС Android имеют NFC, чтение этих карт, а иногда и их клонирование, не составляет труда.
—(Если вы не хотите заказывать оборудование на eBay, пропустите эту часть и узнайте, как сделать дубликат карты с помощью смартфона и приложения)—
- Подготовьтесь к копированию карт HID — необходимые инструменты: Нам нужно несколько дешевых компонентов от eBay— продается под «считывателем NFC». Вы также можете проверьте считыватель NFC на Alibaba для больших объемов. Я получил свой считыватель/запись NFC на NewEgg, где он указан как инструмент считывания/записи «NFC ACR122U RFID». Он работает на Windows, Mac и большинстве систем Linux.
- Если у вас есть инструмент копирования, вам нужен компьютер на базе Windows. Установите его драйверы и начните использовать. Вам также понадобится компьютер для запуска программного обеспечения, и, следуя этому руководству, вы сможете взломать карты Mifare Classic 1K. Вот руководство BlackHat.
Подожди! Надеюсь, вы еще не заказали NFC-ридер, потому что если у вас Android, вы также можете сделать это со своим телефоном!
Клонирование карт Mifare NFC с помощью мобильного телефона:
Вот самый простой способ скопировать карты NFC на телефон:
Хотя руководство BlackHat работает хорошо, оно может разочаровать, так как вам нужно собрать некоторые компоненты и взломать руководство в течение часа или двух, чтобы увидеть некоторые результаты.
Самый простой способ клонировать карты Mifare NFC Classic 1K — использовать смартфон Android с возможностями NFC. Это верно; ваш мобильный телефон может быть использован для нарушения безопасности компании, если они используют эти типы карт (система безопасности RFID).
Просто скачайте «Классический инструмент Mifare» для Android. Совет для профессионалов: мне потребовалось некоторое время, чтобы понять, почему это не работает, но вы должны включить NFC. Зайдите в настройки и найдите NFC; включить его. Мы можем начать клонирование карт, которые никогда не меняли свой пароль сектора по умолчанию.
Как приложение используется для копирования карты?
Приложение поставляется с ключами по умолчанию, установленными производителем карт NFC; Вы не поверите, сколько людей никогда не удосужились это изменить. Тим Тьювес имеет отличное руководство по клонированию карт NFC с помощью смартфона с поддержкой NFC. Следующие изображения взяты из его руководства, которое можно найти здесь.
Взлом NFC через приложение:
Как только мы прочитаем ключ или брелок, который нам нужен, мы можем сохранить всю информацию в файле. Затем мы можем записать эту информацию обратно на пустую карту, фактически клонируя оригинал или брелок. На рисунке 5 ниже показана часть приложения «Запись сектора», где вы можете записать отдельные сектора или все сразу.
Критическим сектором, который следует помнить, является сектор 0, который содержит UID и данные производителя; если вы скопируете сектор 0 на другой брелок, вы сделали копию.
В Reader Pro используются карты NFC Mifare Desfire EV1 2K, одни из самых безопасных карт NFC на сегодняшний день. Они обеспечивают дополнительный уровень безопасности для существующих карт Mifare Desfire NFC, делая их невероятно безопасными.
Копирование RFID карт
Четвёртый урок из цикла «Всё про RFID».
Сегодня мы продолжим изучать RFID считыватель на базе микросхемы RC522.
- В первой части была теория,
- Во второй мы сделали электронный rfid замок с доступом по карте или брелоку.
- В третьей мы научились записывать разную информацию на карту. Например, Фамилию и имя.
- Теперь настала очередь рассмотреть копирование RFID карт.
Допустим вы хотите сделать дубликат карты, что бы у вас одна карта была в офисе, другая в машине, а третья в кармане.
Копирование карт не сложнее, а то даже и проще чем запись. Надо просто поднести карту и на клавиатуре нажать 1 и ENTER.
Подождать пока карта считается.
Нажать 2 и снова ENTER.
Подождать и вуаля. У вас полная копия карты.
Ну, почти полная, так как UID всё же остался старым. Как это побороть, я рассказал в видео.
Объяснять схему подключение не буду. Я это делал уже на протяжении трёх уроков. Если что не понятно пишите в комментариях или посмотрите предыдущие уроки. 
Теперь давайте посмотрим весь процесс в целом.
Сначала мы загрузим dumpinfo и посмотрим на содержимое карт.
Будем рассматривать сектора от 0 до 3.
Чистая карта

Карта с информацией
Теперь загрузим скетч, который я назвал Reader.
Проверяем карты. Смотрим вдруг там есть какая-то информация и мы можем её затереть.
Сначала смотрим брелок.
Он оказался чистым и готовым к записи.
Если там была какая-то информация и вам её не жалко, то при следующей записи она сотрётся и поверх неё запишется новая.
То же смотрим с картой 1.
А вот на карте 2 находится нужная для нас информация. Вот её то мы и будем копировать.
Теперь скопируем нашу карту на брелок и на ещё одну карту.
Загружаем скетч COPIER.
Ждём пока в мониторе порта не покажется меню с выбором действия.
Если нажать на кнопку 1 то мы скопируем карту в буфер обмена, а цифра 3 запишет информацию на новую карту.
Главное, чтобы во время работы карта была в зоне действия считывателя, а то данные не считаются или не сохранятся.
Считываем данные с карты.
Ждём пока не снова не появится меню.
Нажимаем 3, и ждём пока информация не скопируется на брелок.
То же самое делаем со следующей картой.
Снова загрузим Reader и проверим как всё прошло.
По очереди подносим брелок и карты к считывателю и смотрим на вывод сохранённых данных.
Как можно увидеть вся информация скопировалась.
Теперь у вас есть целых 3 метки и можно их терять или ломать. Всегда есть запасная, и можно ещё их наделать целую кучу.
Ну вот и всё. Всё, как всегда, работает.
Готовые скетчи можно будет скачать по ссылкам в описании, а текстовую информацию можно прочитать в блоге. Там есть много интересного. Так что переходите.
И, как всегда, в конце урока я прошу вас поставить лайк этому видео, если оно вам понравилось. И жду ваших комментариев.
Следующее видео будет про вывод информации в программу Excel для отображения данных. Это будет очень интересный пример.
И чем больше ваших положительных отзывов, тем быстрее оно выйдет.
До встречи в следующих уроках.
Делаем копию карты-пропуска по фото
Однажды мне срочно понадобилось попасть в один бизнес-центр с пропускной системой в виде турникетов, открывающихся при помощи карт-пропусков. Человек, у которого находился в этот момент пропуск, был далеко, передать мне его он не мог, а оформление новой карты в силу бюрократических особенностей заняло бы много времени.

С чем мы имеем дело
Итак, человек с пропуском находится далеко, считывателя для бесконтактных карт у него с собой конечно же нет, но есть телефон, на который можно сделать фотографию карты.
По фото карта была опознана как EM-Marin, она же EM4100. Эти бесконтактные карты работают на частоте 125 КГц и содержат номер (далее — ID) размером 40 бит или 5 байт, который записывается на карту еще на заводе и не может быть изменен. Какой-либо защиты от чтения или копирования в них нет. Для создания дубликатов этих карт используются заготовки T5577 и EM4305, которые свободно продаются.
Перезаписываемые карты-болванки выглядят как обычная пустая пластиковая карта в форм-факторе кредитки, а не перезаписываемые (с прошитым на заводе серийным номером) чуть толще и на лицевой стороне у них нанесен текст, состоящий из нескольких групп десятичных цифр. Встречаются и карты в виде брелков.
Для записи таких карт потребуется соответствующий копировщик. Я использую Proxmark3, но можно взять любой другой, который может работать с T5577 и позволяет ввести ID карты вручную. Или же вовсе использовать эмулятор, тогда можно обойтись без болванок.
Карта не имеет своего источника питания, оно поступает со считывателя «по воздуху», как в беспроводных зарядках. Считыватель генерирует электромагнитное поле, карта улавливает его через антенну и включается. Далее карта модулирует поле и начинает циклически передавать свой ID, который улавливается считывателем, связь при этом односторонняя.

Как именно передаются данные с карты: сперва идет преамбула из 9 бит «1», затем передается 1 байт Version Number, 2 байта Facility Code и 2 байта уникального номера карты, периодически следуют биты контроля четности. Взято по ссылке, там кстати еще неплохое описание протокола (на английском).
В самом простом варианте построения СКУД считыватель сам является контроллером доступа – сравнивает ID карты с номерами в памяти и принимает решение об открытии замка или турникета. В системах посложнее он отправляет эту информацию на контроллер по какому-либо интерфейсу.
Эксперимент
Итак, на карте нанесены некие цифры. Было логично предположить, что это и есть ее ID. Для того, чтобы это выяснить, я взял данные аналогичной карты, получилось следующее:
После преобразования ID из HEX в DEC, получилось 317840976040, что не похоже на цифры с карты. Спойлер: если бы я сделал наоборот, и конвертировал цифры с карты в шестнадцатеричный формат, то я добился бы успеха сразу, но тогда эта статья была бы не такой содержательной 🙂
Размышляя над тем, что еще оно может значить, я вспомнил, что Proxmark помимо ID карты показывает еще кое-какие данные:
Ага, 0013396136 и 204.26792 — это именно то, что написано на карте!
Но ведь на ней хранится всего лишь 5 байт, значит эти числа должны вычисляться из ID по некому алгоритму ридером или его клиентом. К счастью, Proxmark – open-source проект, его исходные коды доступны на гитхабе . Я сделал поиск в репозитории по строке «DEZ 10» и нашел функцию cmdlfem4x.c.
Из кода выше становится ясно, что эти числа – части ID карты:
0013396136 (DEZ 10) – первые 4 байта, если считать от младшего к старшему.
204.26792 (DEZ 3.5C) – третий байт отдельно (он же Facility Code) и непосредственно 2 байта серийного номера карты.
Таким образом, по цифрам на карте можно восстановить часть ее ID. Но как быть, если известны 4 байта, а требуется 5? И если четвертый байт имел значение 0 на всех считанных мной картах, то пятый байт всегда ненулевой. Перебирать этот байт в конкретном случае не вариант — не хочется вызывать подозрения у охраны.
Тут я вспомнил, что СКУД в этом бизнес-центре установлен достаточно давно, поэтому я предположил, что там может использоваться для передачи данных популярный, но устаревший Wiegand-26. Этот протокол предназначен для связи считывателя с контроллером, и позволяет передавать за одну посылку 24 бита данных и 2 бита четности, итого 3 байта. Это означает, что ID карты не передается полностью и неизвестный пятый байт никак в идентификации не участвует и может быть рандомным.
Стоит отметить, что некоторые современные считыватели все же читают и сравнивают старший байт карты, в таком случае придется перебирать 255 комбинаций, но это можно сделать за приемлемое время, особенно если использовать эмулятор.
Ну что же, теперь осталось проверить на практике все изыскания выше. Для создания копии карты я взял заготовку T5577 и записал на нее полученный ID (пятый байт — случайный):
Получилась почти полная копия карты с фото, отличается только старший байт. Для уверенности можно еще раз ввести команду lf search и проверить, совпадают ли DEZ 10 и DEZ 3.5C с цифрами на оригинальной карте.
После этого я записал уже преобразованный аналогичным образом ID нужного мне пропуска.
Как и ожидалось, карта считалась корректно, турникет щелкнул, мигнул зеленым индикатором.
Пост-скриптум
Если вы отвечаете за безопасность, то скорее всего, все описанное в этой статье не будет для вас новостью. В противном случае все же не стоит преждевременно рвать волосы на теле. Проблема кроется в том, что данный формат карт изначально не обеспечивает высокого уровня безопасности. Эти карты не поддерживают каких-либо механизмов аутентификации и шифрования, следовательно могут быть скопированы в любой момент подходящим считывателем. На серьезных объектах, таких как банки, дата-центры и хранилища ядерных боеголовок, вместо EM-Marin применяются более защищенные форматы карт (по крайней мере, хочется в это верить). Например, это семейство MIfare, где карты разделены на сектора с индивидуальными ключами чтения и записи, а некоторые карты этого стандарта поддерживают даже алгоритм шифрования AES. Ну и не стоит забывать про дополнительные методы контроля доступа.
