Malware analysis di LockBit 3.0 Builder Leak

A cura del: team di hackerhood 

Introduzione

Il 21 settembre, secondo il tweet dell’utente @3xp0rt, viene segnalato che un utente sconosciuto sotto il nome di “Ali Qushji” è riuscito ad infiltrarsi su un server di Lockbit ed esfiltrare il builder. 

Un altro leak viene segnalato da vx-underground: uno sviluppatore scontento di Lockbit chiamato Proton ha rilasciato il builder (tweet cancellato).

La dichiarazione del gruppo ransomware non si fa attendere e qualche ora dopo condividono una nota in cui spiegano che nessun server è stato hackerato e che il leak è stato effettuato da uno sviluppatore scontento che ha deciso di pubblicare tutto come vendetta.

Overview

I due file 7z rilasciati contengono i seguenti file:

  • Build.bat
  • builder.exe
  • keygen.exe
  • config.json

Ad una prima occhiata sembrerebbe che il file Build.bat sia quello incaricato di creare la coppia di chiavi asimmetriche e usare la pubblica per creare l’encryptor e la privata per il decryptor.  Esiste quindi un’associazione tra la specifica versione del ransomware creata ed il decriptatore che viene inviato dopo il pagamento del riscatto alla vittima.

Build.bat

Il file contiene le istruzioni per lanciare il building e generare la specifica versione del malware da diffondere.

ERASE /F /Q %cd%\Build\*.*keygen -path %cd%\Build -pubkey pub.key -privkey priv.keybuilder -type dec -privkey %cd%\Build\priv.key -config config.json -ofile %cd%\Build\LB3Decryptor.exebuilder -type enc -exe -pubkey %cd%\Build\pub.key -config config.json -ofile %cd%\Build\LB3.exebuilder -type enc -exe -pass -pubkey %cd%\Build\pub.key -config config.json -ofile %cd%\Build\LB3_pass.exebuilder -type enc -dll -pubkey %cd%\Build\pub.key -config config.json -ofile %cd%\Build\LB3_Rundll32.dllbuilder -type enc -dll -pass -pubkey %cd%\Build\pub.key -config config.json -ofile %cd%\Build\LB3_Rundll32_pass.dllbuilder -type enc -ref -pubkey %cd%\Build\pub.key -config config.json -ofile %cd%\Build\LB3_ReflectiveDll_DllMain.dllexit

keygen.exe

L’eseguibile è lanciato con i parametri -pubkey e -privkey, che rispettivamente settano i nomi dei file che conterranno la chiave privata e quella pubblica.

Il keygen sembra essere molto semplice, vengono parsati i parametri inseriti da linea di comando, viene inizializzata la libreria Miracl, e vengono create la coppia di chiavi pubblica e privata: RSA 1024.

Le chiavi vengono codificate in base64 e salvate sui file priv.key and pub.key.

Ultimo passaggio del tool è creare un id di Decryption da 16 byte, usato per identificare la vittima e salvarlo sul file DECRYPTION_ID.txt

Questo ID, calcolato a partire dalla chiave privata, serve ad identificare la vittima del ransomware e viene mostrata nella richiesta di riscatto. L’ID deve essere comunicato nel momento del pagamento in modo che il team di Lockbit possa trovare la giusta cartella, contenente il decryptor creato con la corrispondente chiave privata.

builder.exe

Serve a creare il malware configurato con le configurazioni in config.json e la chiave pubblica pub.key, ma anche per creare il decryptor che usa la chiave privata per decifrare i file.

I parametri servono ad instrumentare il tool affinché vengano create DLL o EXE:

  • -type:
    • enc: crea encryptor
    • dec crea decryptor
  • -config: path del file di configurazione
  • -exe: crea file EXE
  • -dll: crea DLL
  • -ref: crea reflective DLL
  • -pass: specifica se debba essere usata la password per avviare l’encryptor
  • -pubkey: specifica il path della chiave pubblica usata per la criptazione
  • -privkey: specifica il path della chiave privata usata per la criptazione
  • -ofile: path dove salvare i file

Gli eseguibili per criptare e decriptare sono presenti nelle risorse del builder.exe.

Le risorse contengono infatti 4 sezioni raw che contengono:

  • sezione 100: decryptor EXE
  • sezione 101: encryptor EXE
  • sezione 103: encryptor DLL
  • sezione 106: encryptor Reflective DLL

In base al parametro passato in ingresso viene quindi preso il relativo oggetto, viene patchato inserendo la sezione data contenente la chiavi privata (nel caso del decrypter) o pubblica (crypter) ed infine viene creato il file vero e proprio.

Conclusioni

Il leak sembra essere autentico in quanto i file creati risultano essere proprio quelli trovati in the wild (analisi di SentinelLabs).

Questa leak potrebbe quindi dare un duro colpo all’organizzazione Lockbit, ma potrebbe anche segnare l’inizio di una massiccia campagna di infezione da parte dei cyber criminali che ora non dovranno più dividere la fetta con i creatori del malware stesso.

IOC

SHA256NAME
8e83a1727696ced618289f79674b97305d88beeeabf46bd25fc77ac53c1ae339LockBit30/Build.bat
a736269f5f3a9f2e11dd776e352e1801bc28bb699e47876784b8ef761e0062dbLockBit30/builder.exe
3f7518d88aefd4b1e0a1d6f9748f9a9960c1271d679600e34f5065d8df8c9dc8LockBit30/config.json
ea6d4dedd8c85e4a6bb60408a0dc1d56def1f4ad4f069c730dc5431b1c23da37LockBit30/keygen.exe
8e83a1727696ced618289f79674b97305d88beeeabf46bd25fc77ac53c1ae339LockBit3Build/Build.bat
e8e2deb0a83aebb1e2cc14846bc71715343372103f279d2d1622e383fb26d6efLockBit3Build/builder.exe
3f7518d88aefd4b1e0a1d6f9748f9a9960c1271d679600e34f5065d8df8c9dc8LockBit3Build/config.json
bb76f4d10ec2c1d24be904d2ee078f34a6b5bd11f3b40f295e116fea44824b89LockBit3Build/keygen.exe

Tags:

Comments are closed