NFCGate

Exploitation v2.6.1 · 26.05.2026 активный

Android-приложение для relay-атак на NFC. Перехватывает NFC-трафик между картой и терминалом, ретранслирует через IP-сеть на второе устройство. Поддерживает: capture, replay, relay, клонирование Mifare Classic. Позволяет обходить RFID-доступ на расстоянии.

v2.6.1
26.05.2026 current
Добавлен 13.07.2026 · Обновлён 13.07.2026 · Exploitation
Установка
# Установить APK на 2 Android-устройства с NFC:
https://github.com/nfcgate/nfcgate/releases
# Одно — у жертвы (capture/relay), второе — у терминала (relay/replay)
переведено ИИ

NFCGate

⚠️В настоящее время NFCGate ошибочно обнаруживается как вредоносное ПО "NGate". Пожалуйста, ознакомьтесь с этим отчётом для получения актуальной информации.⚠️

NFCGate — это приложение для Android, предназначенное для захвата, анализа или модификации NFC-трафика. Оно может использоваться как инструмент для исследования и реверс-инжиниринга протоколов или оценки их безопасности в условиях модификации трафика.

Загрузить в F-Droid

Уведомление

Это приложение было разработано в целях исследований безопасности студентами Лаборатории безопасных мобильных сетей при Техническом университете Дармштадта. Пожалуйста, не используйте это приложение в злонамеренных целях.

Возможности

  • Захват на устройстве: Захватывает NFC-трафик, отправляемый и получаемый другими приложениями, работающими на устройстве.
  • Ретрансляция: Ретранслирует NFC-трафик между двумя устройствами с использованием сервера. Одно устройство работает как "ридер", считывающий NFC-метку, а другое устройство эмулирует NFC-метку с использованием технологии эмуляции карты хоста (HCE).
  • Воспроизведение: Воспроизводит ранее захваченный NFC-трафик в режиме "ридера" или "метки".
  • Клонирование: Клонирует начальную информацию метки (например, ID).
  • Экспорт захваченного NFC-трафика в формат pcapng, читаемый в Wireshark.

Требования для конкретных режимов

  • Поддержка NFC
  • Android 5+ (API уровень 21+)
  • Совместимый с Xposed фреймворк для хуков (EdXposed, LSPosed с Zygisk или Riru): Захват на устройстве, режим ретрансляции метки, режим воспроизведения метки, режим клонирования.
  • ARMv8-A, ARMv7: Режим ретрансляции метки, режим воспроизведения метки, режим клонирования.
  • HCE: Режим ретрансляции метки, режим воспроизведения метки, режим клонирования.

Использование

Сборка

  1. Инициализируйте подмодули: git submodule update --init
  2. Соберите с помощью Android Studio или Gradle

Режимы работы

Поскольку инструкции различаются для каждого режима, каждый режим подробно описан в отдельном документе в папке doc/mode/:

Экспорт в Pcapng

Захваченный трафик можно экспортировать в формат файла pcapng или импортировать из него. Например, Wireshark можно использовать для дальнейшего анализа NFC-трафика. Подробное описание функциональности импорта и экспорта приведено в doc/pcapng.md.

Совместимость

NFCGate предоставляет встроенную проверку состояния. Для дополнительных замечаний о совместимости см. документ по совместимости.

Известные проблемы и оговорки

Пожалуйста, учтите следующие проблемы и оговорки перед использованием приложения (и особенно перед созданием отчёта об ошибке).

NFC-стек

При использовании режимов, которые задействуют HCE, телефон должен реализовывать спецификацию NFC Controller Interface (NCI). Большинство телефонов реализуют эту спецификацию при поддержке HCE.

Конфиденциальность канала данных (ретрансляция)

Для обеспечения конфиденциальности и целостности используйте транспортную безопасность (TLS), которую можно включить в настройках NFCGate. Вам потребуется сертификат, выданный центром сертификации, или самоподписанный сертификат. Сертификаты от доверенных системных ЦС принимаются автоматически. Самоподписанные сертификаты могут быть приняты пользователем при первом использовании (TOFU).

Совместимость с картами (ретрансляция, воспроизведение, клонирование)

Мы можем работать только с метками, поддерживаемыми Android. Например, Android больше не поддерживает чипы MiFare classic, поэтому эти карты не поддерживаются. В случае сомнений используйте такое приложение как NFC Tag info, чтобы узнать, совместима ли ваша метка. Кроме того, в настоящее время поддерживаются все технологии меток, поддерживаемые HCE Android (A, B, F), однако NFC-B и NFC-F остаются непроверенными. Метки NFC-A являются наиболее распространёнными (например, и MiFare DESFire, и специализированные чипы, такие как используемые в электронных паспортах, используют NFC-A), но вы можете столкнуться с проблемами, если будете использовать другие метки.

Совместимость с ридерами (ретрансляция)

Это приложение работает только с ридерами, которые не реализуют дополнительные меры безопасности. Одной мерой безопасности, которая не позволит нашему приложению работать в режиме ретрансляции, является проверка ридером времени отклика карты (или, в более общем случае, если ридер реализует "ограничение расстояния"). Сетевая передача вносит заметную задержку в любую транзакцию, поэтому любой защищённый ридер не будет принимать наши проксированные ответы.
Это не влияет на другие режимы работы.

Ограничения NFC в Android (ретрансляция, воспроизведение)

Некоторые функции NFC не поддерживаются Android и, следовательно, не могут быть использованы с нашим приложением. Мы сталкивались с случаями, когда NFC-поле, генерируемое телефоном, было недостаточно сильным для корректного обеспечения питания более сложным функциям некоторых NFC-чипов (например, криптографическим операциям). Имейте это в виду, если вы тестируете чипы, с которыми мы не экспериментировали.

Публикации и СМИ

Это приложение было представлено на 14-й рабочей конференции USENIX по атакующим технологиям (WOOT '20). Предварительная версия на arXiv доступна здесь.

Ранняя версия этого приложения была представлена на WiSec 2015. Расширенное описание и постер можно найти на сайте одного из авторов. Оно также было представлено в коротком лайтнинг-докладе на Chaos Communication Camp 2015.

Ссылка на наш проект

Любое использование этого проекта, результатом которого является академическая публикация или другая публикация, включающая библиографический список, должно содержать ссылку на NFCGate:

@inproceedings {Klee2020Nfcgate,
    author = {Steffen Klee and Alexandros Roussos and Max Maass and Matthias Hollick},
    title = {NFCGate: Opening the Door for {NFC} Security Research with a Smartphone-Based Toolkit},
    booktitle = {14th {USENIX} Workshop on Offensive Technologies ({WOOT} 20)},
    year = {2020},
    url = {https://www.usenix.org/conference/woot20/presentation/klee},
    publisher = {{USENIX} Association},
    month = aug,
}

Исходная статья NFCGate, описывающая первую версию NFCGate, может быть цитирована следующим образом:

@inproceedings{Maass2015Nfcgate,
  title={DEMO: NFCGate: an NFC relay application for Android},
  author={Max Maass and Uwe M{\"u}ller and Tom Schons and Daniel Wegemer and Matthias Schulz},
  booktitle={Proceedings of the 8th ACM Conference on Security \& Privacy in Wireless and Mobile Networks},
  year={2015}
}

Лицензия

   Copyright 2015-2025 NFCGate Team

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

Контакты

Используемые библиотеки

Благодарности

  • ADBI: ARM и THUMB инлайн-хукинг
Комментарии
Войдите, чтобы оставить комментарий