>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Java

NFCGate: La navaja suiza para investigación NFC en Android

¿Alguna vez te has preguntado qué tan seguros son tus pagos NFC o la tarjeta de acceso a tu oficina? Como desarrollador, a menudo me encuentro con preguntas sobre la seguridad de dispositivos NFC, y aquí es donde NFCGate viene al rescate — un verdadero hallazgo para investigadores de seguridad y desarrolladores curiosos.

¿Qué se esconde detrás de la comunicación NFC?

NFCGate es una aplicación Android de código abierto creada por investigadores del Secure Mobile Networking Lab de la TU Darmstadt. Te permite:

  • Capturar y analizar tráfico NFC
  • Modificar datos sobre la marcha
  • Retransmitir señales entre dispositivos
  • Clonar etiquetas

La aplicación está disponible en F-Droid y se utiliza activamente en investigación académica, como evidencian las publicaciones en USENIX WOOT'20.

Cinco razones para prestar atención a NFCGate

  1. Un verdadero interceptor de tráfico NFC Olvídate de los lectores externos — la aplicación intercepta la comunicación directamente en el dispositivo gracias a la integración con Xposed Framework.

  2. Modo retransmisión NFCGate puede actuar como un "puente" entre un lector y una etiqueta, transmitiendo datos a través de un servidor. Útil para probar vulnerabilidades de tipo man-in-the-middle.

  3. Reproducción de escenarios ¿Grabaste una transacción NFC? Ahora puedes reproducirla en condiciones controladas para su análisis.

  4. Soporte para pcapng Todos los datos capturados pueden exportarse en formato compatible con Wireshark — ¡el sueño de todo investigador!

  5. Clonación de etiquetas ¿Quieres probar un sistema de control de acceso? NFCGate te permite copiar el UID y otros parámetros de etiquetas NFC.

Características técnicas

Algunas funciones requieren:

  • Android 5+ (API 21+)
  • Xposed Framework (EdXposed o LSPosed)
  • Soporte para HCE (Emulación de tarjeta host)
  • Procesador ARMv7/ARMv8

Curiosamente, el proyecto utiliza una versión modificada de la biblioteca LibNFC-NCI de Google y xHook para la interceptación de llamadas. Todo está bajo la Licencia Apache 2.0.

Casos de uso prácticos

  1. Análisis de vulnerabilidades en sistemas de pago Los investigadores pueden probar cómo responden los sistemas al tráfico NFC modificado.

  2. Pruebas de sistemas de control de acceso ¿Qué tan fácil es clonar una tarjeta corporativa? NFCGate ayuda a encontrar la respuesta.

  3. Ingeniería inversa de protocolos Con la exportación en formato pcapng, el análisis de protocolos se vuelve mucho más fácil.

  4. Propósitos educativos Una excelente herramienta para demostrar los principios del NFC en clases de seguridad de la información.

Limitaciones y precauciones

Los desarrolladores advierten honestamente:

  • No todos los tipos de etiquetas son compatibles (por ejemplo, Mifare Classic ya no puede ser emulado)
  • Los sistemas con verificaciones de tiempo (distance bounding) no pueden ser evadidos
  • El consumo de energía de algunos chips NFC puede ser demasiado alto para la emulación

Cómo comenzar con NFCGate

  1. Instala la aplicación desde F-Droid
  2. Las funciones avanzadas requieren root y Xposed Framework
  3. Las instrucciones detalladas para cada modo están disponibles en la documentación

NFCGate es un ejemplo raro de herramienta de investigación de código abierto de alta calidad. Si eres:

  • Un desarrollador de soluciones NFC
  • Un investigador de seguridad
  • Un instructor de cursos de tecnología móvil
  • Un geek curioso

...entonces esta herramienta debería estar en tu arsenal. Lo principal es recordar el uso ético, como nos recuerdan los creadores de la TU Darmstadt.

El proyecto se está desarrollando activamente — los últimos commits fueron literalmente hace apenas unos días. ¡Así que ahora es el momento perfecto para involucrarse con la investigación!

Proyectos relacionados