
Il malware Android RatHat mantiene l'accesso alla shell dopo la disinstallazione
I ricercatori di Zimperium affermano che RatHat, un malware Android diffuso tramite smishing e malvertising, abusa dell'accesso di debug ADB per mantenere il controllo del telefono dopo la rimozione dell'app.
Un malware Android chiamato RatHat può mantenere il controllo di un telefono anche dopo che l'app è stata eliminata, secondo una ricerca dell'azienda di sicurezza mobile Zimperium. I ricercatori dell'azienda, Gianluca Braga, Vishnu Pratapagiri e Fernando Ortega, descrivono un malware che si ritiene sia gestito da attori minacciosi con sede in Cina e che include un sistema di intelligenza artificiale per navigare e controllare i dispositivi compromessi. Ciò che rende il caso degno di nota è il trucco che mantiene l'intruso all'interno: RatHat abusa di ADB, l'Android Debug Bridge, lo strumento di debug standard che consente a un computer di comunicare con un telefono Android, in modo che un servizio nascosto possa rimanere connesso dopo che l'app visibile è scomparsa.
Il malware raggiunge le vittime attraverso smishing mirato, il nome tecnico del phishing via SMS, e attraverso il malvertising, ovvero la pubblicità malevola, entrambi i quali portano a portali di download di terze parti ingannevoli. Zimperium indica anche i forum di terze parti come canale di distribuzione. In ogni caso l'obiettivo è lo stesso: convincere qualcuno a installare un APK, il formato di file di installazione utilizzato da Android, che contiene il malware. Questi pacchetti funzionano come dropper, un piccolo primo stadio il cui unico compito è lanciare il vero payload, e includono livelli di controlli anti-analisi e anti-debug pensati per impedire che vengano individuati.
Zimperium elenca quattro tecniche anti-analisi integrate in quei pacchetti. La manomissione del contenitore dichiara alcuni file come directory, oppure imposta su di essi il bit di flag di crittografia general purpose dello ZIP, in modo che la libreria libziparchive di Android ignori quei file mentre altri strumenti come unzip e apktool continuano a vederli. Una bomba nel manifest inserisce header di chunk 0x9999 non documentati in AndroidManifest.xml, il file che descrive un'app al sistema operativo; il runtime nativo di Android salta i dati extra, ma le pipeline di analisi automatizzate vanno in crash o vanno in timeout. L'avvelenamento del bytecode DEX aggiunge pseudo-istruzioni configurate con un attributo element_width non valido, che fa fallire il processo di disassemblaggio. La doppia crittografia delle stringhe si basa su uno schema che i ricercatori chiamano StringCrypto: Base64 per resistere all'analisi.
L'architettura di RatHat ha tre componenti principali: l'applicazione Android malevola, un Go Agent e un client proxy inverso FRP. L'app Android è il punto di ingresso. Agisce come canale per acquisire permessi di sistema critici e avviare la fase successiva, ottenendo prima i permessi dei servizi di accessibilità, le funzionalità Android pensate per aiutare le persone con disabilità a usare il telefono ma abbastanza potenti da leggere e agire su ciò che è sullo schermo, e poi abusando di quell'accesso per sbloccare le Opzioni sviluppatore, attivare il Debug wireless ed estrarre il codice di accoppiamento ADB a sei cifre che autorizza una connessione di debug al dispositivo.
Una volta in esecuzione, il malware mostra overlay sopra app specifiche per raccogliere credenziali di accesso, registra lo schermo tramite l'API MediaProjection di Android, intercetta gli SMS e blocca i tentativi di installazione mostrando un falso overlay di errore che imita il Google Play Store. Anche se la vittima riesce a disinstallarlo, l'attaccante mantiene l'accesso alla shell, cioè la capacità di eseguire comandi sul dispositivo, e Zimperium afferma che l'attaccante può sfruttare un servizio locale per verificare se il malware è ancora installato e reinstallarlo se non viene trovato.
Il Go Agent eseguito dall'APK si maschera da libreria nativa chiamata liblocal-service.so, ma usa l'accesso alla shell ottenuto tramite il demone ADB locale per eseguire comandi, il che consente al malware di stabilire la persistenza e applicare esenzioni dalla gestione dell'alimentazione in modo che il sistema abbia meno probabilità di spegnerlo. Il client FRP, da parte sua, apre un tunnel inverso sicuro verso un server di comando e controllo, il server remoto che un attaccante usa per gestire le macchine infette. Un tunnel inverso è una connessione in uscita dal telefono che rimane aperta, consentendo all'operatore di entrare.
Come lo descrive Zimperium, il Go Agent recupera la configurazione del tunnel FRP dal server di comando e controllo, consentendo al client FRP di stabilire un tunnel inverso persistente e attivo verso l'operatore. Quella connessione dà agli attaccanti accesso al demone ADB, che i ricercatori definiscono una strada generica verso il dispositivo in grado di trasportare qualunque cosa l'operatore voglia, indipendentemente dal set di funzionalità del malware stesso. I comandi inviati dal server sono vari e ricchi di funzionalità: raccolta di SMS, credenziali, file, PIN, sequenza o password della schermata di blocco, catture dello schermo, sequenze di tasti incluse le URL digitate nella barra degli indirizzi di un browser e l'elenco delle applicazioni installate. RatHat porta anche un keylogger a livello hardware, eseguito dal Go Agent, che può registrare le pressioni delle dita sullo schermo.
L'elemento di intelligenza artificiale funziona sopra queste capacità. Secondo Zimperium, il malware serializza l'albero di Accessibilità live del dispositivo, la mappa interna di tutto ciò che è attualmente mostrato sullo schermo, in XML e lo invia a uno degli assistenti di intelligenza artificiale generativa più popolari al mondo. I ricercatori affermano che l'IA viene usata per azioni non malevole: risolvere le coordinate del centro di un bersaglio nominato sullo schermo in JSON così che i tap sintetici possano essere diretti su di esso, risolvere il testo effettivo sullo schermo di un bersaglio dall'XML e segnalare comandi di navigazione automatica come SCROLL_DOWN.
La conclusione di Zimperium è che l'architettura a più livelli di RatHat, la sua dipendenza da demoni che sopravvivono al ciclo di vita dell'app e l'uso di cicli decisionali di IA generativa in tempo reale illustrano perché i tradizionali controlli di sicurezza mobile basati sulle firme siano insufficienti. Per chiunque possieda un telefono o gestisca telefoni per un'azienda, il messaggio pratico è che l'app visibile non è l'intera infezione: la protezione che conta qui è impedire l'installazione fin dall'inizio e tenere le funzionalità di sviluppatore e debug di Android fuori dalla portata di software sconosciuto. I ricercatori hanno pubblicato i loro risultati; non hanno detto che questa minaccia sia stata corretta o fermata. Per le aziende che desiderano aiuto per rafforzare i telefoni e gli account che i loro dipendenti usano per lavoro, AEU-I, il nostro servizio di IT, infrastruttura e consulenza orientato alla sicurezza, copre esattamente questo tipo di revisione, mentre i controlli quotidiani sopra restano quelli che tengono fuori questo particolare malware.
Come Proteggerti
- Installa app solo dal Google Play Store ufficiale, mai da un link in un messaggio di testo, da un annuncio pop-up o da un forum qualsiasi, perché è così che entra questo malware.
- Disattiva l'impostazione che consente le app da origini sconosciute (su Android di solito è in Impostazioni, poi App, poi Accesso speciale, poi Installa app sconosciute) così un download indesiderato non può installarsi da solo.
- Non fidarti di un messaggio di testo che avverte di una consegna, una bolletta o un premio e ti spinge a cliccare un link di download; se non l'hai richiesto, cancellalo.
- Apri le impostazioni di Accessibilità del tuo telefono e rimuovi qualsiasi app che non riconosci, dato che questo malware ha bisogno di quel permesso per controllare lo schermo.
- Controlla le Opzioni sviluppatore e disattiva il Debug wireless se non l'hai attivato tu, e disattiva del tutto le Opzioni sviluppatore se non le usi.
- Se hai rimosso un'app sospetta e qualcosa di simile è tornato, considera il telefono compromesso e fallo controllare o ripristina le impostazioni di fabbrica prima di usarlo per home banking o email.
I Termini Spiegati
- Android malware Software dannoso scritto per funzionare su telefoni e tablet Android, di solito per rubare dati o prendere il controllo del dispositivo.
- ADB (Android Debug Bridge) Uno strumento integrato di Android che consente a un computer di inviare comandi a un telefono, normalmente usato dagli sviluppatori per testare le app.
- smishing Una truffa che arriva come messaggio di testo e finge di provenire da un'azienda di cui ti fidi per farti cliccare un link.
- malvertising Annunci online, spesso su siti web normali, usati per portare i visitatori verso pagine che diffondono software dannoso.
- APK Il formato di file usato per installare un'app su un telefono Android.
- dropper Un piccolo pezzo di software il cui unico compito è scaricare e avviare il vero programma dannoso.
- command and control server (C2) Un server remoto controllato da un attaccante che invia istruzioni ai dispositivi infetti e riceve i dati rubati.
- generative AI Software che produce risposte o decisioni in risposta a una richiesta, qui usato dal malware per capire dove toccare sullo schermo.