Redazione RHC : 19 Maggio 2022 07:24
Cozy Bear (alias Nobelium, APT29, The Dukes) è un gruppo di spionaggio informatico, altamente organizzato che si ritiene operi a sostegno del processo decisionale del governo russo almeno dal 2008.
Nobelium prende di mira principalmente i governi occidentali e organizzazioni collegate, con particolare attenzione ai settori del governo, della diplomazia, della politica e dei think tank. Recentemente abbiamo analizzato diverse campagne di spear-phishing legate a questo avversario che comportano l’utilizzo di una DLL a caricamento laterale tramite software firmato (come suite di Adobe) e servizi web legittimi (come Dropbox) come vettore di comunicazione per Command and Control (C&C).
L’uso improprio di servizi web legittimi è nel tentativo di eludere il rilevamento dal software di analisi automatica.
Iscriviti GRATIS ai WorkShop Hands-On della RHC Conference 2025 (Giovedì 8 maggio 2025)
Il giorno giovedì 8 maggio 2025 presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terranno i workshop "hands-on", creati per far avvicinare i ragazzi (o persone di qualsiasi età) alla sicurezza informatica e alla tecnologia. Questo anno i workshop saranno:
Supporta RHC attraverso:
Ti piacciono gli articoli di Red Hot Cyber? Non aspettare oltre, iscriviti alla newsletter settimanale per non perdere nessun articolo.
Recentemente, ricercatori di terze parti hanno anche riferito di aver utilizzato Trello e la sua API REST per simulare un server Command & Control di primo livello. Oltre a questo tentativo di evasione, come discuteremo in seguito, la DLL side-loaded tenta di sganciare le librerie di Windows caricate nella memoria di processo per eludere possibili EDR.
Per massimizzare le possibilità di successo, Nobelium, in almeno due casi, ha inviato e-mail di spear-phishing da indirizzi governativi falsificati o compromessi.
Come accesso iniziale abbiamo identificato i seguenti vettori di attacco :
Il dropper EnvyScout è stato utilizzato da questo attore di minacce in diverse campagne. Da metà gennaio 2022 Cluster25 ha riportato internamente diverse campagne legate al Nobelium contro entità europee che hanno sfruttato kill-chain abbastanza complesse avviate anche con EnvyScout .
Nel caso riportato, l’eseguibile firmato è rappresentato da WCChromeNativeMessagingHost.exe del modulo Adobe Create PDF della suite Adobe.
È un plug-in per Google Chrome. Poiché il pacchetto di malware contiene una copia locale di vcruntime140.dll, una volta eseguito il software, la copia locale di questa libreria di Windows viene caricata nella memoria del programma dalla tabella di importazione PE. Analizzando la copia locale di vcruntime140.dll, abbiamo notato che le importazioni PE di questa libreria sono state modificate: contiene una voce per AcroSup.dll distribuita tramite il bundle di malware.
Quindi, questa catena di importazione porta al caricamento laterale della libreria dannosa AcroSup.dll e all’esecuzione della sua esportazione DllMain prima dell’esecuzione dell’eseguibile Adobe firmato.
Per eludere possibili debugger, l’esecuzione del codice dannoso contenuto nella AcroSup.dll inizia con un thread hijacking sovrascrivendo il contesto del thread principale (aggiornando il registro RIP) nello spazio eseguibile firmato.
Successivamente il malware esegue l’iterazione sulle DLL di Windows caricate tramite le API K32EnumProcessModules per distribuire ciascuna DLL ed eludere gli EDR attivi sul sistema. Fondamentalmente, per ogni DLL caricata, la sezione .text di ciascuna di esse viene mappata all’indirizzo virtuale della possibile DLL agganciata.
Da questo punto il malware entra in un ciclo pseudo-infinito in cui, ogni secondo, va a contattare il servizio Dropbox per comunicare l’identificatore della vittima e ricevere i payload della fase successiva.
Innanzitutto, l’endpoint api.dropbox.com viene contattato all’URI / oauth2 /token/ tramite una richiesta HTTP POST per ricevere un token di aggiornamento, necessario per contattare le API di Dropbox.
Per questa richiesta viene utilizzata la seguente combinazione di chiave API e Key API per rappresentare l’account Dropbox utilizzato dall’attore della minaccia:
Inoltre, per tutte le richieste relative alla rete, il malware utilizza uno user-agent fisso :
Se il token di aggiornamento viene ricevuto dalle API di Dropbox e analizzato correttamente, l’impianto procede con l’integrazione di alcune tecniche di mascheramento e persistenza.
Più in dettaglio, viene creato un nuovo sotto processo per aprire il documento PDF esca (un PDF vuoto) contenuto nel bundle e utilizzato per far pensare all’utente di aver aperto l’applicazione Adobe Acrobat legittima.
Nel frattempo, tutti i file coinvolti nel bundle (software firmato e relative DLL) vengono copiati nella directory %APPDATA%\AcroSup\ e viene creata una nuova chiave di registro in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ per raggiungere la persistenza.
Il documento PDF esca non viene copiato nella directory sopra menzionata, quindi questo documento non verrà aperto nuovamente dopo un riavvio del sistema vittima. Per registrare la voce della vittima su Dropbox, viene creato un identificatore della vittima tramite la combinazione con codifica esadecimale del nome utente corrente e del nome del computer corrente (ad esempio, john::windows10).
La comunicazione della nuova vittima viene quindi completata tramite il push di un nuovo file .mp3 (denominato Rock_[VICTIM_ID].mp3 ) tramite le API di Dropbox su /2/files/upload/ URI.
È interessante notare che i file .MP3 inviati che identificano le vittime contengono sempre la seguente stringa che probabilmente rappresenta la famiglia di malware:
Infine, viene eseguita un’altra richiesta al percorso /2/files/download/ delle API di Dropbox che tenta di scaricare un file denominato Rock_VICTIM_ID.mp3.backup.
La risposta viene analizzata per determinare se esiste un carico utile della fase successiva per la vittima registrata corrente. In tal caso, il malware allocherà un nuovo heap per archiviare il payload scaricato e lo eseguirà nello spazio eseguibile sovrascrivendo nuovamente il contesto del thread dell’eseguibile principale.
Negli ultimi mesi Cluster25 ha avuto prove delle campagne di Cozy Bear che potenzialmente hanno avuto un impatto almeno su Grecia, Italia, Turchia e Portogallo, specialmente nei settori del governo e degli affari esteri.
NOBELIUM conferma il suo interesse per il governo e gli affari esteri prendendo di mira organizzazioni in Europa e possibilmente in altre parti del mondo.
Le campagne e i payload analizzati nel tempo mostrano una forte attenzione all’operare sotto il radar e all’abbassamento dei tassi di rilevamento. A tal proposito, anche l’utilizzo di servizi legittimi come Trello e DropBox suggeriscono la volontà dell’avversario di operare a lungo all’interno degli ambienti della vittima rimanendo inosservato.
È possibile prevedere che tale attore cercherà anche nel prossimo futuro di modificare le sue TTP (Tecniche, Tattiche e Procedure) al fine di rendere più difficoltosa qualsiasi azione di mitigazione finalizzata al suo contrasto.
A tal proposito, forniamo un’ampia serie di regole di rilevamento utili per verificare potenziali attività dannose riconducibili a questo attore della minaccia.
ATT&CK MATRIX
Tattica | Tecnica | Descrizione |
Initial Access | T1566.001 | Phishing: Spearphishing Attachment |
Execution | T1204.001 | User Execution: Malicious Link |
Execution | T1204.002 | User Execution: Malicious File |
Execution | T1059.007 | Command and Scripting Interpreter: JavaScript |
Defense Evasion | T1036 | Masquerading |
Defense Evasion | T1622 | Debugger Evasion |
Defense Evasion | T1140 | Deobfuscate/Decode Files or Information |
Defense Evasion | T1027 | Obfuscated Files or Information |
Defense Evasion | T1055.003 | Process Injection: Thread Execution Hijacking |
Defense Evasion | T1553.002 | Subvert Trust Controls: Code Signing |
Defense Evasion | T1562.001 | Impair Defenses: Disable or Modify Tools |
Defense Evasion | T1112 | Modify Registry |
Defense Evasion | T1202 | Indirect Command Execution |
Defense Evasion | T1497 | Virtualization/Sandbox Evasion |
Defense Evasion | T1620 | Reflective Code Loading |
Discovery | T1082 | System Information Discovery |
Discovery | T1057 | Process Discovery |
Persistence | T1098 | Account Manipulation |
Persistence | T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder |
Command and Control | T1105 | Ingress Tool Transfer |
Command and Control | T1071.001 | Application Layer Protocol: Web Protocols |
Command and Control | T1102 | Web Service |
Indicatori di compromissione
Categoria | Tipologia | Valore |
PAYLOAD | SHA256 | 5292c0f5a7ea80124cf7584eacea1881cf2f0814fa13dcc0de56624e215aaba2 |
PAYLOAD | SHA1 | 32792827c14075cc3091244425e302b1ebe3259c |
PAYLOAD | MD5 | 2fbccfc5a1b91b2609e3ae92a93ff7cb |
PAYLOAD | SHA256 | 9d063a05280fbce6ff0fd62a877f3fd1e80f227522e16918e6bede2e6ee398de |
PAYLOAD | SHA1 | 05241afa180d70e17647b2d8cbc1660adbe3af88 |
PAYLOAD | MD5 | d86283af2d5888b0ce3ea63eb26f60f7 |
PAYLOAD | SHA256 | 4c68c840ae1a034d47900ebdc291116726fd37b3ab0b7e026fad90eaab84d820 |
PAYLOAD | SHA1 | c9a5314eb247c7441a5262a7cd22abbe1fcba7b6 |
PAYLOAD | MD5 | 110c4ae194e7b49ed3e3b254d599f7f4 |
PAYLOAD | SHA256 | 7f96d59cb02229529b14761f979f710bca500c68cc2b37d80e60e751f809475e |
PAYLOAD | SHA1 | 489c36c9ea3fb90f61209d43efffd8d997a362c6 |
PAYLOAD | MD5 | 9ec1fcb11b597941bec03078cccab724 |
PAYLOAD | SHA256 | 23a09b74498aea166470ea2b569d42fd661c440f3f3014636879bd012600ed68 |
PAYLOAD | SHA1 | ad33bab4bc6232a6666c2190b3bf9fc2ab2a720a |
PAYLOAD | MD5 | 454f59dc7d3d7f228bbd4ddd4c250ed8 |
PAYLOAD | SHA256 | 729fb24b6c18232fc05ccf351edaeaa8a76476ba08cba37b8a93d34f98fa05ed |
PAYLOAD | SHA1 | 900cba1d73ddca31a7bb7b7af5b3b7f1a0bc6fbf |
PAYLOAD | MD5 | 6bc8be27898e1e280e402a7981be55ae |
DETECTION e THREAT HUNTING
SNORT #SSL_DECRYPT_ONLY |
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:”CLUSTER25 NOBELIUM Registration via Dropbox API”; flow:established,to_server; http.uri; content:”/2/files/upload”; http.header; content:”|22|path|22|”; content:”|22|/Rock_”; fast_pattern; distance:0; content:”.mp3|22|”; distance:0; http.host; content:”content.dropboxapi.com”; bsize:22; reference:url,cluster25.io/2022/05/13/cozy-smuggled-into-the-box/; reference:md5,3f400f30415941348af21d515a2fc6a3; classtype:trojan-activity; sid:7704250; rev:1;) |
SNORT |
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:”CLUSTER25 NOBELIUM Backdoor Download via Dropbox API”; flow:established,to_server; http.uri; content:”/2/files/download”; http.header; content:”|22|path|22|”; content:”|22|/Rock_”; fast_pattern; distance:0; content:”.mp3.backup|22|”; distance:0; http.host; content:”content.dropboxapi.com”; bsize:22; reference:url,cluster25.io/2022/05/13/cozy-smuggled-into-the-box/; reference:md5,3f400f30415941348af21d515a2fc6a3; classtype:trojan-activity; sid:7704251; rev:1;) |
YARA |
import “pe” rule APT29_Loader_87221_00001 { meta: author = “Cluster25” tlp = “white” description = “Detects DLL loader variants used in Nobelium kill-chain” hash1 = “6fc54151607a82d5f4fae661ef0b7b0767d325f5935ed6139f8932bc27309202” hash2 = “23a09b74498aea166470ea2b569d42fd661c440f3f3014636879bd012600ed68” strings: $s1 = “%s\\blank.pdf” fullword ascii $s2 = “%s\\AcroSup” fullword ascii $s3 = “vcruntime140.dll” fullword ascii $s4 = “ME3.99.5UUUUUUUUUUU” fullword ascii $c1 = “Rock” fullword ascii $c2 = “.mp3” fullword ascii $c3 = “%s.backup” fullword ascii $sequence1 = { C7 45 ?? 0B 00 10 00 48 8B CF FF 15 ?? ?? ?? 00 85 C0 74 ?? 48 8D 55 ?? 48 89 75 ?? 48 8B CF FF 15 ?? ?? ?? 00 85 C0 74 ?? 48 8B CF FF 15 ?? ?? ?? 00 } // Thread contect change $sequence2 = { 0F B6 0B 4C 8D 05 ?? ?? ?? 00 89 4C 24 ?? 4D 8B CD 49 8B CD BA 04 01 00 00 E8 ?? ?? ?? ?? 48 8D 5B 01 48 83 EF 01 75 ?? } // encoding cycle $sequence3 = { 4C 8D 8C 24 ?? 00 00 00 8B 53 ?? 44 8D 40 ?? 48 03 CD 44 89 A4 24 ?? 00 00 00 FF 15 ?? ?? ?? 00 8B 43 ?? 44 8B 43 ?? 4A 8D 14 38 48 8D 0C 28 E8 ?? ?? 00 00 8B 4B ?? 4C 8D 8C 24 ?? 00 00 00 8B 53 ?? 48 03 CD 44 8B 84 24 ?? 00 00 00 FF 15 ?? ?? ?? 00 } //DLL Unhook $sequence4 = { 42 0F B6 8C 32 ?? ?? ?? 00 48 83 C2 03 88 0F 48 8D 7F 01 48 83 FA 2D 7C E7 } // get domain name string condition: uint16(0) == 0x5a4d and filesize and pe.imports(“kernel32.dll”, “SetThreadContext”) and pe.imports(“kernel32.dll”, “ResumeThread”) and pe.imports(“kernel32.dll”, “K32GetModuleFileNameExA”) and 3 of ($s*) and all of ($c*) and 3 of ($sequence*) } |
YARA |
rule APT29_HTMLSmuggling_ZIP_82733_00001 { meta: author = “Cluster25” description = “Rule to detect the EnvyScout HTML smuggling with ZIP payload used in the APT29/Nobelium APT29 chain” date = “2022-05-12” hash = “d5c84cbd7dc70e71f3eb24434a58b2f149d0c39faa7e4157552b60c7dbb53d11” strings: $s1 = “new Blob(“ $s2 = “new Uint8Array(“ $s3 = “application/octet-stream” $t1 = “saveAs(“ $t2 = “download(“ $r1 = { 66 6F 72 28 76 61 72 20 69 20 3D 20 30 78 30 3B 20 69 20 3C 20 64 5B 27 6C 65 6E 67 74 68 27 5D 3B 20 69 2B 2B 29 20 7B 0A 20 20 20 20 64 5B 69 5D 20 3D 20 64 5B 69 5D } condition: (filesize > 500KB and all of ($s*) and ($t1 or $t2) and $r1) } |
SIGMA |
title: Potential NOBELIUM APT persistence by detection of registry key events (via registry_event) status: stable description: This rule detects potential NOBELIUM APT persistence via registry event author: Cluster25 date: 2022/04/27 references: – internal research tags: – attack.persistence logsource: product: windows category: registry_event detection: selection: TargetObject|contains: – ‘\Software\Microsoft\Windows\CurrentVersion\Run\’ Details|endswith: – ‘\AppData\Roaming\AcroSup\Acro.exe’ condition: selection falsepositives: – unknown level: high |
Domani celebreremo uno degli elementi più iconici – e al tempo stesso vulnerabili – della nostra vita digitale: la password. Da semplice chiave d’accesso inventata negli anni...
Ci sono luoghi nel web dove la normalità cede il passo all’illecito, dove l’apparenza di un marketplace moderno e funzionale si trasforma in una vetrina globale per ogni tipo di rea...
Le backdoor come sappiamo sono ovunque e qualora presenti possono essere utilizzate sia da chi le ha richieste ma anche a vantaggio di chi le ha scoperte e questo potrebbe essere un caso emblematico s...
Il 25 febbraio 2025 WindTre ha rilevato un accesso non autorizzato ai sistemi informatici utilizzati dai propri rivenditori. L’intrusione, riconosciuta come un’azione malevola, è st...
Ancora non sono chiari i motivi che hanno causato un grave Blackout in Spagna e Portogallo nelle ultime ore. Vaste aree sono rimaste senza energia elettrica, scatenando un’ondata di speculazion...
Copyright @ REDHOTCYBER Srl
PIVA 17898011006