SOC Prime Bias: Critico

19 Nov 2025 17:21

Tattiche del gruppo APT41 contro le Emulazioni di Ransomware in AttackIQ Ransom Tales

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Tattiche del gruppo APT41 contro le Emulazioni di Ransomware in AttackIQ Ransom Tales
shield icon

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

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 utilizzando msbuild.exe per bypassare la whitelisting delle applicazioni. Il payload compilato è quindi impostato come un task programmato utilizzando schtasks.exe per 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