
Эта инструкция показывает практические шаги для работы с утилитой MFOC в Kali Linux: установка из репозитория, проверка совместимого считывателя, снятие дампа MIFARE Classic и базовые приёмы восстановления ключей. Приведены конкретные команды: sudo apt install mfoc для установки и nfc-list (из пакета libnfc-bin) для проверки подключённого устройства.
Перед началом убедитесь, что у вас есть совместимый ридер (например, ACR122U или любой, поддерживаемый libnfc), подключённый по USB, и что вы запускаете команды с правами sudo или от root. Если Kali работает в виртуальной машине, включите USB-переадресацию для ридера и проверьте, что устройство видно командой lsusb и nfc-list.
Практические рекомендации по надёжности: сначала выполните nfc-list для определения UID метки и параметров карты; затем запустите mfoc -O dump.mfd для снятия дампа в файл (при необходимости укажите известный ключ через опцию). Файлы дампа сохраняйте в отдельной директории с понятными именами и правами доступа, чтобы не потерять результаты и не раскрыть ключи случайно.
::contentReference[oaicite:0]{index=0}
Установка Mfoc через пакетный менеджер в Kali Linux
В Kali Linux утилита mfoc доступна в стандартных репозиториях, поэтому установка выполняется одной командой. Откройте терминал и выполните sudo apt update && sudo apt install mfoc -y. Обновление списка пакетов перед установкой гарантирует получение последней версии программы и зависимостей.
После завершения установки проверьте наличие исполняемого файла командой which mfoc. Если путь /usr/bin/mfoc отображается, программа установлена корректно. Для проверки версии используйте mfoc -h или mfoc —version – при успешной установке появится справка с описанием параметров.
Иногда требуется установить дополнительные компоненты, особенно при первом подключении RFID-ридера. Установите пакет libnfc-bin с утилитами nfc-list и nfc-poll командой sudo apt install libnfc-bin -y. Эти инструменты позволяют убедиться, что устройство определяется системой до запуска mfoc.
Если установка завершается с ошибкой из-за отсутствия репозиториев, проверьте файл /etc/apt/sources.list и убедитесь, что активированы официальные репозитории Kali. После внесения изменений выполните sudo apt update и повторите установку. В случае проблем с зависимостями помогает команда sudo apt —fix-broken install.
По завершении всех шагов mfoc готов к использованию. Перед началом работы подключите RFID-ридер, убедитесь, что система его видит, и переходите к проверке устройства и считыванию метки.
Проверка подключения RFID-ридера к системе
После установки mfoc необходимо убедиться, что RFID-ридер корректно определяется в Kali Linux. Подключите устройство к USB-порту и выполните команду lsusb. В списке должен отображаться адаптер, например, ACS ACR122U PICC Interface или аналогичный, в зависимости от модели.
Далее установите пакет libnfc-bin и выполните команду nfc-list. Она показывает список обнаруженных устройств. При успешном подключении появится строка с указанием имени адаптера и поддерживаемых протоколов. Если сообщение «No NFC device found» – проверьте, создан ли конфигурационный файл /etc/nfc/libnfc.conf.
Пример содержимого конфигурационного файла:
device.name = «ACS ACR122U»
device.connstring = «pn532_usb:001:004»
После сохранения изменений перезапустите службу или просто выполните nfc-list повторно.
Для диагностики можно использовать команду nfc-poll. Если ридер активен, при поднесении метки на экране появятся UID и тип карты. При этом индикатор ридера (если имеется) начнёт мигать, что подтверждает рабочее состояние устройства.
Определение UID карты с помощью утилиты nfc-list
После проверки работы ридера необходимо определить уникальный идентификатор карты. Для этого используется утилита nfc-list, входящая в пакет libnfc-bin. Поднесите карту к считывателю и выполните команду nfc-list в терминале.
Если устройство подключено корректно, появится информация о типе карты и строка вида UID (NFCID1): 04:5A:6C:9B:23:18:80. Этот идентификатор уникален для каждой метки и используется для последующих операций в mfoc. Регистр символов в UID не имеет значения, но важно сохранять точное значение без пробелов и ошибок.
Если команда возвращает сообщение No NFC device found или No tag was found, убедитесь, что ридер определён в системе и метка находится на минимальном расстоянии от антенны. Иногда помогает перезапуск службы с помощью sudo systemctl restart pcscd.
Полученный UID рекомендуется записать в отдельный файл, например echo «04:5A:6C:9B:23:18:80» > uid.txt. Это упростит работу при последующем вызове команды mfoc для снятия дампа и восстановления данных.
Считывание данных карты командой mfoc
Запуск mfoc производится из терминала с правами пользователя, имеющего доступ к USB-устройствам (обычно через sudo). Базовая команда для снятия дампа в файл: sudo mfoc -O dump.mfd. Файл dump.mfd будет содержать восстановленную память карты в формате, совместимом с утилитами для анализа и записи.
Если известен один из ключей (заводской или пользовательский), укажите его опцией -k, например: sudo mfoc -k A0A1A2A3A4A5 -O card_dump.mfd. Полезные заводские ключи: FFFFFFFFFFFF и A0A1A2A3A4A5. При отсутствии известного ключа mfoc попытается использовать «offline nested» атаку, но для успеха требуется, чтобы хотя бы один сектор имел известный ключ.
Подстройка параметров увеличивает шанс восстановления при шумном соединении или слабом сигнале. Опция -P задаёт количество попыток опроса сектора (по умолчанию 20); при нестабильной связи установите -P 50. Параметр -T регулирует допустимую вариацию при пробах (по умолчанию 20).
| Команда | Назначение | Рекомендация |
|---|---|---|
| sudo mfoc -O dump.mfd | Снять дамп карты в файл | Используйте уникальное имя файла в отдельной папке |
| sudo mfoc -k A0A1A2A3A4A5 -O card.mfd | Попытка с известным ключом | Передавайте ключи без префикса 0x, только шестнадцатеричные символы |
| -P NUM | Число попыток опроса сектора | Увеличьте до 50 при нестабильном соединении |
| -T NUM | Половина диапазона допусков расстояния | Оставьте 20 или корректируйте при помехах |
::contentReference[oaicite:0]{index=0}
Сохранение дампа карты в файл и его структура
После успешного считывания данных с помощью mfoc создаётся бинарный файл дампа, чаще всего с расширением .mfd или .dump. Указание имени файла производится через параметр -O, например: sudo mfoc -O dump.mfd. Файл сохраняется в текущей директории, если не указан путь вручную.
Для организации результатов создайте отдельную папку, например mkdir ~/mfoc_dumps, и сохраняйте файлы по шаблону: dump_<UID>.mfd. Это облегчает идентификацию карт при последующей обработке и исключает случайную перезапись. Проверить успешность записи можно командой ls -lh dump.mfd – корректный дамп обычно имеет размер 1024 или 4096 байт в зависимости от типа карты.
Файл дампа содержит последовательность блоков памяти карты в порядке чтения. Каждый сектор включает четыре блока, из которых последний – секторный трейлер. В трейлере хранятся два ключа (A и B) и биты доступа. Пример структуры сектора:
Блок 0–2: пользовательские данные (например, UID, значения, флаги).
Блок 3: ключ A (6 байт), биты доступа (4 байта), ключ B (6 байт).
Для просмотра содержимого используйте команду xxd dump.mfd | less или hexdump -C dump.mfd. Эти утилиты позволяют увидеть байтовую структуру и убедиться, что данные считаны полностью. При необходимости дамп можно конвертировать в формат, совместимый с утилитами mfedit или mfcuk, для анализа и редактирования отдельных блоков.
Храните файлы дампов с ограниченным доступом. Добавьте права только для владельца командой chmod 600 dump.mfd, чтобы исключить чтение другими пользователями системы. Это особенно важно при работе с картами, содержащими идентификаторы или ключи доступа.
Восстановление или клонирование карты из дампа
Перед записью убедитесь в целостности дампа: выполните hexdump -C dump.mfd | less и сравните размер с ожидаемым (1024 или 4096 байт). Сохраните оригинал в защищённой директории и задайте права chmod 600 dump.mfd. Работайте только с картами, на которые у вас есть законное право.
Для записи используется утилита из набора libnfc – nfc-mfclassic (или эквивалентный инструмент для вашего ридера). Общий шаблон команды записывающего режима: sudo nfc-mfclassic W A|B dump.mfd, где W – запись, A/B – выбор ключа трейлера для доступа. Перед выполнением проверьте справку nfc-mfclassic —help или man nfc-mfclassic для точного синтаксиса вашей версии.
Практические рекомендации при записи: используйте пустую или совместимую карту того же типа (MIFARE Classic 1K/4K), подносите карту плотно к антенне для стабильного контакта, не отключайте ридер во время операции. Если утилита предлагает режим «dry run» или проверку без записи – сначала выполните его для обнаружения проблем.
После записи подтвердите результат командой nfc-list или nfc-poll – сравните UID и, при необходимости, сделайте контрольный дамп: sudo mfoc -O verify.mfd и сверяйте блоки через hexdump. При несовпадении пересмотрите параметры записи и повторите операцию с увеличенным числом попыток или другим ключом доступа.
Если стандартные инструменты не поддерживают ваш ридер или карта защищена нестандартными ключами, рассмотрите использование специализированных устройств (например, Proxmark3) и соответствующего ПО; они дают более глубокий контроль, но требуют дополнительной подготовки.
Решение распространённых ошибок при работе с Mfoc

Ошибки при использовании mfoc чаще связаны с ридером, драйверами или параметрами чтения. Ниже приведены типовые проблемы и рекомендации по их устранению.
- No NFC device found: убедитесь, что ридер подключён и определяется системой командой lsusb. В виртуальной машине включите USB-переадресацию, перезапустите службу pcscd (sudo systemctl restart pcscd).
- No tag was found: поднесите карту ближе к антенне, проверьте, что карта поддерживает MIFARE Classic, и используйте nfc-list для диагностики.
- Authentication failed: mfoc не смог подобрать ключ для сектора. Попробуйте указать известный ключ через -k, увеличьте число попыток с -P, проверьте целостность и свежесть файла дампа.
- Timeouts или прерывания: нестабильное соединение или слабый сигнал. Подключите ридер напрямую к порту USB, избегайте концентрации нескольких USB-устройств на одном хабе, увеличьте повторные попытки -P.
- Проблемы с правами: выполнение команд без sudo часто приводит к ошибкам доступа к устройству. Запускайте mfoc и утилиты libnfc с правами пользователя с доступом к USB.
При работе с дампами сохраняйте резервные копии и проверяйте целостность файлов через hexdump. Это позволяет избежать потери данных и корректно повторить операции восстановления или клонирования карты.
Вопрос-ответ:
Как установить Mfoc на Kali Linux и проверить корректность установки?
Для установки используйте команду sudo apt update && sudo apt install mfoc -y. После завершения проверьте наличие утилиты через which mfoc. Корректная установка отображает путь, обычно /usr/bin/mfoc. Для проверки версии или справки выполните mfoc -h, чтобы увидеть доступные параметры и убедиться, что программа работает.
Какие шаги нужны для того, чтобы ридер обнаружил карту перед считыванием?
Сначала подключите ридер к USB и убедитесь, что система его видит командой lsusb. Затем используйте nfc-list для проверки детектирования устройства и карты. При работе в виртуальной машине включите USB-переадресацию. Поднесите карту к антенне плотно и убедитесь, что ридер поддерживает MIFARE Classic.
Как определить UID карты и зачем это нужно перед работой с Mfoc?
UID карты отображается при выполнении команды nfc-list. Он состоит из последовательности шестнадцатеричных байтов, например 04:5A:6C:9B:23:18:80. UID используется для идентификации метки и помогает при сохранении дампа и последующей записи на другую карту. Его рекомендуется записать в отдельный файл для точности и удобства.
Какие параметры Mfoc позволяют повысить успешность считывания карты?
Если карта частично защищена, используйте опцию -k для передачи известного ключа. Параметр -P увеличивает количество попыток опроса сектора, а -T задаёт допустимую вариацию при повторных попытках. Эти настройки помогают преодолеть нестабильный сигнал или нестандартные настройки карты.
Что делать, если при работе с Mfoc возникают ошибки аутентификации или таймауты?
Проверьте стабильность подключения ридера и качество сигнала, убедитесь, что карта совместима с MIFARE Classic. Используйте известные ключи через -k и увеличьте число попыток с -P. Если ошибка повторяется, сделайте резервный дамп карты и сравните блоки с исходными через hexdump. Иногда помогает другой USB-порт или смена ридера.
