Взламываем домофонные ключи Mifare classic (+ Удалось скопировать)
- Цена: $13,2
- Перейти в магазин
Update: Удалось скопировать, обзор обновлен.
В одном из своих обзоров (Atmega8A в корпусе TQFP-32 прошивка через Arduino ISP), я уже упоминал о сборке считывателя/эмулятора для контактных домофонных ключей по проекту clusterr'а.
Устройство получилось хорошим, и решив, не останавливаться на достигнутом, принялся изучать теорию по работе с бесконтактными ключами (далее RFID). В частности интересовала возможность, создание копии ключа или полной копии, так называемого magic key (копируется не только содержание, но и ID-устройства), просмотрев информация в интернете решил заказать данный набор.
Состав лота:
— МодульPN532 NFC Чтение/Запись (3.3V-5V);
— S50 Белая карта;
— S50 Ключ карта.
— Размер: 10.5см X 4.9см;
— Питание: 3.3V-5.0V;
— Интерфейсы: I2C, SPI, HSU(3.3V-5V совместимость);
— Кнопка Reset на плате;
— Шаг между пинами: 2.54 мм.
— Pn532 NFC Module TX -> FTDI TTL RX
— Pn532 NFC Module RX -> FTDI TTL TX
— Pn532 NFC Module VIN -> FTDI TTL VCC
— Pn532 NFC Module GND -> FTDI TTL GND
Установка libnfc
Открываем Terminal, получаем права привилегированного пользователя (root) и устанавливаем необходимые пакеты.
Для удобства создадим папку nfc в домашней директории и перейдем в неё:
Получаем текущую версию из git-репозитория:
Собираем libnfc из исходных кодов, которые были получены:
Установка mfoc
MFOC — это открытая реализация «offline nested» атаки от Nethemba.
Программа позволяет восстановить ключи аутентификации от MIFARE Classic card, только если известен один из ключей, кроме того список наиболее популярных ключей уже захаркодин в утилите, по которым будет идти проверка.
Получаем текущую версию из git-репозитория:
cd ./mfoc
autoreconf -vis
./configure
sudo make
Установка mfcuk
MFCUK — это открытая реализация Darkside Attack. Данная утилита не требует знаний какого-либо из ключей.
Получаем текущую версию из git-репозитория:
Подключаем Pn532 NFC Module к USB TTL, а его в свою очередь к порту компьютера и прикладываем RFID ключ — пустой, который шел в комплекте.
Запускаем команду:
В ответ получаем:
Пробуем получить dump карты через утилиту mfoc.
Получаем дамп карты в файл dump.mfd
Ключи Key A: ffffffffffff Found Key B: ffffffffffff
Убираем пустой RFID и прикладываем домофонный, выполняем команду:
Не получилось со стандартными ключами No sector encrypted with the default key has been found, exiting…
Если нам известен один из ключей, то можно воспользоваться параметром -k key
Попробуем осуществить взлом через mfcuk.
Переходим в директорию
Неудача
ERROR: mfcuk_key_recovery_block() (error code=0x03)
ERROR: mfcuk_key_recovery_block() (error code=0x03)
ERROR: mfcuk_key_recovery_block() (error code=0x03)
Оставлял на сутки, ошибка циклически повторяется, при этом если запустить с ключём -v 3 процесс идет.
Ответ в интернете, я так и не нашел, перепробовал разные версии libnfc и mfcuk, оставлял вопросы разработчикам и пытался использовать специализированные дистрибутивы, типа kali linux, пытался взломать пустую карту, та же самая ошибка, результат одинаковый.
В одной из статей упоминается о успешном взломе с ACR122U reader libnfc-1.5.1 и mfcuk r65, но у меня сейчас нет такого устройства.
Для удобства я выкладываю отредактированные файлы crapto1.c и mfcuk.c, которые необходимо подменить в папке mfcuk/src и собрать утилиту заново.
Запускаем mfcuk
И ждем пока maxhii=00ffffff и maxloi=00ffffff начнут повторяться:
Обычно maxhi, maxlo не превышают в этот момент 5-6. На ошибки error code=0x03 не обращаем внимание.
Далее получаем ключ:ffffffffffff
maxhi=5 maxhii=00ffffff maxlo=5 maxloi=00ffffff
Запускам mfoc:
-k ffffffffffff (ключ, который был получен через mfcuk)
В конце должны получить сообщение:
Мы получили полный дамп, домофонного ключа, теперь запишем его в пустой ключ.
Делаем дамп пустого ключа:
И используя утилиту nfc-mfclassic (идет в комплекте с libnfc) записываем дамп в пустой ключ:
Если у вашей болванки Changeable UID или unlocked, т.е. у которой, можно изменить идентификатор и сделать полный дубликат, то запустив:
и получим magic key.
Можно скопировать полученные ключи в любой RFID Emulator на том же Android и использовать свой телефон, как ключ.
но к сожалению создать копию без знания одного из ключей в данный момент не представляется мне возможным благодаря Stewart8 удалось сделать копию. Всем спасибо и я очень счастлив!
ACR122U, mfcuk, and mfoc: Cracking MIFARE Classic on Arch Linux
Can't recover keys from 'weaker' cards
Исправленные файлы mfcuk
В одном из своих обзоров (Atmega8A в корпусе TQFP-32 прошивка через Arduino ISP), я уже упоминал о сборке считывателя/эмулятора для контактных домофонных ключей по проекту clusterr'а.
Устройство получилось хорошим, и решив, не останавливаться на достигнутом, принялся изучать теорию по работе с бесконтактными ключами (далее RFID). В частности интересовала возможность, создание копии ключа или полной копии, так называемого magic key (копируется не только содержание, но и ID-устройства), просмотрев информация в интернете решил заказать данный набор.
Доставка и внешний вид
Товар пришел в обычном желтом пакете без пинов был обмотан воздушно-пузырьковой пленкой и в целом отлично упакован. Продавец предоставил отслеживаемый трек.Состав лота:
— МодульPN532 NFC Чтение/Запись (3.3V-5V);
— S50 Белая карта;
— S50 Ключ карта.
Характеристики
На плате установлен чип NXP Pn532, который позволяет производить операции чтения и записи для Mifare Classic Card (13.56 МГц).— Размер: 10.5см X 4.9см;
— Питание: 3.3V-5.0V;
— Интерфейсы: I2C, SPI, HSU(3.3V-5V совместимость);
— Кнопка Reset на плате;
— Шаг между пинами: 2.54 мм.
Подключение
Для подключения к компьютеру, лучше всего использовать HSU — High-speed UARTs и USB TTL основанный на чипе FT232RL, так же есть возможность подключения Pn532 NFC Module по SPI с Arduino и использовать последнюю, как USB TTL, более подробно можно прочитать по проекту mfocuino. К сожалению, у меня возникли проблемы с Cp2102, который я уже неоднократно упоминал в своих обзорах.— Pn532 NFC Module TX -> FTDI TTL RX
— Pn532 NFC Module RX -> FTDI TTL TX
— Pn532 NFC Module VIN -> FTDI TTL VCC
— Pn532 NFC Module GND -> FTDI TTL GND
Установка и настройка программной части
Для работы с Mifare Classic существует свободная библиотека libnfc, которая содержит необходимый набор утилит для RFID. Установка поддерживается на множество популярных ОС, но я рекомендую использовать GNU\Linux и в частности Debian\Ubuntu.Установка libnfc
Открываем Terminal, получаем права привилегированного пользователя (root) и устанавливаем необходимые пакеты.
sudo apt-get install autoconf libtool libpcsclite-dev libusb-dev git
Для удобства создадим папку nfc в домашней директории и перейдем в неё:
mkdir ~/nfc
cd ~/nfc
Получаем текущую версию из git-репозитория:
git clone https://github.com/nfc-tools/libnfc.git
Собираем libnfc из исходных кодов, которые были получены:
cd ./libnfc
autoreconf -vis
./configure --with-drivers=pn532_uart
make
sudo make install
sudo ldconfig
Установка mfoc
MFOC — это открытая реализация «offline nested» атаки от Nethemba.
Программа позволяет восстановить ключи аутентификации от MIFARE Classic card, только если известен один из ключей, кроме того список наиболее популярных ключей уже захаркодин в утилите, по которым будет идти проверка.
Получаем текущую версию из git-репозитория:
git clone https://github.com/nfc-tools/mfoc.git
cd ./mfoc
autoreconf -vis
./configure
sudo make
Установка mfcuk
MFCUK — это открытая реализация Darkside Attack. Данная утилита не требует знаний какого-либо из ключей.
Получаем текущую версию из git-репозитория:
git clone https://github.com/nfc-tools/mfcuk.git
cd ./mfcuk
autoreconf -vis
./configure
sudo make
Использование
Подключаем Pn532 NFC Module к USB TTL, а его в свою очередь к порту компьютера и прикладываем RFID ключ — пустой, который шел в комплекте.
Запускаем команду:
sudo nfc-list
В ответ получаем:
nfc-list use libnfc libnfc-1.7.1-89-g403650a
Connected to NFC device: Adafruit PN532 board via UART - PN532 v1.6 (0x07)
1 ISO14443A passive target(s) found:
ATQA (SENS_RES): 00 04
UID (NFCID1): dc b8 f9 2d
SAK (SEL_RES): 08
Пробуем получить dump карты через утилиту mfoc.
cd ./mfoc/src
mfoc -O dump.mfd
Получаем дамп карты в файл dump.mfd
Ключи Key A: ffffffffffff Found Key B: ffffffffffff
Вывод команды
./mfoc -O dump.rfd
Found Mifare Classic 1k tag
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
* UID size: single
* bit frame anticollision supported
UID (NFCID1): dc b8 f9 2d
SAK (SEL_RES): 08
* Not compliant with ISO/IEC 14443-4
* Not compliant with ISO/IEC 18092
Fingerprinting based on MIFARE type Identification Procedure:
* MIFARE Classic 1K
* MIFARE Plus (4 Byte UID or 4 Byte RID) 2K, Security level 1
* SmartMX with MIFARE 1K 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] -> [xxxxxxxxxxxxxxxx]
[Key: a0a1a2a3a4a5] -> [xxxxxxxxxxxxxxxx]
[Key: d3f7d3f7d3f7] -> [xxxxxxxxxxxxxxxx]
[Key: 000000000000] -> [xxxxxxxxxxxxxxxx]
[Key: b0b1b2b3b4b5] -> [xxxxxxxxxxxxxxxx]
[Key: 4d3a99c351dd] -> [xxxxxxxxxxxxxxxx]
[Key: 1a982c7e459a] -> [xxxxxxxxxxxxxxxx]
[Key: aabbccddeeff] -> [xxxxxxxxxxxxxxxx]
[Key: 714c5c886e97] -> [xxxxxxxxxxxxxxxx]
[Key: 587ee5f9350f] -> [xxxxxxxxxxxxxxxx]
[Key: a0478cc39091] -> [xxxxxxxxxxxxxxxx]
[Key: 533cb6c723f6] -> [xxxxxxxxxxxxxxxx]
[Key: 8fd0a4f256e9] -> [xxxxxxxxxxxxxxxx]
Sector 00 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 01 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 02 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 03 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 04 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 05 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 06 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 07 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 08 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 09 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 10 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 11 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 12 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 13 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 14 - Found Key A: ffffffffffff Found Key B: ffffffffffff
Sector 15 - Found Key A: ffffffffffff Found Key B: ffffffffffff
We have all sectors encrypted with the default keys..
Auth with all sectors succeeded, dumping keys to a file!
Block 63, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 62, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 61, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 60, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 59, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 58, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 57, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 56, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 55, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 54, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 53, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 52, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 51, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 50, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 49, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 48, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 47, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 46, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 45, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 44, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 43, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 42, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 41, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 40, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 39, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 38, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 37, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 36, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 35, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 34, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 33, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 32, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 31, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 30, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 29, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 28, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 27, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 26, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 25, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 24, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 23, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 22, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 21, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 20, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 19, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 18, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 17, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 16, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 15, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 14, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 13, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 12, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 11, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 10, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 09, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 08, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 07, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 06, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 05, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 04, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 03, type A, key ffffffffffff :00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff
Block 02, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 01, type A, key ffffffffffff :00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Block 00, type A, key ffffffffffff :dc b8 f9 2d b0 08 04 00 01 09 67 1b 75 49 46 1d
Убираем пустой RFID и прикладываем домофонный, выполняем команду:
./mfoc -O domofon_dump.rfd
Не получилось со стандартными ключами No sector encrypted with the default key has been found, exiting…
Если нам известен один из ключей, то можно воспользоваться параметром -k key
Вывод команды
./mfoc -O domofon_dump.rfd
Found Mifare Classic 1k tag
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
* UID size: single
* bit frame anticollision supported
UID (NFCID1): f7 b2 d9 b9
SAK (SEL_RES): 08
* Not compliant with ISO/IEC 14443-4
* Not compliant with ISO/IEC 18092
Fingerprinting based on MIFARE type Identification Procedure:
* MIFARE Classic 1K
* MIFARE Plus (4 Byte UID or 4 Byte RID) 2K, Security level 1
* SmartMX with MIFARE 1K 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] -> [................]
Sector 00 - Unknown Key A Unknown Key B
Sector 01 - Unknown Key A Unknown Key B
Sector 02 - Unknown Key A Unknown Key B
Sector 03 - Unknown Key A Unknown Key B
Sector 04 - Unknown Key A Unknown Key B
Sector 05 - Unknown Key A Unknown Key B
Sector 06 - Unknown Key A Unknown Key B
Sector 07 - Unknown Key A Unknown Key B
Sector 08 - Unknown Key A Unknown Key B
Sector 09 - Unknown Key A Unknown Key B
Sector 10 - Unknown Key A Unknown Key B
Sector 11 - Unknown Key A Unknown Key B
Sector 12 - Unknown Key A Unknown Key B
Sector 13 - Unknown Key A Unknown Key B
Sector 14 - Unknown Key A Unknown Key B
Sector 15 - Unknown Key A Unknown Key B
mfoc: ERROR:
No sector encrypted with the default key has been found, exiting..
Попробуем осуществить взлом через mfcuk.
Переходим в директорию
cd ~/nfc/mfcuk/src
mfcuk -C -R 0 -s 250 -S 250
Неудача
ERROR: mfcuk_key_recovery_block() (error code=0x03)
ERROR: mfcuk_key_recovery_block() (error code=0x03)
ERROR: mfcuk_key_recovery_block() (error code=0x03)
Вывод команды
libnfc - 1.7.1
Mifare Classic DarkSide Key Recovery Tool - 0.3
by Andrei Costin, zveriu@gmail.com, http://andreicostin.com
INFO: Connected to NFC reader: pn532_uart:/dev/ttyUSB0
VERIFY:
Key A sectors: 0 1 2 3 4 5 6 7 8 9 a b c d e f
Key B sectors: 0 1 2 3 4 5 6 7 8 9 a b c d e f
RECOVER: 0ERROR: mfcuk_key_recovery_block() (error code=0x03)
ERROR: mfcuk_key_recovery_block() (error code=0x03)
ERROR: mfcuk_key_recovery_block() (error code=0x03)
Оставлял на сутки, ошибка циклически повторяется, при этом если запустить с ключём -v 3 процесс идет.
Ответ в интернете, я так и не нашел, перепробовал разные версии libnfc и mfcuk, оставлял вопросы разработчикам и пытался использовать специализированные дистрибутивы, типа kali linux, пытался взломать пустую карту, та же самая ошибка, результат одинаковый.
В одной из статей упоминается о успешном взломе с ACR122U reader libnfc-1.5.1 и mfcuk r65, но у меня сейчас нет такого устройства.
Решение проблемы
Как оказалось, существуют 'weaker' ключи, а в mfcuk не существует логики по данному типу. Огромное спасибо пользователю Stewart8 и его сообщению, где он описал проблему и пути её решения.Для удобства я выкладываю отредактированные файлы crapto1.c и mfcuk.c, которые необходимо подменить в папке mfcuk/src и собрать утилиту заново.
Запускаем mfcuk
./mfcuk -C -R 0:A -s 250 -S 250
И ждем пока maxhii=00ffffff и maxloi=00ffffff начнут повторяться:
Вывод mfcuk
mfcuk — 0.3.8
Mifare Classic DarkSide Key Recovery Tool — 0.3
by Andrei Costin, zveriu@gmail.com, andreicostin.com
INFO: Connected to NFC reader: pn532_uart:/dev/ttyUSB0
VERIFY:
Key A sectors: 0 1 2 3 4 5 6 7 8 9 a b c d e f
Key B sectors: 0 1 2 3 4 5 6 7 8 9 a b c d e f
RECOVER: 0
…
254592 candidates found, nonce 78882a2f
maxhi=3 maxhii=0030b0c5 maxlo=3 maxloi=00080e51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
44928 candidates found, nonce 5578882a
maxhi=3 maxhii=000bee31 maxlo=3 maxloi=00080e51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
354816 candidates found, nonce 5578882a
maxhi=4 maxhii=00895568 maxlo=3 maxloi=0000a513
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
153600 candidates found, nonce 688df49b
maxhi=4 maxhii=0030028f maxlo=4 maxloi=0016ef51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
49152 candidates found, nonce a2701b19
maxhi=4 maxhii=0030028f maxlo=4 maxloi=0016ef51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
59136 candidates found, nonce 02aa92c0
maxhi=5 maxhii=00ffffff maxlo=5 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
206080 candidates found, nonce 32a03931
maxhi=6 maxhii=00ffffff maxlo=6 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
40256 candidates found, nonce 78882a2f
maxhi=7 maxhii=00ffffff maxlo=7 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
349440 candidates found, nonce a2701b19
maxhi=8 maxhii=00ffffff maxlo=8 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
1344 candidates found, nonce 688df49b
maxhi=9 maxhii=00ffffff maxlo=9 maxloi=00ffffff
Mifare Classic DarkSide Key Recovery Tool — 0.3
by Andrei Costin, zveriu@gmail.com, andreicostin.com
INFO: Connected to NFC reader: pn532_uart:/dev/ttyUSB0
VERIFY:
Key A sectors: 0 1 2 3 4 5 6 7 8 9 a b c d e f
Key B sectors: 0 1 2 3 4 5 6 7 8 9 a b c d e f
RECOVER: 0
…
254592 candidates found, nonce 78882a2f
maxhi=3 maxhii=0030b0c5 maxlo=3 maxloi=00080e51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
44928 candidates found, nonce 5578882a
maxhi=3 maxhii=000bee31 maxlo=3 maxloi=00080e51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
354816 candidates found, nonce 5578882a
maxhi=4 maxhii=00895568 maxlo=3 maxloi=0000a513
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
153600 candidates found, nonce 688df49b
maxhi=4 maxhii=0030028f maxlo=4 maxloi=0016ef51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
49152 candidates found, nonce a2701b19
maxhi=4 maxhii=0030028f maxlo=4 maxloi=0016ef51
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
59136 candidates found, nonce 02aa92c0
maxhi=5 maxhii=00ffffff maxlo=5 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
206080 candidates found, nonce 32a03931
maxhi=6 maxhii=00ffffff maxlo=6 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
40256 candidates found, nonce 78882a2f
maxhi=7 maxhii=00ffffff maxlo=7 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
349440 candidates found, nonce a2701b19
maxhi=8 maxhii=00ffffff maxlo=8 maxloi=00ffffff
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x03)
1344 candidates found, nonce 688df49b
maxhi=9 maxhii=00ffffff maxlo=9 maxloi=00ffffff
Обычно maxhi, maxlo не превышают в этот момент 5-6. На ошибки error code=0x03 не обращаем внимание.
Далее получаем ключ:ffffffffffff
maxhi=5 maxhii=00ffffff maxlo=5 maxloi=00ffffff
Запускам mfoc:
mfoc -O dump.mfd -k ffffffffffff
-k ffffffffffff (ключ, который был получен через mfcuk)
В конце должны получить сообщение:
We have all sectors encrypted with the default keys..
Auth with all sectors succeeded, dumping keys to a file!
Мы получили полный дамп, домофонного ключа, теперь запишем его в пустой ключ.
Делаем дамп пустого ключа:
mfoc -O blank_dump.mfd
И используя утилиту nfc-mfclassic (идет в комплекте с libnfc) записываем дамп в пустой ключ:
nfc-mfclassic w A ./blank_dump.mfd ./dump.mfd
NFC reader: Adafruit PN532 board via UART opened
Found MIFARE Classic card:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): dc b8 f9 2d
SAK (SEL_RES): 08
Guessing size: seems to be a 1024-byte card
Writing 64 blocks |...............................................................|
Done, 63 of 64 blocks written.
Если у вашей болванки Changeable UID или unlocked, т.е. у которой, можно изменить идентификатор и сделать полный дубликат, то запустив:
nfc-mfclassic W a ./blank_dump.mfd ./dump.mfd
и получим magic key.
Можно скопировать полученные ключи в любой RFID Emulator на том же Android и использовать свой телефон, как ключ.
Заключение
Как итог, я получил большой опыт в работе с RFID,Ссылки
Страница проекта nfc-tools на GitHubACR122U, mfcuk, and mfoc: Cracking MIFARE Classic on Arch Linux
Can't recover keys from 'weaker' cards
Исправленные файлы mfcuk
+22 |
13950
50
|
Самые обсуждаемые обзоры
+73 |
3550
145
|
+32 |
2727
53
|
+53 |
3719
68
|
+39 |
3150
42
|
Так что, ACR122U можно не брать и обойтись этим подешевле? Хочу проездной скопировать на NFC кольцо.
Про проездной не знаю, смотря какой там тип RFID
да что там хабр, даже на муське намечается тенденция начинать обзоры трусов с краткой истории их изобретения, цитированием вики, классификацией тканей и таблицами жироанализаторов *опы.
А то самому весь рынок не протестировать.
:-)
:)
так что всё тут нормально… тем более моя любимая тема надежности и безопасности))
geektimes.ru/post/277238/
ru.wikipedia.org/wiki/Анаколуф
Эта хрень не копирует PayPass, максимум узнает номер карты и срок действия. Да и в любом случае, на кольцо я бы загнал данные не основной карты а платежной, с парой тройкой тыс. руб. — в магазине оплатить удобно, а в случае потери/взлома не так страшно. ИМХО.
«Ну а для полной уверенности в том, что никто и никаким образом не сможет считать вашу бесконтактную карту без вашего ведома, можно купить специальный экранированный кошелек. Уж физику точно не обманешь.»
blog.kaspersky.ru/contactless-payments-security/8608/
1. через бесконтактный платеж по умолчанию можно оплатить сумму не более 1000 р. (это настраивается в личном кабинете.
2. Если есть опасения в хакинге/утере, это не означает автоматический отказ от удобства: закиньте на счет привязанный к «кольцу» 2-3 тыс. для оплаты мелочевки в супермаркете и спите спокойно (понятно чот все напопления хранить на такой карте потенциально опасно)
ВТБ это второй после первого основного в России и считаться 'приличным' должен.
Но может вы путаете, ограничения дополнительных карт, к основному карточному счету? Причём тут семейные…
но у меня тоже авангард. мы счастливы вместе. :-).
на китайский специальный экранированный кошелёк — у спец служб найдётся специальное оборудование, которое считает данные к примеру с полтиника метров, а жертва при этом ничего странного/подозрительного вокруг и не заметит вообще…
другой вопрос, если у Вас что-то ценое/важное, чтобы люди на Вас тратили лишнее время…
да и вообще, что вы за карту вспомнили, когда здесь куча жаждущих умом сходить баловством кольца…
так же его носить в специальном экранированном кошельке / чехле и доставать в банке перед терминалом? )
Все эти кошельки для защиты от школоты и мелких мошейников. Крупняк у вас вытянет кошелек, считает и вернет обратно, чтобы вы ничего не заподозрили…
geektimes.ru/post/277574/. Стоимсть меньше 10млдр рубл.
!!! Вот такие они настоящие спецслужбы. Когда у них есть вконтакте им уже практически больше ничего не надо.
если пин не введен = продавец обязан проверить документ = больше шансов оспорить платеж и повесить убытки на продавца…
На ней обычный терминал, который в каждом уважающем себя ресторане есть, а теперь курьеры, например, озона с такими ездят.
На фото обычный курьер.
Кто все еще боится — шапочка из фольги ждет.
для легкоходов — брать спасательное одеяло и формовать самому
либо выживальщиков — брать steel helmet дорабатывать напильником.
RFID метки и NFC работают на разных частотах
да и ломать там нечего — RFID метки легко считываются и информация там никак не защищена
домофонов с NFC я не знаю, возможно такие есть, но не в массовом секторе
набрал код квартиры, сказал полиция, слесарь, электрик/скорая, в 90% откроют.
В остальных 10% просто подождать возле подъезда, откроют через 20-30 минут если дом много этажный…
Почитал в нете, альфабанк пишет что всё зависит от договора, некоторые организации обязаны требовать: или паспорт, или подпись или пин или всё сразу.
Значит " как повезёт".
Я просто читал про штуку, когда в телефон загружается данные от кучи карт и он высылает нужные на «карту эмулятор любой карты» и были случаи когда фирма отказывалась принимать оплату такой «хитрой картой» ссылаясь на то, что карта «не похожа на ту что выпускает банк» и не важно что и ФИО есть и пин введён правильно.
Хотя удобно иметь «одну умную» вместо десятка скидочных и банковских.
Для операций без пина подтверждением, что операцию проводил владелец является роспись, для операций с пином достаточно пина, в договорах с банком четко прописывается, что если операция с пином, значит ты сам виноват.
И ассортимент последних постоянно расширяется.
Бот, я думаю :)))
Чувак четыре года комменты генерит, а никто его не ценит. Уже хотя-бы за этот «труд» погладьте по голове с ласковой молчаливой улыбкой :)
Мож и погладил бы тогда :)
2. В чем выразился "… большой опыт в работе с RFID, но к сожалению создать копию без знания одного из ключей в данный момент не представляется мне возможным"? если результат неутешителен, то о каком большом опыте идет речь? какими еще программами и продуктами пытались подключиться к девайсу, какие еще алгоритмы вам известны? про то как хакнуть wi-fi почитайте, сколько способов побороть или обмануть wpa2…
Какие могут быть претензии к продавцу молотков, если Вы им себе по пальцам попадете? :)
Взламываем !=Вломали
Цель была привлечь сообщество, вдруг у кого-то оказался бы другой ридер.
Верить нельзя никому © папаша Мюллер.
Уважаемый автор, подскажите пожалуйста. Всё сделал как описано в статье. У меня спарка PN532 и USB-UART на CH 340. После выполнения команды nfc-list появляется сообщение No NFC device found. Что может быть не так?
У меня была ошибка в пути к папке nfc я просто скопировал всё из папки /etc/nfc в папку /usr/local/etc/nfc и всё заработало.
+ инструкция в посте так себе. Не думаю, что по ней у тебя заработает без доработок