Analisi statica di un Ransomware - Kekw

Tempo di lettura: 6 minuti

In questo articolo verrà analizzata un nuova minaccia ransomware sviluppata in .NET che chiede il riscatto per la decriptazione dei files tramite pagamento Bitcoin: Kekw ransomware.

Il file, già conosciuto dai principali antivirus, una volta eseguito cifra file e cartelle del sistema ospite, chiedendo un riscatto al malcapitato.

Analisi Statica

Attraverso l’analisi dell’entropia del sample possiamo vedere come esso non sia packed. Si può notare come il livello di entropia sia circa del 59 %.

Le sezioni del Portable Executable sono tre e contengono:

  • .text: le istruzioni che vengono eseguite dalla CPU
  • .rsrc: le risorse dell’eseguibile
  • .reloc: invece le base relocations

Dalle stringhe estratte dal ransomware possiamo notare come ci siano decine di riferimenti a funzioni di crittografia e codifica dei dati, in particolare AES Managed.

Diverse stringhe interessanti, identificate durante l’analisi, sono ad esempio: “AesManaged”, “CryptoStreamMode”, “get_IV”, “EncryptFile”, “Encoding”, “FromBase64String”, “ToBase64String”, “CryptoStream”, “SymmetricAlgorithm”, “ICryptoTransform”, “CreateEncryptor”, “encryptor”, “get_Key”, “” ma anche  imports importanti come ad esempio “System.Security.Cryptography” per poter richiamare funzioni di crittografia.

Sono state identificate anche numerose stringhe che rilevano un’operazione di file e directories gathering per poi procedere alla crittografia di questi ultimi. Alcune stringhe di questo tipo sono: “FileMode”, “Delete”, “Write” “Enumerable”, “DirectoryInfo”, “DriveInfo”, “FileSystemInfo”, “GetEnumerator” ma soprattutto “EnumerateDirectories” ed “EnumerateFiles”, “HandleDirectory” (metodo utilizzato dal ransomware che vedremo più avanti), “get_RootDirectory”, “Program Files”, “C:\Windows”.

KEKW ransomware ha anche un riferimento ad un file .pdb, contenente informazioni di debugging, denominato “KEKW.pdb”:

Tramite il software Detect It Easy, importiamo il sample da analizzare

L’entrypoint del sample richiama l’indirizzo 402000 che contiene l’istruzione INT3, che in alcuni casi può essere utilizzato come metodo per ingannare eventuali debuggers.

Di seguito l’analisi delle sezioni del sample (tutte e tre non packed).

Dall’analisi delle librerie importate è possibile notare come venga richiamato anche System.Security per la gestione della crittografia dei files della vittima.

All’interno del metodo Main possiamo vedere come il sample avvii subito la crittografia dei dati attraverso un oggetto AesManaged.

Sono presenti le stringhe “s” e s2” che vengono utilizzate proprio durante la fase di crittografia e di infezione. La variabile “text” viene costruita richiamando il metodo **d **(che attraverso l’uso di uno StringBuilder accoda le due stringhe “s” e “k” prese in input come argomenti). Nel metodo main vengono anche raccolte le informazioni dei drives tramite “DriveInfo.GetDrives()” e, successivamente viene richiamata la funzione HandleDirectory e creato il file .txt per le istruzioni per decriptare i propri files

Il metodo “HandleDirectory” viene utilizzato per l’enumerazione e l’operazione di gathering delle directories per procedere alla crittografia dei dati contenuti in esse e l’aggiunta dell’estensione .KEKW.

Il tutto viene eseguito in un blocco try-catch e attraverso l’uso di due cicli foreach. Vengono escluse le cartelle “Program Files” e “C:\Windows”.

La funzione “EncryptFile” è il metodo che effettivamente viene usato per eseguire la crittografia dei files. Viene poi eliminato il file non criptato.

Di seguito il compiler-stamp del malware.

Mentre il file Decrypt.txt che verrà visualizzato dalla vittima sarà il seguente

Conclusioni

KEKW ransomware è una minaccia progettata per criptare i dati delle vittime e chiedere un riscatto tramite criptovaluta (“1 MILLION BITCOIN”) per riuscire a decriptare i files. E’ fondamentale avere installato sul proprio PC un buon prodotto antivirus e antimalware (aggiornati all’ultima versione) ed evitare di scaricare eventuali allegati di email sospette. Non possiede particolari tecniche di AV evasion, quindi con un normale antivirus è possibile identificatlo.

Come sempre è altamente consigliato non pagare il riscatto, in quanto si incentiverebbe i cybercriminali a produrre nuove minacce simili. Siti come NoMoreRansom contengono diverse chiavi di decifratura per i principali malware e vengono costantemente aggiornati.