Tattiche del gruppo APT41 contro le Emulazioni di Ransomware in AttackIQ Ransom Tales
Detection stack
- AIDR
- Alert
- ETL
- Query
SOMMARIO
L’articolo descrive il quinto volume della serie Ransom Tales di AttackIQ, che ricrea le tattiche, tecniche e procedure di tre famiglie di ransomware tristemente note—REvil, DarkSide e BlackMatter—in un ambiente di laboratorio controllato. Ogni emulazione copre le fasi di esecuzione, persistenza, scoperta, evasione delle difese e impatto, permettendo ai difensori di esercitare e convalidare i flussi di lavoro di rilevamento e risposta. Gli scenari di Ransom Tales riecheggiano le lezioni dalla campagna di cyber-espionaggio APT41 mentre raccontano i compromessi nella catena di approvvigionamento e l’ascesa degli ecosistemi Ransomware-As-a-Service per team blu e analisti moderni.
Analisi degli Attacchi APT41
Il team di ricerca sugli avversari di AttackIQ ha analizzato report pubblici di threat-intel, campioni di malware e telemetria per costruire grafici di attacco realistici per ciascuna famiglia di ransomware, simile a come gli analisti hanno ricostruito le attività del gruppo APT41. Hanno mappato i passaggi osservati alle tecniche del MITRE ATT&CK e progettato flussi di esecuzione che recuperano payload, stabiliscono persistenza, enumerano host e criptano dati. Hanno inoltre modellato come il gruppo APT41 ha lanciato un’operazione di cyber-espionaggio contro un’azienda statunitense per illustrare il tradecraft condiviso.
Mitigazione
Le raccomandazioni per la mitigazione sottolineano l’accesso strettamente con i minimi privilegi, la disabilitazione di servizi non necessari e il rapido patching delle infrastrutture, incluso Atlassian Confluence, Apache Struts e le vulnerabilità RCE di GoAhead, così come le falle di Log4j come CVE-2021-44228, CVE-2022-26134, CVE-2017-9805 e CVE-2017-17562. I team dovrebbero limitare l’accesso desktop remoto, monitorare le modifiche al registro e ai task, e convalidare i backup.
Risposta
Quando viene rilevata un’attività , i rispondenti dovrebbero isolare i sistemi colpiti, catturare la memoria volatile, raccogliere gli alveari del registro e preservare le fonti di log per la revisione. Devono esaminare copie shadow, task schedulati e chiavi di registro per evidenze delle tecniche utilizzate dal gruppo APT41, quindi ripristinare i dati dai backup. I team dovrebbero cercare movimenti laterali, informare gli stakeholder e arricchire gli incidenti con threat intel.
mermaid graph TB %% Class Definitions classDef action fill:#99ccff classDef builtin fill:#cccccc %% Nodes – Attack Stages node_initial_access[“<b>Accesso Iniziale</b> – <b>T1190 Sfruttamento di Applicazione Pubblicamente Accessibile</b><br />Tecniche: CVE-2021-4428 (Log4j), CVE-2022-26134 (Confluence), CVE-2017-9805 (Struts), CVE-2017-17562 (GoAhead)”] class node_initial_access action node_execution[“<b>Esecuzione</b> – <b>T1127.001 Esecuzione tramite Proxy di Utility di Sviluppatore Fidato</b><br />Strumento: msbuild.exe esegue payload XML malevolo”] class node_execution action node_persistence[“<b>Persistenza ed Escalation dei Privilegi</b> – <b>T1053 Task/Job Programmato</b><br />Creato task di sistema programmato per lanciare msbuild ripetutamente”] class node_persistence action node_defev1[“<b>Evasione delle Difese</b> – <b>T1574.002 DLL Side-Loading</b><br />Abusato eseguibile firmato VipreAV (vetysafe.exe) per caricare sbamres.dll malevolo”] class node_defev1 action node_credential[“<b>Accesso alle Credenziali</b> – <b>T1003.006 Dump delle Credenziali del SO DCSync</b><br />Raccolto hash delle password dell’amministratore di dominio via DCSync”] class node_credential action node_discovery[“<b>Scoperta</b> – <b>T1046 Scoperta Servizi di Rete</b> & <b>T1082 Scoperta Informazioni di Sistema</b><br />Scansione dei servizi interni e raccolta di informazioni sugli host”] class node_discovery action node_c2[“<b>Comando e Controllo</b> – <b>T1102 Servizio Web</b><br />Traffico web bidirezionale usato per esfiltrare documenti di policy”] class node_c2 action node_defev2[“<b>Evasione delle Difese</b> – <b>T1027 File o Informazioni Offuscate</b><br />Utility Imjpuexc nasconde codice e risolve dinamicamente API”] class node_defev2 action node_exfil[“<b>Esfiltrazione</b> – <b>T1048 Esfiltrazione su Protocollo Alternativo</b><br />Dati trasferiti attraverso stesso canale web usando un protocollo alternativo”] class node_exfil action %% Nodes – Tools tool_msbuild[“<b>Strumento</b> – <b>Nome</b>: msbuild.exe<br /><b>Descrizione</b>: Motore di Build Microsoft usato per compilare ed eseguire XML”] class tool_msbuild builtin tool_vetysafe[“<b>Strumento</b> – <b>Nome</b>: vetysafe.exe (VipreAV)<br /><b>Descrizione</b>: Eseguibile AV firmato utilizzato per DLL side‑loading”] class tool_vetysafe builtin tool_scheduledtask[“<b>Strumento</b> – <b>Nome</b>: schtasks.exe<br /><b>Descrizione</b>: Utilità di Windows per creare task programmati”] class tool_scheduledtask builtin tool_imjpuexc[“<b>Strumento</b> – <b>Nome</b>: Imjpuexc<br /><b>Descrizione</b>: Utility che offusca payload e risolve API a runtime”] class tool_imjpuexc builtin %% Connections – Attack Flow node_initial_access u002du002d>|exploits| node_execution node_execution u002du002d>|uses| tool_msbuild node_execution u002du002d>|creates| node_persistence node_persistence u002du002d>|uses| tool_scheduledtask node_persistence u002du002d>|leads to| node_defev1 node_defev1 u002du002d>|uses| tool_vetysafe node_defev1 u002du002d>|enables| node_credential node_credential u002du002d>|provides data for| node_discovery node_discovery u002du002d>|supports| node_c2 node_c2 u002du002d>|communicates via| tool_imjpuexc node_defev2 u002du002d>|supports| node_c2 node_c2 u002du002d>|exfiltrates| node_exfil
Flusso di Attacco
Rilevazioni
Attacco DCSync di APT41 per la raccolta delle credenziali [Connessione di rete Windows]
Visualizza
Persistenza di APT41 tramite MSBuild e Task Programmati [Creazione processo Windows]
Visualizza
IOC (DestinationIP) per rilevare: Campagna di Cyber-Espionaggio APT41 che prende di mira istituzioni di politica USA
Visualizza
IOC (HashSha1) per rilevare: Campagna di Cyber-Espionaggio APT41 che prende di mira istituzioni di politica USA
Visualizza
IOC (HashSha256) per rilevare: Campagna di Cyber-Espionaggio APT41 che prende di mira istituzioni di politica USA
Visualizza
IOC (HashMd5) per rilevare: Campagna di Cyber-Espionaggio APT41 che prende di mira istituzioni di politica USA
Visualizza
Simulazioni
Esecuzione della Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere passato.
Motivazione: Questa sezione illustra l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrazione e Comandi d’Attacco:
L’avversario, emulando APT41, prima compila un backdoor C# malevolo utilizzandomsbuild.exeper bypassare la whitelisting delle applicazioni. Il payload compilato è quindi impostato come un task programmato utilizzandoschtasks.exeper ottenere la persistenza. Entrambi i binari vengono eseguiti da posizioni non standard per emulare un comportamento attaccante realistico pur mantenendo la condizione del nome dell’immagine della regola. -
Script di Test di Regressione:
-
# Test di persistenza in stile APT41 – PowerShell # ------------------------------------------------- # 1. Prepara payload malevolo C# $source = @" using System; using System.Diagnostics; public class Backdoor { public static void Main() { Process.Start(new ProcessStartInfo { FileName = "cmd.exe", Arguments = "/c echo Compromised > C:Temppwned.txt", CreateNoWindow = true, UseShellExecute = false }); } } "@ $srcPath = "$env:TEMPbackdoor.cs" $projPath = "$env:TEMPbackdoor.csproj" $dllPath = "$env:TEMPbackdoor.dll" $srcPath | Out-File -Encoding ASCII -Force $projContent = @" <Project Sdk=`"Microsoft.NET.Sdk`"> <PropertyGroup> <TargetFramework>net48</TargetFramework> <OutputType>Library</OutputType> </PropertyGroup> </Project> "@ $projPath | Out-File -Encoding ASCII -Force # 2. Compila DLL malevolo con msbuild (percorso non standard) $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe" & $msbuildPath $projPath /p:OutDir=$env:TEMP /t:Build /p:Configuration=Release # 3. Crea task programmato per eseguire la DLL tramite powershell $taskName = "SystemUpdater" $taskCmd = "powershell -ExecutionPolicy Bypass -File `"$dllPath`"" $schPath = "$env:SystemRootSystem32schtasks.exe" & $schPath /Create /SC ONLOGON /TN $taskName /TR $taskCmd /RL HIGHEST /F # 4. Attiva immediatamente il task & $schPath /Run /TN $taskName -
Comandi di Pulizia:
# Rimuovi task programmato $schPath = "$env:SystemRootSystem32schtasks.exe" & $schPath /Delete /TN "SystemUpdater" /F # Cancella file payload Remove-Item -Path "$env:TEMPbackdoor.cs","$env:TEMPbackdoor.csproj","$env:TEMPbackdoor.dll" -Force