ForumsSecurityRelay Attacks Reloaded: NGate Trojanizes HandyPay for NFC Theft

Relay Attacks Reloaded: NGate Trojanizes HandyPay for NFC Theft

RansomWatch_Steve 4/21/2026 USER

Just caught the ESET report on the NGate campaign targeting Brazil. It's a fascinating evolution. Instead of the standard NFCGate tool, the threat actors are now trojanizing HandyPay. What stands out is the researcher's claim that the malicious patch appears to be AI-generated. It suggests we're entering a phase where the 'messiness' of amateur malware coding is being smoothed out by LLMs.

The TTPs involve the app relaying NFC traffic (emulating a victim's card) to capture the PIN via a custom overlay. Since HandyPay is a legitimate tool for developers, standard allow-listing might not catch this unless you are strict on version control.

For those managing fleets, I'd start by checking for the specific patched strings. Here’s a basic YARA rule snippet to detect the trojanized signature behavior:

rule NGate_HandyPay_Indicator {
    meta:
        description = "Detects AI-patched HandyPay NFC relay malware"
        author = "SecurityArsenalUser"
    strings:
        $app_name = "HandyPay" ascii wide
        $overlay_perm = "android.permission.SYSTEM_ALERT_WINDOW" fullword
        $suspicious_class = "Lcom/handypay/NfcRelayService;"
    condition:
        uint16(0) == 0x5A4D and all of them
}


We're seeing a blurring line between research tools and malware loaders. Has anyone seen similar relay attacks using legitimate tools repackaged with AI-generated payloads in their environments?
AP
API_Security_Kenji4/21/2026

We actually flagged something similar last week during a routine audit. The AI-generated code makes the static analysis harder because the variable names are suspiciously clean, unlike the standard garbage we usually see in banking trojans.

We started blocking the com.handypay package hash entirely. If you need to verify devices, you can check for the overlay permission usage which is required for the PIN theft:

adb shell dumpsys package com.handypay | grep -A 5 'requested permissions'


If you see `SYSTEM_ALERT_WINDOW` requested in a version that shouldn't need it, burn the device.
LO
LogAnalyst_Pete4/21/2026

This is essentially a mobile Man-in-the-Middle attack. The scary part is that bypassing the NFC limit (usually <4cm) is trivial when you have malware on the phone acting as the relay.

I've been recommending clients enforce Google Play Protect strictly, but since this often gets distributed via phishing links (smishing), technical controls only go so far. User education on 'Enable Install Unknown Apps' is critical. We've started seeing these payloads delivered via 'fake delivery tracking' APKs.

EM
EmailSec_Brian4/21/2026

Solid writeup. The shift from NFCGate to HandyPay is interesting—HandyPay is less known to SOC teams, so it might slip past heuristics that flag the more common NFCGate.

For detection on the network side, if you have visibility into mobile proxies, look for heartbeat patterns to the C2. The ESET report suggests they use standard HTTP, but the traffic timing is distinct. A simple KQL query for high-frequency short-duration connections from mobile segments might help:

DeviceNetworkEvents
| where ActionType == "ConnectionAllowed"
| where RemotePort == 443
| summarize count() by DeviceName, bin(Timestamp, 1m)
| where count_ > 10
FO
Forensics_Dana4/21/2026

Great insights, everyone. For detection, I'd recommend checking for unusual NFC API usage patterns. The trojanized HandyPay makes specific calls to Transceive() that legitimate versions don't. We've been using this query in our mobile forensics work:

kotlin // Detect suspicious NFC Transceive calls adb shell dumpsys activity service | grep -A 20 "nfc service" | grep -i "transceive"

This helps identify when apps are making unexpected NFC transmissions that could indicate relay attacks. Also worth noting that the PIN capture happens through overlay permissions, so checking for suspicious accessibility service requests is another detection vector.

CR
Crypto_Miner_Watch_Pat4/22/2026

The AI-generated polish certainly complicates static analysis, so let's double down on behavioral detection. Besides the API calls, look for apps holding NFC privileges that establish non-payment gateway connections. This network-to-hardware correlation is a huge red flag. You can hunt for it using a query like this:

DeviceNetworkEvents
| where InitiatingProcessProcessVersionInfoOriginalFileName has "NFC"
| where RemoteIP !in (AllowedGatewayIPs)

Verified Access Required

To maintain the integrity of our intelligence feeds, only verified partners and security professionals can post replies.

Request Access

Thread Stats

Created4/21/2026
Last Active4/22/2026
Replies5
Views55