A marzo 2024, i ricercatori di Hunt.io hanno individuato, all’interno di una directory non protetta su un server esposto online, un archivio denominato Ermac 3.0.zip
. Il file conteneva l’intero codice sorgente di ERMAC v3.0, uno dei più diffusi trojan bancari per Android, erede del famigerato Cerberus e successivamente evolutosi anche nella variante nota come Hook.
Si tratta di un evento raro: il leak completo del sorgente di una piattaforma Malware-as-a-Service (MaaS) attiva e mantenuta dagli sviluppatori, rappresenta per la comunità dei ricercatori di sicurezza un’opportunità unica per comprendere in profondità l’architettura, le capacità e le debolezze operative di una minaccia reale.
Cos’è il banking trojan ERMAC v3.0 e come funziona
ERMAC 3.0 è un banking trojan per Android, cioè un tipo di malware progettato specificamente per rubare credenziali e informazioni finanziarie degli utenti, come dati di accesso a conti bancari, carte di pagamento e portafogli digitali.
Il funzionamento di un banking trojan si basa sull’iniezione di moduli malevoli all’interno di app legittime o sulla creazione di interfacce false che imitano quelle ufficiali, ingannando l’utente e intercettando i dati inseriti.
ERMAC 3.0 opera come piattaforma MaaS, con un’architettura modulare che include un backend PHP basato su Laravel, un frontend in React per il controllo operativo, un server di esfiltrazione dati scritto in Go e un builder per generare APK personalizzati e offuscati.
Come raccontavamo già nel 2022, una delle caratteristiche principali di ERMAC 3.0 è la capacità di colpire centinaia di applicazioni, tra cui app bancarie, di shopping e di criptovalute, sfruttando tecniche di form injection per raccogliere credenziali, SMS, contatti e dati delle email. Il trojan consente anche il controllo remoto del dispositivo, permettendo di avviare o disinstallare app, inviare SMS, trasferire chiamate, scattare foto con la fotocamera frontale e mostrare notifiche ingannevoli.
La comunicazione con i server di comando è criptata tramite AES-CBC, mentre il pannello operativo centralizzato permette agli operatori di creare campagne mirate, monitorare le vittime e modificare le configurazioni in tempo reale, rendendo ERMAC 3.0 una minaccia sofisticata, altamente adattabile e particolarmente pericolosa per gli utenti Android.
Dalle origini a ERMAC 3.0
- 2021: ThreatFabric documenta per la prima volta ERMAC, attribuendone lo sviluppo al gruppo BlackRock, già attivo con Cerberus.
- 2022: ESET osserva la comparsa di ERMAC v2.0, offerto a noleggio sul dark web a 5.000 dollari al mese e in grado di colpire 467 applicazioni, con un salto notevole rispetto alle 378 precedenti.
- 2023: lo stesso gruppo promuove Hook, considerato una derivazione di ERMAC con funzionalità avanzate di controllo remoto.
- 2024: la scoperta della versione 3.0 segna un ulteriore salto qualitativo: target ampliato a oltre 700 applicazioni bancarie, e-commerce e crypto, nuove tecniche di form injection e un’infrastruttura di comando completamente rivisitata.
Architettura interna del malware
A metà agosto 2025, gli esperti di Hunt.io hanno condiviso un’analisi dettagliata del funzionamento di ERMAC 3.0. Il pacchetto scovato a suo tempo, ha infatti consentito di ricostruire la struttura modulare del banking trojan.
Emerge chiaramente che ERMAC 3.0 non è un semplice trojan bancario, ma una piattaforma di compromissione multifunzione. Tra le principali capacità:
- Raccolta dati personali e riservati: SMS, contatti, account registrati, posta Gmail (oggetto e contenuto).
- Gestione dispositivi: avvio e disinstallazione app, cancellazione cache, inoltro chiamate, invio di SMS mirati o massivi.
- Tecniche di inganno: notifiche push false, form injection mirate su oltre 700 applicazioni, overlay WebView (sovrapposizione di contenuti malevoli a oggetti legittimi).
- Controllo remoto avanzato: acquisizione di foto tramite fotocamera frontale, apertura URL arbitrari, keylogging.
- Persistenza ed evasione: richiesta privilegi di amministratore, disabilitazione di Google Play Protect, geofencing per evitare esecuzione nei Paesi della sfera russa, rilevamento emulatore.
Le comunicazioni sono cifrate con AES-CBC (padding PKCS5), usando un nonce statico (“0123456789abcdef”), un dettaglio che riduce la robustezza crittografica e costituisce un punto debole per le analisi difensive.
Errori operativi e vulnerabilità
ERMAC 3.0 utilizza AES (Advanced Encryption Standard) in modalità CBC (Cipher Block Chaining) per cifrare le informazioni estrapolate dal dispositivo della vittima. La modalità CBC richiede due elementi fondamentali: la chiave segreta e un IV (Initialization Vector), chiamato “nonce”, che serve a rendere ogni cifratura unica anche se i dati sono uguali.
Il malware, tuttavia, usa sempre lo stesso IV statico, cioè “0123456789abcdef”. Ciò significa che le stesse informazioni cifrate producono uguale risultato crittografico, rendendo più facile il riconoscimento di schemi ripetuti nella trasmissione dei dati e la messa a terra di attacchi di decodifica o ricostruzione dei dati cifrati.
Il fatto che Hunt.io abbia messo le mani sul codice sorgente di ERMAC 3.0, ha permesso di far venire a galla diverse altre “leggerezze” commesse dagli sviluppatori del banking trojan:
- Credenziali hardcoded: riferimenti root / changemeplease presenti nel codice.
- JWT statico: segreto predefinito codificato in chiaro. JWT (JSON Web Token) è un formato di token usato per trasmettere informazioni sicure tra due parti.
- Pannelli non protetti: registrazione aperta via API senza controlli, assenza di CAPTCHA o rate limiting.
- Fingerprinting banale: titoli delle pagine (“ERMAC 3.0 PANEL”), nomi pacchetti e intestazioni HTTP che facilitano il tracciamento dell’infrastruttura.
Tutti elementi che non solo permettono a ricercatori e forze dell’ordine di identificare facilmente i server C2 (comando e controllo) ancora attivi, ma che riducono anche la fiducia dei “clienti” criminali che pagano per utilizzare la piattaforma.
Conclusioni
L’acquisizione del prezioso sorgente di ERMAC v3.0 segna una svolta: per la prima volta è possibile analizzare dall’interno un trojan bancario Android ancora in uso, ricostruirne l’intera infrastruttura e sfruttarne le debolezze per rafforzare le difese.
Sebbene questo “colpo di fortuna” favorisca analisti e forze dell’ordine, il rischio che altri attori criminali facciano proprio il codice e lo migliorino è più che concreto. Tuttavia, il caso ERMAC dimostra come il modello Malware-as-a-Service non sia immune alle stesse criticità di sicurezza che affliggono le realtà aziendali: vulnerabilità software, errori di configurazione, mancanza di disciplina operativa.
Per i ricercatori, il leak rappresenta una fonte di intelligence preziosa, capace di migliorare rilevazione, attribuzione e rimozione rapida della minaccia.