Exploiting Android moderno – Una panoramica

Exploiting Android moderno – Una panoramica

Le tecniche di attacco (e difesa) di Android sono sempre in evoluzione.

Attualmente le minacce principali sono gli exploit remoti zero-click (e n-click), la social engineering, i malware in-the-wild adottati da APTs e cyber-criminali.

Esaminiamo i metodi attuali di compromissione dei dispositivi Android: vettori di attacco, sistemi C2, meccanismi di persistenza e post-exploitation e tecniche di evasione.


Vettori di Attacco Remoti (Exploit “Zero-Click” e “One-Click”)

I vettori remoti consentono di compromettere un dispositivo senza necessità di installare manualmente malware da parte della vittima. Negli ultimi due anni sono emersi exploit chain altamente sofisticati, spesso impiegati in attacchi mirati:

Exploit chain da remoto via browser o messaggistica: a fine 2022 Google ha scoperto una catena di exploit 0-day che prendeva di mira dispositivi Samsung, combinando vulnerabilità nel browser (derivato da Chrome) per ottenere codice remoto e poi escalation tramite driver GPU Mali, fino ad avere privilegi kernel.

Queste catene “zero-click” (nessuna interazione utente) dimostrano la fattibilità di attacchi completamente remotianche attualmente, similmente a quanto visto in spyware commerciali come Predator di Cytrox, che sfruttava cinque exploit 0-day (quattro in Chrome e uno nel kernel Android) per installare il suo agente sui dispositivi bersaglio.

Vulnerabilità di sistema e componenti hardware: gli aggressori avanzati hanno anche sfruttato falle in componenti come chip Wi-Fi, Bluetooth o persino modem cellulare (baseband) per attacchi remoti. Ad esempio, campagne spyware hanno fatto leva su bug GPU Arm Mali non ancora patchati su alcuni dispositivi.

Sebbene exploit baseband o Bluetooth a distanza siano rari e complessi, rimangono teoricamente possibili (come dimostrato da ricercatori econferenze di hacking).

Attacchi via browser o app di messaggistica: Un esempio rilevante è l’uso di vulnerabilità nel parsing di media (immagini, audio, video) inviati via messaggi o web. Vulnerabilità simili a quelle di “Stagefright” (che colpì Android nel 2015) continuano ad emergere; gli attaccanti possono inviare un file appositamente creato (via MMS, email o link web) che, se elaborato dall’app bersaglio, esegue codice arbitrario sul dispositivo.

Abuso di componenti preinstallati: Alcuni vettori sfruttano app di sistema vulnerabili o servizi con porte aperte. In ambito red team, ad esempio, un dispositivo di test con ADB aperto su rete o un servizio di gestione MDM vulnerabile può essere compromesso da remoto. Un caso degno di nota è l’exploit chain su MobileIron MDM presentata a SSTIC 2021, dove più 0-day sull’MDM portarono al controllo dei dispositivi gestiti (dimostrando l’impatto di vulnerabilità nei sistemi di gestione enterprise)2

I vettori remoti più moderni coinvolgono spesso catene di exploit multiple (browser, sandbox escape, kernel) per aggirare le difese di Android e ottenere privilegi elevati sul dispositivo target


Vettori di Attacco basati su Social Engineering

La maggior parte degli attacchi pratici contro Android avviene tramite ingegneria sociale, inducendo l’utente a installare o avviare qualcosa di malevolo. Le tecniche moderne in questo ambito includono:

App malevole mascherate da innocue: I threat actor creano APK maligni camuffati da applicazioni legittime o aggiornamenti. Ad esempio, il gruppo APT Arid Viper (anche noto come APT-C-23) ha distribuito spyware travestiti da aggiornamenti per un’app di dating reale chiamata Skipped: l’utente riceve un link per scaricare un “update” ma installa in realtà malware.

Analogamente, l’APT Transparent Tribe (legato al Pakistan) diffonde applicazioni infette (CapraRAT) spacciandole per player video o app di intrattenimento (es. false app YouTube o giochi) rivolte a specifici target di interesse.

Smishing e link malevoli: Campagne come quella del trojan bancario FluBot hanno mostrato l’efficacia degli SMS di phishing. L’utente riceve un messaggio (es. finto corriere o banca) con un link; cliccando, viene invitato a scaricare un’app (.apk) da fonti esterne. Una volta attivata l’installazione da “origini sconosciute”, il dispositivo è compromesso. Dal 2022, molte botnet bancarie (FluBot, TeaBot, SMSFactory ecc.) hanno adottato questo metodo di diffusione.

Abuso di Google Play e supply chain: Sebbene il Play Store abbia controlli stringenti, occasionalmente app con malware riescono a superare i filtri. Malware come SharkBot e Vultur sono comparsi su Play Store camuffati da antivirus o utility, scaricando poi il vero payload dopo l’installazione (tecnica dropper). Unattaccantepotrebbe tentare di far pubblicare un’app innocua e poi aggiornarla con codice maligno (anche se i rischi di detection sonoabbastanza alti, ogni tanto può comunque riuscire!). Un’altra via è compromettere librerie di terze parti usate da app legittime (supply-chain): se un’app interna aziendale utilizza un componente vulnerabile, l’attaccante potrebbe indurre un aggiornamento compromesso.

Tecniche di persuasione avanzate: Gli attori malevoli sfruttano schermate e notifiche ingannevoli per ottenere permessi elevati. Un metodo comune è presentare una finta finestra di sistema che richiede di attivare un servizio di Accessibilità o i privilegi di Amministratore del dispositivo, facendoli passare per passi necessari (es. “abilita questo servizio per ottimizzare la batteria” oppure “devi concedere accesso per rimuovere un virus”). Una volta ottenute queste autorizzazioni, il malware può eseguire azioni molto invasive. Ad esempio, Chameleon (trojan bancario emerso nel 2023) prima verifica se il device ha Android 13+, poi guida l’utente ad abilitare l’accessibilità per continuare ad usare l’app, assicurandosi così il controllo necessario.

Watering hole e QR code: Oltre al phishing diretto, alcune campagne APT compromettono siti web frequentati dal target (watering hole) per far scaricare apk malevoli. Anche l’uso di QR code nei luoghi fisici (es. un QR code in un ufficio che rimanda a un’app di registrazione fasulla) è una forma di social engineering mobile sempre possibile in scenari red team.

Insomma le tecniche di ingegneria sociale restano di gran lunga le più efficaci sui grandi numeri. Il componente hardware più hackerato rimane l’umano con in mano il dispositivo.


Tecniche di Malware “In-the-Wild” (APT e Crimeware)

Diamo un’occhiata alle principali tecniche osservate nei malware Android recenti, sia quelli finanziari sia gli spyware “APT-grade”:

Abuso dei servizi di Accessibilità e overlay: Un trend in crescita vede i malware sfruttare l’Accessibility Service di Android per ottenere un controllo quasi completo sul dispositivo. Trojan bancari come FluBot e Xenomorph utilizzano l’accessibilità per leggere lo schermo, simulare tocchi e inserire testi, riuscendo così a rubare credenziali e autorizzare transazioni senza che la vittima se ne accorga

Questi malware spesso visualizzano overlay (finestre sovrapposte) per rubare input sensibili – ad esempio mostrando un finto login banking mentre registrano le credenziali inseriti

Framework modulari e loader nascosti: I malware più avanzati adottano architetture modulari multi-stadio. Un esempio è Predator (spyware commerciale): l’infezione inizia con un loader chiamato Alien, il quale ottiene privilegi elevati e poi carica in memoria moduli aggiuntivi (ad esempio per registrare audio, estrarre messaggi da app come WhatsApp, ecc.)

Alien riesce a iniettarsi in processi di sistema core (Zygote, da cui si clonano tutti i processi delle app) per aggirare SELinux e lanciare i moduli spyware in contesti privilegiati.

L’approccio modulare aumenta la flessibilità (nuove funzionalità possono essere inviate on-demand) e riduce la persistenza in memoria del codice malevolo (difficile da rilevare staticamente).

On-Device Fraud & Remote Device Control: Molti trojan bancari del 2022-2024 (es. Octo/Exobot, Vultur, BRATA) puntano sull’on-device fraud, ossia compiere frodi direttamente sul dispositivo della vittima dopo averne preso il controllo remoto. Octo, evoluzione recente di Exobot, consente all’attaccante di vedere lo schermo della vittima in tempo reale e controllarlo da remoto, perfino abbassando la qualità video per garantire stabilità della connessione anche su rete debole.

Octo e simili usano servizi di streaming dello schermo (spesso via MediaProjection) e l’accessibilità per simulare tocchi, con tattiche per occultare le attività (ad esempio abbassano la luminosità o mostrano un falso schermo nero mentre la banca viene aperta in background). La versione Octo2 (2024) ha migliorato la stabilità di queste sessioni di controllo remoto e introdotto un algoritmo DGA per le comunicazioni C2.

IOCs

Hash (SHA256) app name package name
83eea636c3f04ff1b46963680eb4bac7177e77bbc40b0d3426f5cf66a0c647ae NordVPN com.handedfastee5
6cd0fbfb088a95b239e42d139e27354abeb08c6788b6083962943522a870cb98 Europe Enterprise com.xsusb_restore3
117aa133d19ea84a4de87128f16384ae0477f3ee9dd3e43037e102d7039c79d9 Google Chrome com.havirtual06numberresources

Furto ed esfiltrazione di dati sensibili: Lo spyware mobile in-the-wild eccelle nell’estrazione silenziosa di informazioni: registrazione delle chiamate e dell’audio ambientale, copia di messaggi (SMS, chat WhatsApp/Signal/Telegram), contatti, posizione GPS, email aziendali e documenti. Ad esempio, un malware analizzato da ricercatori (denominato AndroidService Spyware) richiedeva permessi estesi e poteva intercettare SMS, chiamate, leggere il database di WhatsApp (se con root) e periodicamente inviava i dati raccolti al server

Permessi richiesti dal Malware
Permessi richiesti dal Malware

In quel caso, l’esfiltrazione dei dati era pianificata tramite un AlarmManager che attivava un servizio di upload a intervalli regolari.

Camuffamento e trojanizzazione di app legittime: Alcune campagne APT non costruiscono malware da zero, ma iniettano codice maligno in app reali. Nel caso citato di Arid Viper, il malware presentava forti somiglianze con l’app lecita Skipped (stesso nome e project ID), suggerendo un possibile riuso di codice o accesso illecito al progetto originale.

Allo stesso modo, nel 2023 ESET ha scoperto un finto Telegram Pro utilizzato dall’APT StrongPity: l’app appariva funzionare come Telegram ma conteneva funzioni spia nascoste.

SHA-1 File name ESET detection name Description
50F79C7DFABECF04522AEB2AC987A800AB5EC6D7 video.apk Android/StrongPity.A StrongPity backdoor (legitimate Android Telegram app repackaged with malicious code).
77D6FE30DAC41E1C90BDFAE3F1CFE7091513FB91 libarm.jar Android/StrongPity.A StrongPity mobile module responsible for recording phone calls.
5A15F516D5C58B23E19D6A39325B4B5C5590BDE0 libmpeg4.jar Android/StrongPity.A StrongPity mobile module responsible for collecting text of received notifications.
D44818C061269930E50868445A3418A0780903FE local.jar Android/StrongPity.A StrongPity mobile module responsible for collecting a file list on the device.
F1A14070D5D50D5A9952F9A0B4F7CA7FED2199EE phone.jar Android/StrongPity.A StrongPity mobile module responsible for misusing accessibility services to spy on other apps.
3BFAD08B9AC63AF5ECF9AA59265ED24D0C76D91E resources.jar Android/StrongPity.A StrongPity mobile module responsible for collecting SMS messages stored on the device.
5127E75A8FAF1A92D5BD0029AF21548AFA06C1B7 services.jar Android/StrongPity.A StrongPity mobile module responsible for obtaining device location.
BD40DF3AD0CE0E91ACCA9488A2FE5FEEFE6648A0 systemui.jar Android/StrongPity.A StrongPity mobile module responsible for collecting device and system information.
ED02E16F0D57E4AD2D58F95E88356C17D6396658 timer.jar Android/StrongPity.A StrongPity mobile module responsible for collecting a list of installed apps.
F754874A76E3B75A5A5C7FE849DDAE318946973B toolkit.jar Android/StrongPity.A StrongPity mobile module responsible for collecting the contacts list.
E46B76CADBD7261FE750DBB9B0A82F262AFEB298 watchkit.jar Android/StrongPity.A StrongPity mobile module responsible for collecting a list of device accounts.
D9A71B13D3061BE12EE4905647DDC2F1189F00DE wearkit.jar Android/StrongPity.A StrongPity mobile module responsible for collecting a list of call logs.

Sistemi di Command & Control (C2) per Android

Ora un rapido sguardo ai sistemi di C2 di cui abbiamo notizia recente.

C2 su HTTP/HTTPS tradizionale: Molti malware continuano ad usare richieste web verso server controllati dall’attaccante (spesso su HTTPS per confondersi col normale traffico web). Ad esempio, vari trojan bancari contattano periodicamente un server con richieste POST contenenti info del dispositivo e ricevono istruzioni (come quale schermata overlay mostrare). Per evadere i controlli di dominio, Octo2 come citato implementa un Domain Generation Algorithm (DGA) che genera domini C2 diversi nel tempo, così da poterli cambiare agevolmente e rendere difficile il blocco

Abuso di servizi cloud leciti (C2 “mascherato”): Una tendenza è usare infrastrutture cloud pubbliche per il C2, sfruttando il fatto che tali traffici appaiono legittimi. Ad esempio FireScam (malware del 2023) inviava dati rubati ad un database Firebase su cloud Google.
Altri malware utilizzano Firebase Cloud Messaging (FCM) per ricevere comandi push: il malware si registra come client FCM e l’attaccante può inviargli messaggi di comando attraverso l’infrastruttura di Google, eludendo firewall (il traffico FCM è generalmente permesso). In modo simile, alcuni RAT usano Telegram (attraverso bot API) per ricevere comandi e inviare risultati: la comunicazione verso i server Telegram è difficile da distinguere da un uso legittimo dell’app.

Canali non convenzionali (SMS, DNS, e altri): Come fallback, malware più vecchi integravano controlli via SMS: ad esempio inviando un SMS contenente un codice specifico al telefono infetto era possibile attivare funzioni (questo metodo è meno usato oggi per via dei costi e della minore affidabilità). L’uso di DNS come canale covert è ipotizzabile (esfiltrare dati in query DNS), anche se non comune su Android. Alcuni gruppi APT potrebbero usare email o servizi come Twitter/GitHub gist per pubblicare comandi criptati che il malware consulta periodicamente.

C2 persistenti e protocolli avanzati: Un caso notevole è Infamous Chisel, malware usato dal gruppo Sandworm (APT russo) contro dispositivi militari: implementa una backdoor permanente avviando un servizio Tor hidden service sul dispositivo, che espone una shell SSH (Dropbear modificato) per accesso remoto persistente.
In pratica il device infetto funge da server nascosto Tor, a cui gli operatori si connettono anonimamente per impartire comandi. Questo livello di C2 è molto stealth e resiliente (poiché Tor maschera il traffico e non richiede connessioni outbound a server noti).

Criptaggio e protezione del traffico: Indipendentemente dal canale usato, i malware recenti cifrano sempre i dati trasmessi. Octo2, ad esempio, genera una chiave crittografica univoca per ogni richiesta al C2, includendo un “salt” nel messaggio cosicché il server possa derivare la stessa chiave e decrittare.

Ciò rende praticamente impossibile decifrare il traffico intercettato senza avere l’esatto algoritmo e chiave in uso in quel momento. Allo stesso modo, protocolli proprietari possono essere usati per rendere il traffico non riconoscibile (es. non semplice JSON, ma formati binari).


Meccanismi di Persistenza su Android

Mantenere un accesso su android ha aspetti un po’ spinosi.

L’isolamento delle app e la limitazione della loro esecuzione in background in particolare tendono a limitare la continuità di una persistenza.

Esistono però meccanismi per ovviare a questo problema.

Avvio automatico all’accensione (BOOT_COMPLETED): Il metodo classico consiste nel registrare un Broadcast Receiver sull’evento di boot. Al riavvio del dispositivo, Android invia l’intento BOOT_COMPLETED alle app registrate, e il malware può così riavviarsi automaticamente.
Spesso questo receiver fa partire un Service in background che riallaccia la connessione al C2. Per esempio, il malware AndroidService citato prima utilizzava un BroadcastReceiver su BOOT_COMPLETED per lanciare un AlarmManager che periodicamente attivava le sue routine malevole.

Abuso dei permessi di amministratore dispositivo (Device Admin): Se il malware convince l’utente a conferirgli i privilegi di amministratore del dispositivo, ottiene capacità speciali: ad esempio impedire la disinstallazione (occultando o bloccando l’accesso alle impostazioni di sicurezza) e ricevere l’evento di schermo acceso/spento o di password cambiata. Alcuni ransomware Android e spyware insistono affinché l’utente li aggiunga come app amministratore; una volta attivati, possono intercettare tentativi di rimozione.

Bypass delle ottimizzazioni batteria: Dal Android 6+, le app in background sono soggette a limiti (Doze mode). Molti malware chiedono all’utente di essere messi in whitelist dalle ottimizzazioni batteria, così da poter rimanere attivi in background indefinitamente. FireScam ad esempio richiedeva il permesso REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, garantendosi attività continua anche a schermo spento.

Persistenza a livello di sistema (richiede root): Se l’attaccante ottiene privilegi root o di system, può adottare tecniche di persistenza profonda. Un esempio è l’operazione Infamous Chisel già citata poco sopra dove i malware hanno sostituito binari di sistema: il daemon di rete netd fu rimpiazzato con una versione infetta per mantenere l’accesso persistente.
IOCs:
https://www.cisa.gov/sites/default/files/2023-08/AR23-243A%20Infamous%20Chisel%20Malware%20Analysis%20Report.stix_.json

Filename

killer

Description

Infamous Chisel - Process manipulation for netd

ELF 32-bit ARM

Size

30160 bytes

MD5

512eb94ee86e8d5b27ec66af98a2a8c4

SHA-1

ad6eb2a7096b0e29cd93b8b1f60052fed7632ab9

SHA-256

5866e1fa5e262ade874c4b869d57870a88e6a8f9d5b9c61bd5d6a323e763e021


Così, ogni avvio caricava il malware al posto del servizio legittimo. Altre possibilità includono installare il proprio apk nella partizione /system (in modo che non possa essere rimosso da un normale wipe utente) o modificare script di avvio. Queste tecniche sono estremamente invasive e rischiano di corrompere il sistema; raramente usate dal cyber-crimine comune, sono tuttavia nel repertorio di APT sofisticati e possono essere simulate in laboratorio su dispositivi di test sbloccati.

Riapertura automatica e trigger vari: Anche senza boot persistency, un malware può predisporre trigger per auto-riavviarsi. Ad esempio, registrare un receiver per eventi come connessione a Internet attiva, installazione di una nuova app o ricezione di un SMS specifico. Così, anche se l’utente non riavvia il telefono per molto tempo, altre azioni possono far risvegliare il malware. Un trick è usare JobScheduler/WorkManager di Android: si può pianificare un job periodico che riattivi il servizio malware a intervalli regolari (questo sistema rispetta doze mode, ma può comunque essere efficace). Dal lato offensivo, ciò garantisce che anche se il processo maligno viene killato dal sistema, esso riparta dopo un po’.

Nascondere la presenza per prolungare la permanenza: Non un meccanismo di auto-start, ma una tecnica correlata, è nascondere l’icona e l’interfaccia dell’app per evitare che l’utente la noti e la rimuova. Molti malware eliminano la propria icona dal launcher (rimangono installati ma invisibili nella lista delle app utente). In tal modo, l’utente medio non si accorge facilmente della loro presenza. Inoltre, disabilitano notifiche di sistema (“App in esecuzione in background”) – pratica nota nelle TTPs dell’APT “Arid Viper”.

Malicious App Hash Package/Name
ee7e5bd5254fff480f2b39bfc9dc17ccdad0b208ba59c010add52aee5187ed7f com[.]dem[.]aitim[.]Skipped_Messenger
9a7b9edddc3cd450aadc7340454465bd02c8619dda25c1ce8df12a87073e4a1f com[.]pen[.]lime[.]Skipped_Messenger
8667482470edd4f7d484857fea5b560abe62553f299f25bb652f4c6baf697964 com[.]apps[.]sklite

Tecniche di Evasione e Anti-Analisi

Gli autori di malware Android usano varie tecniche per eludere gli antivirus mobile, i sistemi di sandboxing/emulazione e l’analisi forense.

Rilevamento di emulatori e sandbox: Molti malware controllano l’ambiente in cui stanno girando e terminano o sospendono le attività sospette se rilevano un contesto artificiale. Tipicamente interrogano dettagli del dispositivo via API Build.* o TelephonyManager. Ad esempio, verificano il numero di telefono o l’IMEI: sugli emulatori standard questi valori sono predefiniti (“1555521...” per i numeri) e diventano indicatori di emulazione.

Controllano inoltre parametri di build come il produttore e il modello: stringhe come “generic_x86” o “goldfish” indicano l’emulatore Android di Google.

Altri check comuni: presenza di applicazioni che solitamente esistono solo su dispositivi reali (Play Store, Gmail) o hardware (sensori giroscopio, fotocamera) che possono mancare in un sandbox. Dal lato offensivo, se si teme di essere eseguiti in un honeypot, si possono inserire analoghi controlli e magari disattivare alcune funzionalità malevole finché non si è certi che l’app giri su un device reale (con SIM valida, movimento rilevato dai sensori, ecc.).

Anti-debugging e anti-tampering: Malware avanzati integrano controlli per rilevare debugger o strumenti di hooking come Frida. Possono utilizzare l’API Debug.isDebuggerConnected() oppure funzioni native per verificare se il processo è tracciato. Alcuni impiegano tecniche come l’attacco ptrace inverso – occupare il meccanismo di debug per impedire ad altri di attaccarsi – o monitorano la presenza di porte tipiche di Frida (27042/27043). Ad esempio, alcune famiglie controllano la lista dei processi in cerca di nomi noti di agenti di debugging o file indicatori (es. /system/bin/frida-server). Se rilevano tali condizioni, possono spegnere le funzionalità critiche o auto-terminarsi. Nell’ottica del classico redteaming questo livello di anti-analisi è paragonabile a quanto si fa nei malware classici: ad esempio, per evitare instrumentation del proprio payload mobile da parte dei difensori, si potrebbe inserire un controllo dell’integrità del proprio codice in runtime (RASP) o offuscare le funzioni di rete per non farle individuare facilmente via hooking.

Offuscamento del codice e packing: Praticamente tutti i malware Android in-the-wild usano offuscamento pesante. Ciò include: stringhe crittografate (decriptate solo al volo), nomi di classi e metodi randomici o privi di senso, inserimento di “trash code” inutile per confondere l’analisi, e flussi di controllo non lineari. In molti casi si adoperano packers o engine personalizzati: il malware si presenta come un blob cifrato all’interno dell’APK, con solo un piccolo bootstrap visibile. Quando eseguito, il bootstrap decifra il payload reale (magari tramite una libreria nativa) e lo carica in memoria. Come notato per Octo/Exobot, il payload principale era decriptato tramite codice nativo per ostacolare sia l’analisi manuale che quella automatizzata, e Octo2 ha aggiunto ulteriori passaggi di decrittazione dinamica e caricamento di librerie, rendendo l’analisi ancora più ardua.

Polimorfismo e aggiornamenti frequenti: Alcune botnet Android rigenerano gli APK con varianti leggere a intervalli regolari, cambiandosignaturese caratteristiche per sfuggire alle blacklist antivirali. Ad esempio, dopoilleak del codice sorgente di Octo, sono comparsi cloni e varianti multiple mantenute da diversi attori, aumentando la confusione nei sistemi di detection.

Un attaccante che dispone del codice può generare un nuovo sample modificando chiavi crittografiche, domini C2 e piccoli dettagli per ogni campagna, cosicché le IOC cambino.

Evasione di Google Play Protect e controlli runtime: Alcuni malware integrano funzioni per disabilitare Google Play Protect (se hanno ottenuto diritti adeguati) o per intercettare le notifiche di avviso. Un esempio citato prima è Arid Viper, il cui spyware Android è in grado di sopprimere le notifiche di sicurezza che potrebbero allertare l’utente.

Questo potrebbe essere realizzato sfruttando l’accesso alle notifiche (Notification Listener Service) per filtrare messaggi tipo “questa app sta consumando molta batteria” o avvisi di malware rilevati.


💡
Diciamo, per concludere, che le tecniche zero-click e n-click stanno decisamente aumentando, si stanno diffondendo in vari ambiti e non solo più nei contesti APTs, al tempo stesso le tecniche di phishing mantengono un ottimo success rate e molti malware presenti in-the-wild sono modulari, facilmente vendibili e scambiabili anche fra gruppi di cybercriminali meno weaponizzati.