ESET Research ha descubierto una nueva variante de la familia de malware NGate que abusa de una aplicación legítima de Android llamada HandyPay, en lugar de la herramienta NFCGate utilizada previamente. Los actores de amenaza tomaron la app, que se utiliza para retransmitir datos NFC, y la parchearon con código malicioso que aparenta haber sido generado por IA.

Al igual que en versiones anteriores de NGate, el código malicioso permite a los atacantes transferir datos NFC desde la tarjeta de pago de la víctima hacia su propio dispositivo y utilizarlos para extracciones de efectivo en cajeros automáticos sin contacto y para pagos no autorizados. Además, el código también puede capturar el PIN de la tarjeta de pago de la víctima y exfiltrarlo hacia el servidor de C&C de los operadores.

Puntos clave de este blogpost:
  • Investigadores de ESET descubrieron una nueva variante del malware NGate que abusa de la aplicación legítima de Android HandyPay.
  • Para troyanizar HandyPay, los actores de amenaza muy probablemente utilizaron GenAI, lo cual se evidencia por un emoji dejado en los logs, típico de texto generado por IA.
  • La campaña ha estado activa desde noviembre de 2025 y apunta a usuarios de Android en Brasil.
  • Además de retransmitir datos NFC, el código malicioso también roba los PIN de las tarjetas de pago.
  • Observamos dos muestras de NGate distribuidas en los ataques: una a través de un sitio web falso de lotería y otra mediante un sitio falso de Google Play. Ambos sitios estaban alojados en el mismo dominio, lo que implica fuertemente la participación de un único actor de amenaza.

Los ataques apuntan a usuarios en Brasil, con la app troyanizada distribuida principalmente a través de un sitio web que suplanta a una lotería brasileña, Rio de Prêmios, así como mediante una página falsa de Google Play de una supuesta aplicación de protección de tarjetas. No es la primera vez que una campaña de NGate pone el foco en Brasil: como describimos en nuestro Threat Report H2 2025, los ataques basados en NFC se están expandiendo hacia nuevas regiones (ver Figura 1) mientras incorporan tácticas y técnicas más sofisticadas, siendo Brasil en particular un objetivo de una variante de NGate denominada PhantomCard. Los atacantes están experimentando con nuevos enfoques de ingeniería social y combinando cada vez más el abuso de NFC con capacidades propias de troyanos bancarios.

Figure 1. Geographical distribution of NGate attacks from January 2025 to February 2026
Figura 1. Distribución geográfica de los ataques NGate de enero de 2025 a febrero de 2026

Creemos que la campaña que distribuye la versión troyanizada de HandyPay comenzó alrededor de noviembre de 2025 y que continúa activa al momento de la redacción de este blogpost. También es importante destacar que la versión de HandyPay parcheada maliciosamente nunca estuvo disponible en la tienda oficial de Google Play. Como partner de App Defense Alliance, compartimos nuestros hallazgos con Google. Los usuarios de Android están protegidos automáticamente contra versiones conocidas de este malware gracias a Google Play Protect, que se encuentra habilitado por defecto en los dispositivos Android con servicios de Google Play.

Asimismo, nos pusimos en contacto con el desarrollador de HandyPay para alertarlo sobre el uso malicioso de su aplicación. Tras establecer comunicación, confirmaron que se encuentran llevando a cabo una investigación interna de su lado.

Abuso de HandyPay

A medida que el número de amenazas basadas en NFC continúa en aumento, también se vuelve más robusto el ecosistema que las respalda. Los primeros ataques de NGate emplearon la herramienta open source NFCGate para facilitar la transferencia de datos NFC. Desde entonces, comenzaron a estar disponibles para su compra varias ofertas de malware-as-a-service (MaaS) con funcionalidades similares, como NFU Pay y TX‑NFC. Estos kits se promocionan activamente entre afiliados en Telegram (uno de estos anuncios se muestra en la Figura 2). Por ejemplo, los ataques PhantomCard mencionados anteriormente, que también apuntaron a Brasil, utilizaron NFU Pay para facilitar la transferencia de datos. Sin embargo, en el caso de la campaña descrita en este blogpost, los actores de amenaza optaron por su propia solución y parchearon maliciosamente una aplicación existente: HandyPay.

Figure 2. NFU Pay MaaS advertised on a Telegram channel
Figura 2. NFU Pay MaaS anunciado en un canal de Telegram

HandyPay (sitio web oficial) es una aplicación de Android que está disponible en Google Play desde 2021. Permite retransmitir datos NFC de un dispositivo a otro, lo que puede utilizarse para compartir una tarjeta con un familiar, permitir que un hijo realice una compra única, entre otros casos. Los datos se leen primero en el dispositivo del titular de la tarjeta y luego se comparten con un dispositivo vinculado. Después de que los usuarios vinculan sus cuentas por correo electrónico, el titular de la tarjeta escanea su tarjeta de pago mediante NFC, momento en el cual los datos cifrados se transfieren a través de internet al dispositivo emparejado. Ese dispositivo puede entonces ejecutar acciones de tap‑to‑pay utilizando la tarjeta del titular original. Para que el proceso funcione, los usuarios deben establecer HandyPay como la aplicación de pago predeterminada e iniciar sesión con Google o mediante un token basado en correo electrónico.

Según el sitio web del desarrollador, la app incluye cierto grado de monetización (ver Figura 3): el uso de la aplicación como lector es gratuito (“Guest access”), pero para emular la tarjeta en un dispositivo emparejado (“User access”) supuestamente es necesario suscribirse por €9,99 al mes. No obstante, el sitio presenta este cargo como una donación y el pago no se menciona en la página oficial de la aplicación en Google Play.

 

Figure 3. HandyPay monetization information from the official website
Figura 3. Información sobre monetización de HandyPay extraída del sitio web oficial

¿Por qué los operadores de esta campaña decidieron troyanizar la app HandyPay en lugar de optar por una solución ya establecida para la retransmisión de datos NFC? La respuesta es simple: dinero. Las tarifas de suscripción de los kits MaaS existentes se ubican en el orden de los cientos de dólares: NFU Pay publicita su producto por casi US$400 al mes, mientras que TX‑NFC ronda los US$500 mensuales. HandyPay, en cambio, resulta significativamente más económico, ya que solo solicita una donación de €9,99 al mes, si es que siquiera se paga. Además del precio, HandyPay de forma nativa no requiere permisos, sino únicamente ser configurada como la app de pago predeterminada, lo que ayuda a los actores de amenaza a evitar levantar sospechas.

Como ya mencionamos en la introducción, el código malicioso utilizado para troyanizar HandyPay muestra indicios de haber sido producido con la ayuda de herramientas de GenAI. En particular, los logs del malware contienen emojis típicos de texto generado por IA (ver el fragmento de código en la Figura 4), lo que sugiere que se utilizaron LLMs para generar o modificar el código, aunque la evidencia definitiva sigue siendo esquiva. Esto encaja con una tendencia más amplia en la que la GenAI reduce la barrera de entrada para el cibercrimen, permitiendo que actores de amenaza con habilidades técnicas limitadas puedan desarrollar malware funcional.

 

Figure 4. Malicious code snippet, most probably generated by AI
Figura 4. Fragmento de código malicioso, probablemente generado por IA, responsable de la filtración del PIN de la tarjeta de pago al servidor de C&C

Análisis de la campaña

Objetivo

Con base en los vectores de distribución y en la versión de idioma de la app troyanizada, la campaña apunta a usuarios de Android en Brasil. Durante el análisis del servidor de C&C de los atacantes, también encontramos logs correspondientes a cuatro dispositivos comprometidos, todos geolocalizados en Brasil. Los datos incluían códigos PIN capturados, direcciones IP y marcas de tiempo asociadas a los ataques.

Acceso inicial

Como parte de la campaña, observamos dos muestras de NGate. Si bien se distribuyen por separado, ambas están alojadas en el mismo dominio y utilizan la misma aplicación HandyPay, lo que indica una operación coordinada llevada a cabo por los mismos actores de amenaza maliciosos. El flujo de distribución de ambas muestras se muestra en la Figura 5.

 

Figure 5. Campaign distribution flow
Figura 5. Flujo de distribución de la campaña

La primera muestra de NGate se distribuye a través de un sitio web que suplanta a Rio de Prêmios, una lotería administrada por la lotería estatal de Río de Janeiro (Loterj). El sitio muestra un juego de tarjeta raspable en el que se supone que el usuario debe revelar tres símbolos iguales, con el resultado manipulado de forma tal que el usuario siempre “gana” R$20.000 (ver Figura 6). Para reclamar el premio, se le solicita al usuario que toque un botón que abre la aplicación legítima de WhatsApp con un mensaje prellenado dirigido a un número de WhatsApp predefinido, como se muestra en la Figura 7. Para aumentar la credibilidad, la cuenta de WhatsApp asociada utiliza una imagen de perfil que suplanta a Caixa Econômica Federal, el banco estatal de Brasil que gestiona la mayoría de las loterías del país.

Figure 6. Scratching symbols always results in winning R$20,000
Figura 6. Al rascar los símbolos siempre se ganan 20.000 reales (izquierda), y se invita a la víctima a iniciar WhatsApp a través de un botón que dice "Canjear mi premio ahora" (traducción automática) para reclamar su premio (derecha)
Figure 7. Draft message with option to send to a preselected WhatsApp contact
Figura 7. Borrador de mensaje con opción de envío a un contacto de WhatsApp preseleccionado

Es probable que en este punto la víctima sea dirigida a la app HandyPay parcheada, que se hace pasar por la aplicación de Rio de Prêmios y que está alojada en el mismo servidor que el sitio web falso de la lotería. Durante las pruebas, no recibimos respuesta por parte de la cuenta de WhatsApp del atacante, lo que atribuimos a que no utilizamos un número de teléfono brasileño.

La segunda muestra de NGate se distribuye a través de una página web falsa de Google Play como una app llamada Proteção Cartão (protección de tarjeta). Las capturas mostradas en la Figura 8 indican que las víctimas deben descargar e instalar la aplicación de forma manual, comprometiendo sus dispositivos con la versión troyanizada de HandyPay durante el proceso. Observamos aplicaciones maliciosas con nombres similares utilizadas en una campaña de octubre de 2025 dirigida a Brasil, que desplegó la variante PhantomCard de NGate.

Figure 8. Users have to manually download and install the malicious Proteção Cartão app
Figura 8. Los usuarios tienen que descargar e instalar manualmente la app maliciosa Proteção Cartão (protección de tarjeta)

Flujo de ejecución

En la Figura 9 se muestra un resumen del flujo operativo de la app troyanizada HandyPay.

Figure 9. Trojanized HandyPay operational flow
Figura 9. Flujo operatido de HandyPay troyanizada

Primero, la víctima debe instalar manualmente una versión troyanizada de HandyPay, ya que la app solo está disponible fuera de Google Play. Cuando el usuario toca el botón de descarga de la app en el navegador, Android bloquea automáticamente la instalación y muestra un aviso solicitando permitir la instalación desde esa fuente. El usuario solo debe tocar Settings en ese aviso, habilitar “Allow from this source”, volver a la pantalla de descarga y continuar con la instalación de la app. Una vez instalada, la aplicación solicita ser configurada como la app de pago predeterminada, como se muestra en la Figura 10. Esta funcionalidad no es maliciosa, ya que forma parte de la app oficial HandyPay. El malware realmente inyectado en el código no necesita que esta configuración esté habilitada en el teléfono de la víctima para retransmitir datos NFC; únicamente el dispositivo que recibe los datos, es decir, el dispositivo del operador, requiere que esta opción esté habilitada. No se solicitan permisos adicionales (ver Figura 11), lo que ayuda a que la app maliciosa pase desapercibida.

 
 
Figure 10. Initial request to set the app as the default NFC payment app
Figura 10. Solicitud inicial para establecer la aplicación como aplicación de pago NFC predeterminada
Figure 11. HandyPay doesn’t require any permissions
Figura 11. HandyPay no requiere ningún permiso

Luego se le solicita a la víctima que ingrese en la app el PIN de su tarjeta de pago y que acerque la tarjeta a la parte trasera del smartphone con NFC habilitado. El malware abusa del servicio de HandyPay para reenviar los datos NFC de la tarjeta a un dispositivo controlado por el atacante, lo que permite al actor de amenaza utilizar los datos de la tarjeta de pago de la víctima para realizar extracciones de efectivo en cajeros automáticos. El dispositivo del operador está vinculado a una dirección de correo electrónico codificada directamente dentro de la app maliciosa, lo que garantiza que todo el tráfico NFC capturado se dirija exclusivamente al atacante. Observamos el uso de dos direcciones de correo electrónico distintas de los atacantes en las muestras analizadas. Además del conjunto estándar de datos que se transfiere durante la retransmisión NFC, el PIN de la tarjeta de pago de la víctima se exfiltra por separado hacia un servidor C&C dedicado a través de HTTP (ver Figura 12), sin depender de la infraestructura de HandyPay. El endpoint de C&C utilizado para la recolección de PIN también funciona como servidor de distribución, centralizando tanto las operaciones de entrega como las de recolección de datos.

Figure 12. Example of PIN exfiltration to the C&C server over HTTP
Figura 12. Ejemplo de exfiltración de PIN al servidor de C&C a través de HTTP

Conclusión

Con la aparición de otra campaña más de NGate, queda claramente en evidencia que el fraude basado en NFC está en crecimiento. En esta ocasión, en lugar de utilizar una solución ya establecida como NFCGate o alguno de los MaaS disponibles en el mercado, los actores de amenaza optaron por troyanizar HandyPay, una aplicación que ya contaba con funcionalidades de retransmisión NFC. La alta probabilidad de que se haya utilizado GenAI para ayudar en la creación del código malicioso demuestra cómo los ciberdelincuentes pueden causar daño abusando de LLMs incluso sin necesidad de contar con conocimientos técnicos avanzados.

IoCs

En nuestro repositorio de GitHub se encuentra na lista completa de indicadores de compromiso (IoC) y muestras .

Archivos

SHA-1 Filename Detection Description
48A0DE6A43FC6E49318AD6873EA63FE325200DBC PROTECAO_CARTAO.apk Android/Spy.NGate.CC Android NGate malware.
A4F793539480677241EF312150E9C02E324C0AA2 PROTECAO_CARTAO.apk Android/Spy.NGate.CB Android NGate malware.
94AF94CA818697E1D99123F69965B11EAD9F010C Rio_de_Prêmios_Pagamento.apk Android/Spy.NGate.CB Android NGate malware.

Red

IP Domain Hosting provider First seen Details
104.21.91[.]170 protecaocartao[.]online Cloudflare, Inc. 2025‑11‑08 NGate distribution website.
108.165.230[.]223 N/A KAUA REIS DA SILVA
trading as BattleHost
2025‑11‑09 NGate C&C server.

Técnicas ATT&CK de MITRE

Esta tabla se ha elaborado utilizando la versión 18 del marco MITRE ATT&CK.

Tactic ID Name Description
Initial Access T1660 Phishing NGate has been distributed using dedicated websites.
Credential Access T1417.002 Input Capture: GUI Input Capture NGate tries to obtain victims’ PIN codes via a patched text box.
Exfiltration T1646 Exfiltration Over C2 Channel NGate exfiltrates victims’ PINs over HTTP.