Analisi di una campagna StrRat veicolata in Italia
StrRat
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/email-1.png)
Sono trascorsi circa quattro mesi dall’ultima campagna StrRat osservata in Italia. L’e-mail circolata in data odierna è scritta in lingua inglese ma sembra provenire da una nota azienda italiana che si occupa di progettare macchinari industriali ed ha sede a Brescia. Naturalmente il mittente è spoofato ed il contenuto dell’e-mail è confezionato ad arte.
Un gioco a Base64
Il file allegato all’e-mail, la presunta fattura che si invita a consultare, presenta una doppia estensione “.doc.jar“. In realtà dal file JAR viene estratto ed eseguito un nuovo file con doppia estensione “.doc.js“
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/jar2js.png)
Il codice JavaScript è offuscato ma è evidente la presenza di un lungo testo che somiglia molto ad una stringa Base64 mancante di alcuni pezzi (tre variabili).
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/deob_base64_from_js.png)
Analizzando meglio il codice, poco più giù della lunga stringa individuata, è possibile scorgere i valori delle tre variabili (“I”, “y”, “X”) che andranno sostituite per completare la stringa.
Utilizzando CyberChef sostituiamo i tre valori e decodifichiamo il codice da Base64:
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/decode_1st_base64.png)
Siamo nuovamente di fronte ad un nuovo file JavaScript. Nella seconda riga è visibile la variabile “longText” che a seguito delle dovute sostituzioni (visibili nelle righe successive) diventa una stringa Base64.
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/jar_1.png)
Questa volta siamo di fronte ad un file JAR. Scrutando tra le risorse del file JAR troviamo una file denominato “config.txt” all’interno del quale è presente, ancora una volta, una nuova stringa Base64.
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/jar_config_txt.png)
Trattasi del file di configurazione di StrRat ma questa volta la decodifica non è diretta in quanto, si scoprirà più avanti, il testo è cifrato con algoritmo AES.
In realtà ci si potrebbe fermare qui con l’analisi, come mostrato di seguito è sufficiente utilizzare lo script decrypt-strrat.py per decifrare automaticamente il file di configurazione ed ottenere il C2.
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/decrypt_config.png)
Deoffuscare il file JAR
Il codice del file JAR non è correttamente visibile in quanto è stato fatto uso di un offuscatore. Utilizzando Java-Deobfuscator possiamo provare ad individuare il nome dell’offuscatore utilizzato (se supportato).
Preparazione del file config.yml per individuare offuscatore
input: strrat.jar
detect: true
La presenza di “detect: true” nel file di configurazione indica allo script di rilevare il tipo di offuscatore utilizzato. Si scopre così che è stato utilizzato Zelix.
$ java -jar deobfuscator.jar --config config.yml
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading classpath
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Loading input
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - Detecting known obfuscators
.....
[main] INFO com.javadeobfuscator.deobfuscator.Deobfuscator - com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer
Preparazione del file config.yml per deoffuscare il file JAR
input: strat.jar
output: strrat-deob.jar
transformers:
- com.javadeobfuscator.deobfuscator.transformers.zelix.StringEncryptionTransformer
Adesso il codice del file JAR è totalmente in chiaro. Quanto mostrato di seguito riguarda l’algoritmo di decifratura (AES/CBC) con password “strigoi” utilizzato per riportare in chiaro il file config.txt presente nelle risorse.
![](https://cert-agid.gov.it/wp-content/uploads/2023/10/strrat_deob.png)
Il codice di StrRat è abbastanza semplice ma essendo stato ampiamente analizzato si rimanda ad una analisi dettagliata dei comandi progettati per attivare le seguenti funzionalità remote:
- Keylogging
- Privilege escalation
- Password stealing
- Fake ransomware
Indicatori di Compromissione
Al fine di rendere pubblici i dettagli della campagna odierna si riportano di seguito gli IoC rilevati:
Link: Download IoC