Я расскажу как изготовить устройство для исследования бесконтактных карт. Вместо корпуса платы будут полностью залиты прозрачной эпоксидной смолой.
Внутри подробное описание процесса изготовления и пример использования ридера для осуществления атаки на социальную карту москвича.
Основная плата ридера это PN532 Breakout Board. Она может работать по SPI, I2C и UART. Плата максимально полно поддерживается библиотекой libnfc.
Список поддерживаемых ридеров.
Основное отличие этого ридера от обычных (PC/SC совместимых) в том, что с ним работает специфический извращенский софт, позволяющий выполнять недокументированные действия, которые требуются для исследовательских целей.
Для подключения ридера к компьютеру, в большинстве случаев, требуется еще одно устройство. Я буду использовать протокол UART и адаптер CP2102.
В какой-то момент мне надоели торчащие пины на плате, царапающие ткань рюкзака и болтающийся TTL адаптер, и я решил слепить все это в одно устройство с длинным кабелем.
То, что получилось в итоге:
К сожалению муська не дает вставлять видео в формате webm, хотя это открытый прогрессивный формат легковесного видео. Это видео весит 184КБ i.imgur.com/X7WyPCG.webm На видео показано считывание платежной карты MasterCard с функцией PayPass
Используемые компоненты
Сперва лепим богомола из пасты для моделирования. Паста довольно быстро высыхает на воздухе, поэтому нужно торопиться, иначе она начнет крошиться. На полное застывание требуются сутки. После высыхания изделие легко обрабатывается стеком или зубочисткой. Чем-то напоминает мягкий гипс или мел.
Покраска выполнялась акриловыми красками. Позже выяснилось, что это не самый лучший вариант для заливки эпоксидной смолой, потому что смола слегка растворила акрил.
Выпаиваем все торчащие пины из обоих устройств. В качестве TTL адаптера я использовал Silabs CP2102.
И припаиваем TTL адаптер к плате ридера. Прихватываем адаптер каплей термоклея, чтобы хрупкая пайка не оторвалась в процессе дальнейшей обработки.
Вместо USB штекера на TTL адаптере припаиваем кабель напрямую.
Устанавливаем перемычку на NFC ридере в положение UART.
Самым сложным оказалось изготовление формы для заливки.
Форму я изготовил из картонки и промазал воском. Размер формы несколько больше с учетом того, что лишняя смола уберется шлифовкой.
Отверстие под кабель я замазал воском от свечи.
Заливаем!
Во время заливки на поверхности могут появляться пузыри, их можно удалить прыская на поверхность этиловым спиртом (или изопропиловым?) из пульверизатора.
Чтобы на поверхность не оседала пыль, накрываем миской.
Заявленное время высыхания эпоксидной смолы 24 часа, но, так как в моем случае очень толстый слой, я решил подстраховаться и подождать двое суток.
Вытаскиваем наш слиток.
Видно как потек акрил вокруг богомола, нужно было покрыть его лаком.
Я боялся, что при застывании, смола может порвать контакты на платах, но все заработало.
Шлифуем брусок на ленточной шлифмашине, закрепленной верх ногами на столе
Убираем острые края напильником
Готово.
Зачем это нужно?
Этим ридером можно взаимодействовать с любыми картами стандарта ISO 14443. Сюда относятся проездные для общественного транспорта, платежные карты PayPass/Paywave, любые штуки с приставкой NFC и т. д. В том числе читать и модифицировать данные при достаточной компетенции.
Ридер полностью поддерживается библиотекой
libnfc, что позволяет проводить аудит безопасности многих популярных типов карт.
Я не стану описывать способы накручивания денег на абонементах или любые другие незаконные действия. Но для наглядности продемонстрирую давно известную атаку на карты Mifare Classic на примере социальной карты москвича.
Карта совмещает в себе платежную карту visa, выпущенную Банком Москвы, и бесконтактную карту, являющуюся в том числе проездным на общественном транспорте.
Утилита
mfoc реализует давно известную уязвимость mifare nested, позволяющую узнать ключи от всех секторов карты, при условии что известен хотя бы один ключ.
Кладем карту на ридер и запускам mfoc.
mfoc сперва попытается авторизоваться в каждом сектор используя стандартные ключи mifare. Как видно из лога, для некоторы секторов был найден ключ А. Теперь по прошествии 10-20 минут, все недостающие ключи будут найдены и дамп карты будет полностью записан в файл
/tmp/msk_social.mfd
tangorobot$ mfoc/src/mfoc -O /tmp/msk_social.mfd
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 02
* UID size: single
* bit frame anticollision supported
UID (NFCID1): 0d b0 3d 7a
SAK (SEL_RES): 18
* Not compliant with ISO/IEC 14443-4
* Not compliant with ISO/IEC 18092
Fingerprinting based on MIFARE type Identification Procedure:
* MIFARE Classic 4K
* MIFARE Plus (4 Byte UID or 4 Byte RID) 4K, Security level 1
* SmartMX with MIFARE 4K emulation
Other possible matches based on ATQA & SAK values:
Try to authenticate to all sectors with default keys...
Symbols: '.' no key found, '/' A key found, '\' B key found, 'x' both keys found
[Key: ffffffffffff] -> [........................................]
[Key: a0a1a2a3a4a5] -> [/............///........................]
[Key: d3f7d3f7d3f7] -> [/............///........................]
[Key: 000000000000] -> [/............///........................]
[Key: b0b1b2b3b4b5] -> [/............///........................]
[Key: 4d3a99c351dd] -> [/............///........................]
[Key: 1a982c7e459a] -> [/............///........................]
[Key: aabbccddeeff] -> [/............///........................]
[Key: 714c5c886e97] -> [/............///........................]
[Key: 587ee5f9350f] -> [/...... ......///........................]
[Key: a0478cc39091] -> [/............///........................]
[Key: 533cb6c723f6] -> [/............///........................]
[Key: 8fd0a4f256e9] -> [/............///........................]
В дампе, например, помимо абонимента для общественного транспорта, можно найти паспортные данные владельца карты, номер паспорта и кем выдан в кодировке CP1251.
Такие дела.
cripo.com.ua/?sect_id=10&aid=206913
парадокс, перелогиньсяP.S. И отдельное спасибо за надписи на плате, повеселили :)
C какой зернистостью шкурки на шлифмашине такая гладкая поверхность получается?
4 кило смолы (самая малая тара — одна канистра) — 2800 руб, кило отвердителя — 705 руб. Надо будет попробовать.
Я вдохновился вот эти постом https://top-samodelki.ru/usilitel-dlja-naushnikov-svoimi-rukami/
Чувак сделал очень крутой усилитель для наушников.
Смолу он использует какую–то модную импортную и технология процесса у него намного круче.
У него там и другие забавные самоделки есть…
Т.е. изделие красивое, слов нет — но абсолютно неремонтопригодное. Несмотря на то, что компоненты внутри можно чуть ли не ломом менять, при условии, что они не как мухи в янтаре.
Кстати у меня образовалось два пузыря под платой. Я высверлил их гравером, залил эти полости смолой и выровнял шлифовкой.
Сохнет так же 24 часа. Импортную для этих целей покупать смысла нет.
Кстати, больше отвердителя — выше хрупкость. Для кого инструкции пишут то?
А пропорции смолы и отвердителя желательно соблюдать по инструкции (как правило 1:10) посколько именно тогда обеспечивается максимальная твердость клея, эпоксидного материала.
а лучше надевайте
</зануда_mode>
а в случае с эпксидкой лучше еще и респиратор…
а если серьзно, ключем на чтение можно разжиться.
вот ключ на запись и кодировка например транспортного блока так не узнаешь, не думаю эмитенты карт такие дураки что оставляют стандартные блоки про выпуске карт.
а так, штука интересная, можно поковыряться в карточках например горнолыжных курортов
Все имеют право на ошибку — написали бы автору, как я, а не занимались бы тиражированием частной информации — не тактично это с Вашей стороны.
да, про инкубаторы слышали, но домашний инкубатор это совсем не то, что промышленный…
И я был очень рад, кстати, что всякую муру про лендинги и маркетинг засунули на мегамозг и оно не мелькает у меня в ленте.
А вообще зря мы тут затеяли обсуждение хабра…
еще можно встроить адаптер в корпус старой флешки.
aliexpress.com/item/MICRO-USB-transformed-into-DIP-female-seat-B-type-patch-turn-into-DIP-transfer-board-welded/32259762311.html
Есть и дешевле. Просто первый попавшийся дал.
Зачем все то?
Нет, я конечно понимаю что делает это устройство, непонятно зачем оно нужно в жизни?
Да и габарит вышел большой.
Практическое применение какое? Ну кроме практики шлифовки эпоксидки :)
не зная маппинг блоков и не имея ключей на запись что вам даст чтение?
игры в хакеров пройдут со временем.
Вообще я занимаюсь монтажом этих систем, потому мне и любопытно, зачем он нужен.
Я это прекрасно понимаю.
Я не понимаю другого, вот собрали прибор, интересный, получили информацию с карты, пусть даже ФИО, номер паспорта, номер страховки, что там еще кодируют.
Да даже сколько лет в браке и какие сигареты курит.
Дальше что с этой информацией делать, чем она полезна?
Я пока так и не понял практической пользы.
Вот у Вас был обзор самодельной паяльной станции, смысл понятен, практическое применение тоже.
А здесь узнали что есть дыра в шифровании данных на карте, закрыть Вы ее не можете, максимум, просто не пользоваться этой системой, например перейти на другую.
Вот мне в этом обзоре понравилась работа с эпоксидкой. Раньше тоже много чего делал, то она была желтая и не такая красивая :(
Осциллограф помогает мне зарабатывать деньги, так как является одним из важных инструментов при ремонте электроники.
Ну и для просто отладки устройств. которые разрабатываю.
Вы занимаетесь разработкой алгоритмов шифрования и защиты информации?
Зачем точно — пусть автор скажет, а я от себя немного напишу.
Собирал примерно тоже самое, только «на коленке» и без красивостей.
Преследовал несколько целей: во-первых разобраться с зоопарком различных карт и понять что там и как можно хранить, во-вторых разработать penetrate-тесты, чтобы проверять на предприятиях, где установлено такого типа оборудование его на уязвимости, в-третьих покумекав, подобрать и написать систему контроля доступа сотрудников на предприятие (хотели сначала биометрию ставить — дорого).
В результате — написал прошивку, и серверную часть для карточек em-marin и внедрил на предприятие для учета прихода/ухода сотрудников — работает и по сей день.
Пен-тесты купила у меня одна контора по безопасности.
Ну и разобрался в технологиях — тоже профит.
Как то так. Чем плохо? :) Ну и про любопытство не забывайте — начиналось, кстати, тупо из-за него, потом уже созрел план :) Не обязательно что-то делать ради материального — опыт — тоже отличная награда, тем более, если он связан с технологией, которая сейчас на острие моды.
Что то делать самому всегда хорошо, особенно когда это красиво выглядит в итоге, да еще и работает как задумывалось.
Только непонятна была цель, преследуемая данными действиями.
А ответ автора все сразу поставил на свои места, вариантов осталось два.
1. Сам не знаю зачем.
2. Знаю, но никому не скажу.
Сунул в рукав куртки, проехал по общественным местам в час пик(метро, автобусы). Где можно без палева прижиматься впритык.
Вот у тебя куча проездных и прочих карт оплаты.
Видел софт который за секунды снимает полный дамп с карты в автоматическом режиме. Потом сиди дома и разбирайся, что интересного на рыбачил. Банковские карты кстати так же ломаются.
Так что шапочка из фольги вам в помощь, а если точнее фольгированый чехол для карты.
у меня есть карта от столовки, когда я еще в быдловузе был
ее тупо подносиш к автомату и он показывает сколько там денег и можно закинуть нал, а покупать картой
но это внутреннея система, с банком никак не связана
есть еще проездной
контора пишет, что там только номер и этот номер написан на карте и еще qr код есть и он совпадает с надписью
я чего спрашиваю? думал эти карты тупо клонируются
хочу в одной конторе запилить систему доступа по карточкам для постоянных клиентов
там сдаются помещения до 22 часов и как бы оставлять там человечка выходит накладно, а так можно входную дверь в здание открывать уже через телефон внутри конторы
а входную дверь в помещения сделать с электрозамком, а то бегать открывать уже надоело всем
ну и если электрозамок есть, то надо запилить и ключи
до сего момента я думал, что защита этих карт только в виде брендовой картинки
ведь напечатать на карте в домашних условиях вроде пока еще нельзя, а карту проездную я пока еще водиле показываю
уже 2й год или 3й у меня электронная карта, а в автобусах еще не работают читалки
выходит, что ответ карты если тупо записать, то он ничего не дает? если там какие-то ключи поменять, то карта безопасна будет или ключи сидят в одноразовом пзу и прошиваются только на заводе?
Не надо таскать с собой карточку, потерял/сломалось (сотовый или симка) — клиент сам бежит покупать новый телефон или восстанавливать SIM-карту с сохраненим номера.
Можно открывать замок дистанционно, хоть с другого полушария. Т.е. клиент может послать в офис сотрудника «зайди, забери, а я тебе открою» без необходимости встречи для передачи ключа…
есть атс, там есть еще одно реле и его можно наверное сделать на открывание замка
надо что-то на карточках и чтобы их не могли клонировать
Номера клонировать — сейчас симки не клонируются.
Вся фишка — нет заморочек с карточками, ни со стороны арендодателя (не надо их закупать, выдавать, вести учёт, удалять из памяти замка если потеряют, и т.п.), ни со стороны клиентов.
Ридер SIM-карт (заносить открывающие номера) — дешевле 2$.
Не годится если нужны строгости — выдача карточек под роспись, запрет на передачу третьим лицам и т.п.
в блоки пишется инфа, зашифрованная и hex редактором ее не посмотришь. там будет «каша».
ладно, все это было давно и не правда (интересно, сотрудники СБ банков, транспортники и просто ФСБшники) сейчас ip наши переписывают? )))))
это, действительно, было давно :)
)))))
p.s. это был не я, это был однорукий человек © the mask
Это не так.
ладно, не мое дело убеждать кого то)))
ACS ACR122 devices rely on PCSC which does not allow to cancel/abort a command, so all asynchronous commands (commands with delayed reply) could fail with timeouts, which makes ACR122's target support very limited and unstable.
Хотя для многих задач он вполне подходит.
вот скажем… проверить на предмет безопасности карты оплаты общественного транспорта или парка аттракционов или горнолыжного курорта им можно?
PS. ну вот заставили таки вынуть свой запылившийся хекс редактор… а ведь не хотел… старый стал… не нужны мне ваши хексы. не нужны! )))
вот помню молодым был, писали с товарищем резидент на асме — из protected mode делали скриншоты в pcx :)… doom/doom2 и прочие «непробиваемые» игрушки… и ведь пробивало нормально на наши комбинации клавиш, и нереентабельность дос учитывали, ждали по прерываниям своей очереди…
а сейчас… увы… жена, дети, дом/работа/дом… никакого творчества, полёта мысли и свободного времени… и так много-много лет. разве, что по-стариковски тут побурчать малость…
если этот же ник использовался и во времена программирования, то низкий поклон и большая благодарность. не раз меня выручали труды пользователя с таким ником.
Выходит, этим устройством можно считать сигнал карты, а потом залить его на другую карту, сделать копию?
aliexpress.com/item/125khz-RFID-ID-EM-Card-Reader-Writer-Copier-Duplicater-T5557-EM4305-4200-with-5pcs-key-tag/32436872797.html
Но как уже посоветовали ниже, проще в любой палатке металоремонт, сделают такую копию.
Спасибо за информацию
Можно так же попробовать прочесть карту с помощью android смартфона с nfc, если карта не читается, значит другой диапазон.
В большинстве случаев да, но так сложно ответить.
в автобусах крайне маловероятно. ридеры в оффлайне, памяти под стоплисты мало.
В метро вошел- вышел, пересел на автобус и она списала по тарифу 90 минут.
Все автобусы давно уже на глонасе и взаимодействуют прекрасно.
PS, ну почему не клонируемым? стоит вам на полчасика отдать/потерять/забыть этот носитель идентификатора, так заинтересованные лица найдут способ считать ID и сделать клон…
но, не забываем про Неуловимого Джо :)
если будете так разграничивать доступ к вашему сортиру на этаже, то вряд ли кто будет ломать вашу систему, если только сортир не в студенческой общаге :)
Мне тоже нравятся магнитные разъемы, но китайцы не делают их даже со своим дизайном.
обмен тянет, при заряде плавится.
Не встречалось библиотек по Ардуино, способных организовать двухсторонний обмен по NFC с Android?
Если пузырьков планируется много, то можно «разжижить» эпоксидку заранее. Метанол (яд!), бензол, чистый этиловый спирт (наличие воды даст муть). Так же можно подогреть эпоксидку — станет более текучая (немного ускорит процесс отверждения, но на фоне суток это мелочи). Кстати, смысла нет держать на всякий случай двое суток. В любом количестве готовый эпоксидный клей застывает сутки (при правильных пропорциях компонентов).
Если есть доступ к вакуумному насосу, то удаление пузырьков вообще проблем не вызовет (малодоступно правда).
А если оно загаженное? )))
ebay.com/itm/161292573998
А еще я не заметил что в комплекте идет uart и там кстати high speed uart, имейте в виду.
Картинок в большем разрешении нет, вот я и жду отзывы, а так штука прикольная, можно ломать бесконтактные ключи от домофона без Arduino, если конечно UART там есть свой.
Плюс написано «There is a FTDI interface to connect with the FTDI cable»
Под FTDI-кабелем они обычно подразумевают кабель с FTDI в USB-разъеме.
В большинстве домофонов ключи диапазона 125khz которые не будут работать с этим ридером.
Сами IronLogic уверяют что их карта защищена и скопировать ее уж точно нельзя.
Буду писать по ходу эксперимента.
Итак не смотря на то, что ни один сектор на карте не был закрыт дефолтным ключом, удалось применить атаку darkside и восстановить ключ от нулевого сектора.
Дальше используя mfoc карта была полностью сдампана. Выкладываю полный дамп с ключами pastebin.com/raw/2E2XCx0Z
После чего не составило труда скопировать карту на волшебную болванку с изменяемым UID. Вот такой «защищенный» IronLogic.
Единственный момент — на текущий момент немногим более дорогой, но фабричный ACR122U с USB драйвером делает то же самое ведь (команды abort и выставление таймингов). Стоит 30 долларов. Если у вас есть опыт, расскажите. Про «извращенский софт» — вы имеете ввиду редактирование raw фреймов, идущих в PN532? Ну и про mifare darkside, конечно, молчком, ибо не всегда ключики стандартные в блоках есть, а жить как-то надо :)
лежала cp2102 в qfn-корпусе, подпаялся к ней 0.07 МГТФ (пришлось выпусывать половину жилок из каждого провода, т.к. слишком толстый оказался), залил в термоклей (китайские сопли)
Нашел доки на материнку в ноуте (acer aspire v3-571g), нашел не распаянный юсб на ней, подпаял usb cp2102 к нему. +5вольт взял из одного из разъемов на плате.
Купил www.seeedstudio .com/wiki /Grove_%EF%BC%8D_NFC в ближайшем магазине за 1139рэ (на 20.09.2015, сейчас там уже куда больше), сдул феном дурацкий разъем для фирменного сидовского провода и припаял к cp2102. Антенну и вообще все закрепил двухсторонним скотчем в корпусе ноута.
фотки в ин100граме:
www.instagram .com/ p/7-0PwcuZBU/
www.instagram .com/ p/8ADH3OOZGo/
www.instagram .com/ p/8ATAZYuZJF/
Терзайте гугл.
izvestia.ru/news/602196
Кто-то использовал фотки из этого обзора :-)
Updated: опоздал, не заметил выше.
Автор, подай в суд :-)
проводки соединил — в ноут вставил а mfoc не видит
про процедуру подключения подскажите где можно прочесть
спасибо!
да
Фото подключения и перемычек в студи. Еще вывод dmesg при подключении адаптера и конфиг libnfc.conf
mega.nz/#F!cIknSbQY!hnhICweohnZc7J8UlCKv0Q