Ransomware AzzaSec sferrato dal gruppo italiano di hacktivisti contro Israele. Come funziona

4 months ago 122

AzzaSec è un gruppo di hacktivisti italiano che si è distinto per le sue campagne contro Israele e per la collaborazione con altri gruppi di hacktivisti internazionali, tra cui il gruppo russo Noname057(16). L’analisi tecnica del security researcher Emanuele De Lucia.

AzzaSec è un gruppo di hacktivisti italiano che si è distinto per le sue campagne contro Israele e per la collaborazione con altri gruppi di hacktivisti internazionali, tra cui il gruppo russo Noname057(16). Nel panorama attivista, esso si è recentemente distinto per la creazione e la promozione di un programma R-a-a-S (Ransomware-as-a-Service) per il quale vende l’affiliazione ad un prezzo non molto basso (850$ per 1 mese di abbonamento, 2400$ per 3 mesi di abbonamento, 4500$ per 6 mesi di abbonamento, 8000$ per il codice sorgente completo del ransomware). Il presente documento prende in esame le caratteristiche tecniche di tale ransomware, considerandone il livello di sofisticazione nonché la sua efficacia.

Sfondo desktop di un sistema colpito da ransomware AzzaSec

Dettaglio Tecnico

AzzaSec ha scritto il proprio ransomware in VB.Net. Condivide alcune stringhe e funzioni interne con la famiglia ransomware NoCry/.Cry. Il codice contiene molteplici tecniche anti-analisi, meccanismi di crittografia e routine interne mirate ad interrompere e danneggiare i dati ed i files contenuti nei sistemi delle vittime. In generale, questo ransomware è progettato per implementare le seguenti funzionalità principali:

  1. Tecniche di anti-analisi per rilevare se è in esecuzione in un emulatore, debugger, ambiente sandbox o macchina virtuale. Se una qualsiasi di queste condizioni viene soddisfatta, il programma termina immediatamente.
  • Creazione ed utilizzo di Mutex per garantire che venga eseguita solo un’istanza del malware alla volta.
  • Crittografia dei file sul computer della vittima. Utilizza la crittografia AES e memorizza la chiave e il vettore di inizializzazione (IV). Il processo di crittografia si rivolge a directory specifiche escludendo directory di sistema critiche come “Windows”, “System Volume Information” ecc.

Il malware utilizza diverse tecniche per evitare di essere analizzato e rilevato dagli esperti di sicurezza. Queste tecniche sono integrate nel codice e sono progettate per riconoscere se il malware sta girando in un ambiente virtuale o sotto debug. Ad esempio, c’è una funzione chiamata “Emulator” che verifica se il malware è in esecuzione su un emulatore. Questa funzione misura il tempo che passa tra due operazioni e, se il tempo misurato è molto diverso da quello atteso, conclude che l’ambiente è emulato, bloccando l’esecuzione del malware. Un’altra funzione, “DetectVirtualMachine”, controlla se il malware è in un ambiente virtuale, come VMware o VirtualBox.

Fa questo leggendo informazioni sul produttore del sistema e sul modello. Se trova nomi noti di ambienti virtuali, il malware smette di funzionare. C’è anche una funzione chiamata “DetectDebugger” che verifica se il malware è sotto il controllo di un debugger, un programma che gli esperti usano per esaminare il comportamento di programmi sospetti. Se rileva un debugger, il malware si blocca. Per ambienti come Sandboxie, c’è una funzione specifica che cerca una DLL (un tipo di file) usata da Sandboxie.

Se la trova, conclude che si tratta di un ambiente virtuale e smette di funzionare. Infine, esso è in grado di verificare se l’indirizzo IP del computer appartiene a servizi di hosting noti per essere usati in analisi di malware, come Any.Run. Se il risultato è positivo, anche in questo caso il malware si blocca. Tutte queste tecniche sono combinate per assicurarsi che il malware possa evitare di essere analizzato e studiato in vari ambienti virtuali e di debug. Inoltre, il malware crea un “mutex”, un meccanismo per garantire che solo una copia del malware sia attiva alla volta. Se una copia è già in esecuzione, il malware si chiude automaticamente. Qualora il ransomware superi tutti i controlli iniziali, esso è progettato per procedere ad installarsi sul sistema colpito in modo da tornare in esecuzione ad ogni avvio.

Successivamente esegue la sua funzione principale: la crittografia dei file. Per fare questo, crea una chiave di crittografia unica utilizzando una serie di caratteri ed una lunghezza specifica. Questa chiave è essenziale perché rende difficile decifrare i file senza averla.

La chiave generata viene ulteriormente protetta con un sistema legato ad identificatori hardware specifici del computer infetto.

Questa chiave criptata viene quindi memorizzata nelle impostazioni di sistema, garantendo che il malware possa sempre accedere alla chiave utilizzata per bloccare i file. A questo punto inizia a cercare file importanti sul computer, come documenti, immagini, database e script. Questi file vengono crittografati, impedendo all’utente di accedervi senza la chiave di decrittazione corretta, infliggendo così un danno ai dati della vittima.

Il ransomware è progettato per generare e rilasciare un file HTML sul desktop che include istruzioni per il ripristino dei files e le richieste di pagamento. Le istruzioni tipicamente forniscono un indirizzo BTC (BitCoin) e un indirizzo email per le comunicazioni , facilitando il contatto fra i criminali e la vittima. Il ransomware è anche in grado di inviare attività di log ed informazioni generali sulle operazioni a un server remoto. Il server remoto (C2) è specificato sotto i settings generali dell’eseguibile ed è raggiunto tramite richieste HTTPS facendo uso di una apposita funzione. Il flusso di lavoro operativo del ransomware include anche meccanismi per ostacolare gli sforzi di ripristino.

Se abilitato, elimina i punti di ripristino del sistema, un metodo di ripristino comune, complicando così la capacità della vittima di ripristinare i file crittografati.

Schema Crittografico

Il ransomware segue diverse fasi per crittografare i file sul computer della vittima. Prima di tutto, genera una chiave di crittografia unica. Questo avviene selezionando in modo casuale caratteri da un insieme predefinito di lettere e numeri, utilizzando uno strumento di generazione casuale. La lunghezza della chiave è definita da una impostazione chiamata “maxrandom”, che di solito è di 20 caratteri. La chiave include anche un identificatore basato sull’hardware del computer infetto, rendendo la chiave specifica per quel particolare dispositivo. Una volta generata, la chiave viene protetta ulteriormente tramite crittografia AES, che utilizza l’identificatore hardware come parte del processo.

Questa doppia protezione rende molto difficile decifrare la chiave senza il dispositivo originale. La chiave crittografata viene poi memorizzata nel registro di sistema del computer, divisa in due parti per aumentare la sicurezza. Con la chiave di crittografia pronta e protetta, il ransomware inizia a cercare i file sul computer della vittima. Scansiona tutte le unità logiche e le directory degli utenti, ma evita le directory di sistema critiche per non compromettere la stabilità del computer. Durante questa scansione, identifica vari tipi di file, come documenti, immagini e database, per garantire che la vittima perda l’accesso a una vasta gamma di dati.

Il processo di crittografia effettivo utilizza l’algoritmo AES. Il ransomware legge il contenuto di ogni file individuato, lo crittografa con la chiave generata e poi salva i dati crittografati nel file originale. Inoltre, aggiunge un’estensione specifica (come .AzzaSec) ai file crittografati, rendendoli chiaramente inaccessibili senza la chiave di decrittazione corretta. Infine, come accennato, il ransomware può eliminare i punti di ripristino del sistema, rendendo più difficile il recupero dei file senza pagare il riscatto. Cambia anche lo sfondo del desktop, mostrando un messaggio di richiesta di riscatto per informare immediatamente la vittima della situazione e della gravità del problema.

Conclusioni

L’analisi del ransomware AzzaSec rivela un malware non sofisticato ma comunque efficace. Esso adotta un approccio multilivello che inizia con la generazione di chiavi di crittografia uniche, sfruttando sia la selezione casuale dei caratteri che degli identificatori basati sull’hardware. Ciò garantisce che ogni istanza di crittografia sia collegata in modo univoco alla macchina infetta. L’uso della crittografia AES assicura la capacità del ransomware di bloccare i dati delle vittime, rendendoli inaccessibili senza la chiave corretta. Questo locker utilizza controlli anti-analisi abbastanza basilari, inclusi controlli per emulatori, debugger, sandbox e macchine virtuali.

È interessante la resilienza operativa dell’autore del malware, con un’ampia gestione delle eccezioni che garantisce che il ransomware possa riprendersi dagli errori e continuare la sua esecuzione. Questa resilienza riduce la probabilità di arresti anomali che potrebbero avvisare la vittima o il software di sicurezza della sua presenza, mantenendo l’integrità operativa del ransomware. In conclusione, il ransomware AzzaSec è un malware con un discreto insieme di funzionalità ma basato su famiglie già presenti nel panorama delle minacce di questa categoria (NoCry / .Cry), poco sofisticato e dai controlli basilari ma da considerarsi efficace negli scopi che si prefigge.

Read Entire Article