← Tutti gli articoli

Il malware Android RatHat mantiene l'accesso alla shell dopo la disinstallazione

Il malware Android RatHat mantiene l'accesso alla shell dopo la disinstallazione

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.

Disponibile anche in: EnglishDeutschShqip