
Una nuova variante di malware del tipo ransomware cripta i file e aggiunge l'estensione ".SaveTheQueen", diffondendosi attraverso la cartella di rete SYSVOL sui controller di dominio Active Directory.
I nostri clienti hanno recentemente affrontato questo malware. Di seguito presentiamo la nostra analisi completa, i risultati e le conclusioni.
Rilevamento
Uno dei nostri clienti ci ha contattato dopo aver riscontrato un nuovo tipo di ransomware che aggiungeva l'estensione ".SaveTheQueen" ai nuovi file criptati nel loro ambiente.
Durante la nostra indagine, in particolare nella fase di identificazione delle fonti di infezione, abbiamo scoperto che la diffusione e il monitoraggio delle vittime infette avveniva tramite l'uso di cartella di rete SYSVOL sul controller di dominio del cliente.
SYSVOL è una cartella chiave per ogni controller di dominio, utilizzata per la distribuzione di oggetti di criteri di gruppo (GPO) e script di accesso e disconnessione sui computer del dominio. Il contenuto di questa cartella viene replicato tra i controller di dominio per sincronizzare questi dati nei siti dell'organizzazione. La scrittura in SYSVOL richiede privilegi elevati nel dominio; tuttavia, dopo una compromissione, questo asset diventa uno strumento potente per gli aggressori, che possono utilizzarlo per diffondere rapidamente ed efficacemente carichi dannosi all'interno del dominio.
La catena di audit Varonis ha aiutato a identificare rapidamente quanto segue:
- L'account utente infetto creava un file chiamato "hourly" in SYSVOL
- Numerosi file di log venivano creati in SYSVOL — ognuno chiamato con il nome del dispositivo di dominio
- Diverse indirizzi IP accedevano al file "hourly"
Abbiamo concluso che i file di log erano utilizzati per monitorare il processo di infezione su nuovi dispositivi e che "hourly" era un'attività programmata che eseguiva un carico dannoso sui nuovi dispositivi, utilizzando script PowerShell — campioni "v3" e "v4".
È probabile che l'attaccante abbia ottenuto e utilizzato le credenziali di amministratore del dominio per scrivere file in SYSVOL. Sui nodi compromessi, l'attaccante eseguiva codice PowerShell che creava un'attività pianificata per aprire, decifrare e avviare il malware.
Decifratura del malware
Abbiamo testato diversi metodi di decifratura dei campioni senza successo:

Eravamo quasi pronti a rinunciare quando abbiamo deciso di provare il metodo "Magic" dell'ottima
utility di GCHQ. "Magic" tenta di indovinare la cifratura del file utilizzando un attacco a forza bruta su diverse tipologie di cifratura e misurando l'entropia.
Nota del traduttore Vedi. e . Il presente articolo e i commenti non prevedono la discussione da parte degli autori dei dettagli dei metodi utilizzati sia in software proprietario che di terze parti.

"Magic" ha identificato che era stato utilizzato un compressore GZip con codifica base64, il che ci ha permesso di decompressare il file e trovare il codice per l'iniezione - "injector".

Dropper: "Nella zona è un'epidemia! Vaccinazioni di massa. Febbre catarrale"
Il dropper era un file .NET normale senza alcuna protezione. Dopo aver esaminato il codice sorgente utilizzando , abbiamo capito che il suo unico scopo era introdurre shellcode nel processo winlogon.exe.


Shellcode o semplici complessità
Abbiamo utilizzato lo strumento di authoring Hexacorn — per "compilare" il shellcode in un file eseguibile per il debug e l'analisi. Abbiamo quindi scoperto che funzionava su macchine a 32 e 64 bit.

Scrivere anche un semplice shellcode in traduzione nativa dall'assembly può essere complesso; scrivere un completo shellcode per entrambi i tipi di sistema richiede abilità elevate, quindi abbiamo cominciato a stupirci dell'astuzia dell'attaccante.
Quando abbiamo analizzato il shellcode compilato utilizzando , abbiamo notato che caricava librerie dinamiche .NET , come clr.dll e mscoreei.dll. Ci è sembrato strano: di solito, gli aggressori cercano di rendere il shellcode il più piccolo possibile, richiamando funzioni native del sistema operativo invece di caricarle. Perché qualcuno dovrebbe voler integrare nel shellcode funzionalità di Windows, invece di chiamarle direttamente su richiesta?
Come si è scoperto, l'autore del malware non ha effettivamente scritto questo complesso shellcode: è stato utilizzato un software tipico per tradurre file eseguibili e script in shellcode.
Abbiamo trovato uno strumento , che ci è sembrato in grado di compilare un shellcode simile. Ecco la sua descrizione su GitHub:
Donut genera shellcode x86 o x64 da VBScript, JScript, EXE, DLL (inclusi gli assemblies .NET). Questo shellcode può essere iniettato in qualsiasi processo Windows per l'esecuzione in
memoria volatile.
Per confermare la nostra teoria, abbiamo compilato il nostro codice utilizzando Donut e l'abbiamo confrontato con un campione – e… sì, abbiamo scoperto un ulteriore componente dell'insieme di strumenti utilizzati. Dopo di che, siamo stati in grado di estrarre e analizzare il file eseguibile originale su .NET.
Protezione del codice
Questo file è stato offuscato utilizzando :


ConfuserEx — è un progetto .NET open source per la protezione del codice di altri sviluppi. Questo tipo di software consente agli sviluppatori di proteggere il proprio codice dal reverse engineering attraverso tecniche come: sostituzione dei caratteri, offuscamento del flusso di controllo e occultamento dei metodi di riferimento. Gli autori di malware utilizzano offuscatori per evitare il rilevamento e rendere più difficile il reverse engineering.
Grazie abbiamo decompresso il codice:

Risultato – payload
Il payload ottenuto dalle trasformazioni è un semplice ransomware. Nessun meccanismo di persistenza nel sistema, nessuna connessione al server di comando – solo una buona vecchia crittografia asimmetrica, per rendere i dati della vittima illeggibili.
La funzione principale accetta come parametri le seguenti stringhe:
- Estensione del file da utilizzare dopo la crittografia (SaveTheQueen)
- Email dell'autore, da inserire nel file di nota con la richiesta di riscatto
- Chiave pubblica utilizzata per la crittografia dei file

Il processo appare come segue:
- Il malware esamina i dischi locali e quelli connessi sul dispositivo della vittima

- Cerca file da crittografare

- Cerca di terminare il processo che utilizza il file che sta per crittografare
- Rinomina il file in «Nome_file_originale.SaveTheQueenING», utilizzando la funzione MoveFile, e lo crittografa
- Dopo che il file è stato crittografato con la chiave pubblica dell'autore, il malware lo rinomina di nuovo, ora in "Nome_file_originale.SaveTheQueen"
- Viene registrato un file con la richiesta di riscatto nella stessa cartella

Basandosi sull'uso della funzione nativa «CreateDecryptor», una delle funzioni del malware sembra contenere come parametro un meccanismo di decrittazione che richiede la chiave privata.
Ransomware NON crittografa file, memorizzati nelle directory:
C:windows
C:Program Files
C:Program Files (x86)
C:Users\AppData
C:inetpub
Inoltre, NON crittografa i seguenti tipi di file:EXE, DLL, MSI, ISO, SYS, CAB.
Conclusioni e considerazioni
Anche se il virus ransomware stesso non conteneva funzionalità insolite, l'attaccante ha utilizzato creativamente Active Directory per diffondere il droper, e il malware stesso ha presentato interessanti, sebbene non complicate, sfide durante l'analisi.
Pensiamo che l'autore del malware:
- Ho creato un ransomware con incorporamento nel processo winlogon.exe, oltre a
funzionalità di crittografia e decrittografia dei file - Ho mascherato il codice malevolo utilizzando ConfuserEx, convertito il risultato con Donut e ulteriormente nascosto il dropper in base64 Gzip
- Ho ottenuto privilegi elevati nel dominio della vittima e li ho usati per copiare
il malware crittografato e le attività pianificate nella cartella di rete SYSVOL dei controller di dominio - Ho eseguito uno script PowerShell sui dispositivi del dominio per diffondere il malware e registrare il progresso dell'attacco nei log in SYSVOL

Se hai domande su questa variante di ransomware, o su qualsiasi altro lavoro svolto dalle nostre squadre di analisi forense e investigazione degli incidenti di sicurezza informatica, o richiedi , dove rispondiamo sempre alle domande durante la sessione di domande e risposte.
Fonte: habr.com



