Mifare classic recovery tool

Mifare classic recovery tool

Hacker’s ramblings

Toying around with RFID, tags has always been something I wanted to do, but never had the time. Contactless payment is gaining traction all around the world. The reason is very simple: it is fast and convenient for both the customer and vendor to just touch’n’go with your credit card or mobile phone on a point-of-sale.

Credit/Debit card payments are based on EMV, or Europay MasterCard and Visa, standard. See generic EMV info at https://en.wikipedia.org/wiki/EMV. Back in 2011 Visa started driving the contactless standard worldwide, and given the situation today, their efforts paid off. However, my understanding is, that at the time of writing this, regardless number of people attempting it, there are no known vulnerabilities in the contactless EMV. Finding one, would be sweet, but finding one would also be extremely hard and time consuming. So, I decided to go for something easier. MIFARE Classic.

What’s this RFID, isn’t it NFC?

Short answer: yes and no.

Long answer:

MIFARE Classic info

Since this topic isn’t especially new, I’m just posting some useful sites I found to be very useful when doing RFID-hacks:

    Finding the encryption keys:

# nfc-mfsetuid 11223344
NFC reader: ACS / ACR122U PICC Interface opened

Found tag with
UID: 01234567
ATQA: 0004
SAK: 08

To verify my hack:
I walked into the appliation and used my clone successfully. Also, I informed the owners, that their security is . well . not secure. They shouldn’t use UIDs as the only authentication mechanism. It’s only 4 bytes and anybody in the world can use that 4-byte password. Using encrypted payload would make more sense, if MIFARE Classic wouldn’t have a major security flaw in it’s key generation algorithm.

This was one of the easiest hacks I’ve completed for years.

MIFARE Classic Tool (MCT)

An Android NFC app for reading, writing, analyzing, etc. MIFARE Classic RFID tags.

  • Read MIFARE Classic tags
  • Save, edit and share the tag data you read
  • Write to MIFARE Classic tags (block-wise)
  • Clone MIFARE Classic tags
    (Write dump of a tag to another tag; write ‘dump-wise’)
  • Key management based on dictionary-attack
    (Write the keys you know in a file (dictionary).
    MCT will try to authenticate with these
    keys against all sectors and read as much as possible.
    See chapter Getting Started.)
  • Format a tag back to the factory/delivery state
  • Write the manufacturer block of special MIFARE Classic tags
  • Use external NFC readers like ACR 122U
    (See the Help & Info section for more information.)
  • Create, edit, save and share key files (dictionaries)
  • Decode & Encode MIFARE >

This tool provides several features to interact with (and only with) MIFARE Classic RFID-Tags. It is designed for users who have at least basic familiarity with the MIFARE Classic technology. You also need an understanding of the hexadecimal number system, because all data input and output is in hexadecimal.

Some important things are:

  • The features this tool provides are very basic. There are no such fancy things like saving a URL to an RFID-Tag with a nice looking graphical user interface. If you want so save things on a tag, you have to input the raw hexadecimal data.
  • This App can not crack/hack any MIFARE Classic keys. If you want to read/write an RFID-Tag, you first need keys for this specific tag. For additional information please read/see chapter Getting Started.
  • There will be no «brute-force» attack capability in this application. It is way too slow due to the protocol.
  • The first block of the first sector of an original MIFARE Classic tag is read-only i.e. not writable. But there are special MIFARE Classic tags that support writing to the manufacturer block with a simple write command. This App is able to write to such tags and can therefore create fully correct clones. However, some special tags require a special command sequence to put them into the state where writing to the manufacturer block is possible. These tags will not work.
    Remember this when you are shopping for special tags!
    Also, make sure the the BCC value is correct before writing. The BCC is the first byte after the UID. It is calculated by XOR-ing all bytes of the UID.
  • This app will not work on some devices because their hardware (NFC-controller) does not support MIFARE Classic (read more). You can find a list of incompatible devices here.

For further information about MIFARE Classic check Wikipedia, do some Google searches or read the MIFARE Classic (1k) ‘Datasheet’ (PDF) from NXP.

First of all, you need the keys for the tag you want to read. Due to some weaknesses in MIFARE Classic, you can retrieve all the keys (A and B) of a tag with tools like the Proxmark3 or normal RFID-Readers and some special software (mfcuk, mfoc).

Читайте также:  Sk hynix hmt41gu6afr8c pb

The application comes with standard key files called std.keys and extended-std.keys, which contains the well known keys and some standard keys from a short Google search. You can try to read a tag with this key file using «Read Tag» from main menu.

Once you know some keys, you can put them into a simple text file (one key per line). You can do this on your PC and transfer the file to the MifareClassicTool/key-files/ directory (on external storage), or you can create a new key file via «Edit or Add Key File» from main menu. If you are finished setting up your key file, you can read a tag using «Read Tag» from main menu.

Advantages of the Key Files Concept:

  • You don’t have to worry about which key is for which sector.
    The application tries to authenticate with all keys from the key
  • You don’t have to know all the keys.
    If neither key A nor key B for a specific sector is found in the key file (dictionary), the application will skip reading said sector.

This dictionary-attack based mapping process (keys sectors) makes it easy for you to read as much as possible with the keys you know!

This application was originally developed by Gerhard Klostermeier in cooperation with SySS GmbH (www.syss.de) and Aalen University (www.htw-aalen.de) in 2012/2013. It is free software and licensed under the GNU General Public License v3.0 (GPLv3)

Icons used in this application:

MIFARE® is a registered trademark of NXP Semiconductors.


Про копирование Mifare >

  • 15 янв, 2012 at 2:15 PM

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

Итак, для многих уже не секрет, что появились карты Classic, у которых возможно переписать нулевой сектор. Продают их кетайцы (по крайней мере, я знаю одного) и откуда они, карты эти, взялись — неизвестно. Возможно, это какая-то небольшая партия «обычных» немного неудавшихся китайских классиков, а возможно и целенаправленно изготовленная. Я больше склоняюсь ко второму варианту.
Работают эти карты шикарно. По крайней мере с метро у меня не возникло вообще никаких проблем. С автобусами тоже (там, правда, по традиции все еще проще можно сделать — в конце поста расскажу как). Да и с электричками, как поговаривает народ в теме, все замечательно. Ну это и понятно — серийник меняется, все рады, поют и танцуют.

А теперь о жопокусательном. Некоторые не очень хорошие товарищи (например mifare ) толкают эти китайские карты, обычный ридер ACR122 и софт, сляпаный из libnfc, mfoc и mfcuk за какие-то баснословные деньги. А это должно быть бесплатно. Я здесь главный мифейрщик, я сказал — я сделал.

Посему, расклад такой:
1. Карты покупаем у китайцев. Мыло: ouyangweidaxian@live.cn Цена и количество — как договоритесь. У меня получилось 5 карт, каждая по цене

1000 рублей. Народ, вроде, уламывал его на 2. А кто-то покупал много и получалось дешевле. Возможно, есть и другие источники, пишите в комментарии. Этот проверенный мной лично.
2. Ридер ACR122 покупаем, например, тут. Хорошая контора, дай б-г им здоровья. Если до китайцев ехать ближе, чем до Зеленограда, то берите на ебэе. Выигрыш в цене — 150 рублей. Для особо замороченных могу порекомендовать как-то надыбать Touchatag. Ридеры, по сути своей, те же, а стоит дешевле.
3. Софт. На сегодня есть оффлайн две методики восстановления ключей: «Dark Side attack», реализуемая программно в mfcuk и «Nested attack», реализуемая в mfoc. Весь софт можно бесплатно скачать из репозиториев и собрать на какой-нибудь убунте за 15-20 минут, не проблема. Вот и получили мы готовый тулчейн для ломки классиков.
Так как я недавно начал потихоньку портировать и немного допиливать libnfc в MSVC++ чисто для своих рабочих и хобби проектов, то для простоты и удобства я выкладываю все эти тулзы, собранные в MSVC++ (под виндой, ессно) с моей сборкой libnfc (внимание, она рассчитана только на работу с ACR122 и его клонами!). Вот тут их можно скачать.

Читайте также:  Apple id apple com вход

Тулзы готовы к работе сразу же:
mfclassic — читает и пишет дампы, в том числе на китайские клоны прям сразу с заменой серийника,
mfcuk и mfoc — выковыривают ключи,
mfsetuid — небольшая тулза из libnfc для замены серийника китайских клонов и восстановления убитых клонов, если как-то получилось карту запоганить (например, неправильно записав чексумму или еще что-нибудь в нулевой блок).
Как с ними работать можно почитать в документации по ссылкам на проекты, которые я давал выше, это уже сами, без меня. Да, собраны тулзы на скорую руку в дебаг режиме и немного коряво, но задачи свои они выполняют.

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

Так, говна вбросил. Теперь вброшу плюшек:
1. Скоро (надеюсь) выложу универсальную тулзу для работы с классиками под винду: ГУИ, интегрированные mfoc и mfcuk, работа с проектами, редактор контетна по шаблонам + примеры, работа с клонируемыми китайскими картами. Т.е. вы сами сможете взять нужную карту (например метро), вычитать ключи, в удобном редакторе подправить ее тип, кол-во поездок и т.д. и склонить на китайскую карту. Вот так.
2. Есть немножко физической халявы в МОСКВА Г, которую можно получить, приложив правильно мифейровый рычаг. Следите за постами, обязательно расскажу чуть позже. Думаю, это как раз будет мой первый пост на Хабре.
3. Как я и обещал выше, что касается автобусов в частности и МосГорТранса в целом, все очень просто. Покупаете в кассе настоящий бесконтактный билет на автобус (как ни странно, это классик а не ультралайт) и заправляете его несколькими поездками. Приходите домой, выковыриваете ключи и сливаете живой дамп. Потом расходуете поездки и заливаете дамп обратно. И так до бесконечности. Самый тупой и простой способ. Но делаете все на свой страх и риск, так как это — нарушение закона. Эксперимент экспериментом, а ездить по такому билету все же не надо. Законы надо уважать. А МосГорТрансу, который интересуется и негодует, рекомендую провести ревизию безопасности в своих системах и все поправить, чтобы таких досадных казусов больше не случалось. Наймите, в конце-концов нормального программера. Или договоритесь с нормальной конторой. И бабла попилить сможете, и безопасность подлатаете как следует, чтоб все остались довольны.


Ссылка на основную публикацию
Adblock detector