Analisi Tecnica di MLTBackdoor
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Zscaler ThreatLabz ha identificato una nuova famiglia di malware, MLTBackdoor, a maggio 2026. La minaccia viene distribuita tramite una catena di infezione ClickFix a più fasi e sembra essere utilizzata da operatori di ransomware per stabilire un accesso iniziale e supportare il movimento laterale. Il malware si basa su una forte offuscamento, un algoritmo di generazione di domini e un caricatore Beacon Object File (BOF) per ampliare le sue capacità dopo l’esecuzione. Le sue comunicazioni di rete sono criptate tramite TLS e sono progettate per assomigliare al traffico legittimo di Microsoft Delivery Optimization, aiutando l’attività a mescolarsi con il comportamento normale della rete.
Indagine
L’analisi ha seguito la catena di infezione fino a un conhost.exe wrapper che ha scaricato un archivio compresso da un dominio generato tramite la logica DGA del malware. All’interno di quell’archivio, endpointdlp.dll ha decriptato un payload criptato tramite RC4 che è stato quindi caricato come binario MLTBackdoor. I ricercatori hanno scoperto che il malware utilizza un’aritmetica booleana mista, un appiattimento del flusso di controllo, chiamate di sistema indirette e un protocollo di comunicazione criptato personalizzato per ostacolare l’analisi e il rilevamento. Il caricatore BOF incorporato consente anche agli operatori di eseguire ulteriori moduli in stile Cobalt Strike in memoria.
Mitigazione
I difensori dovrebbero bloccare i domini di comando e controllo identificati e monitorare i modelli DGA correlati. Il rilevamento dovrebbe concentrarsi anche sulla specifica stringa user-agent e sul traffico TLS diretto a /api/v1/telemetry sulla porta 443. I team di sicurezza dovrebbero osservare l’uso sospetto di conhost.exe con gli argomenti documentati e per la creazione di endpointdlp.dll in directory temporanee. I rilevamenti basati sul comportamento per l’hashing delle API e l’uso delle chiamate di sistema indirette possono migliorare ulteriormente la visibilità sull’attività di MLTBackdoor.
Risposta
Se viene rilevata attività di MLTBackdoor, isolare immediatamente l’endpoint interessato, terminare il processo malevolo e rimuovere qualsiasi file rilasciato nella directory Temp dall’initial loader. Gli investigatori dovrebbero quindi eseguire una revisione forense per moduli BOF aggiuntivi o payload successivi. Qualsiasi credenziale potenzialmente esposta dovrebbe essere reimpostata, e la caccia alla minaccia dovrebbe essere ampliata per identificare tentativi di movimento laterale utilizzando lo stesso artigianato.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 %% Nodes step_a["<b>Tecnica</b> – <b>T1189 Compromissione tramite Drive-by</b>: L’avversario ospita contenuti malevoli che vengono distribuiti quando una vittima visita un sito web compromesso.<br/><b>Tecnica</b> – <b>T1204.001 Esecuzione Utente: Link Malevolo</b>: La vittima clicca su un link preparato che avvia l’esecuzione del payload."] class step_a action step_b["<b>Tecnica</b> – <b>T1659 Iniezione di Contenuto</b>: Codice malevolo è iniettato in pagine web legittime così che i visitatori ricevano il contenuto compromesso."] class step_b action step_c["<b>Tecnica</b> – <b>T1553.002 Esecuzione del Proxy per Binary Firmati (Defender)</b>: Uso di un binary di Microsoft Defender firmato per eseguire il proxy.<br/><b>Tecnica</b> – <b>T1574.001 Dirottamento del Flusso di Esecuzione: DLL Search Order Hijacking</b>: Carica codice malevolo manipolando l’ordine di risoluzione delle DLL.<br/><b>Tecnica</b> – <b>T1218 Esecuzione del Proxy per Binary Firmati</b>: Esegue payload attraverso binary firmati fidati."] class step_c action step_d["<b>Tecnica</b> – <b>T1027.007 File Obfuscated/Stored: Payload Embedded</b>: Il payload è offuscato utilizzando analisi binaria dei macro (MBA) e formato di file compresso (CFF) per eludere il rilevamento."] class step_d action step_e["<b>Tecnica</b> – <b>T1497.001 Evasione di Sandbox/Virtualizzazione: Controlli del Sistema</b>: Controlli per ambienti virtualizzati.<br/><b>Tecnica</b> – <b>T1497.003 Evasione di Sandbox/Virtualizzazione: Controlli di Tempo</b>: Utilizza controlli di temporizzazione per rilevare l’analisi.<br/><b>Tecnica</b> – <b>T1622 Evasione del Debugger</b>: Rileva la presenza di debugger e altera il comportamento."] class step_e action step_f["<b>Tecnica</b> – <b>T1568 Genera, Offusca, o Cambia un Nome di Dominio</b>: Genera numerosi nomi di domini per commandu2011andu2011control.<br/><b>Tecnica</b> – <b>T1104 Servizio Web (fallback C2)</b>: Utilizza un servizio web come canale di comunicazione di fallback."] class step_f action step_g["<b>Tecnica</b> – <b>T1090 Proxy</b>: Instrada il traffico C2 attraverso un proxy.<br/><b>Tecnica</b> – <b>T1205 Segnalazione del Traffico</b>: Codifica informazioni di segnalazione all’interno del traffico legittimo.<br/><b>Tecnica</b> – <b>T1001.003 Traffico di Rete Offuscato/Crittografato: Impersonificazione del Protocollo</b>: Si maschera come normale traffico TLS 443 con un useru2011agent falsificato."] class step_g action step_h["<b>Tecnica</b> – <b>T1105 Trasferimento dello Strumento di Ingress</b>: Trasferisce un payload di secondu2011stage all’host compromesso sulla rete."] class step_h action step_i["<b>Tecnica</b> – <b>T1546.006 Esecuzione Attivata da Evento: Dirottamento del Component Object Model (caricatore BOF)</b>: Carica ed esegue Beacon Object Files utilizzando un Bufferu2011Overflow (BOF) loader."] class step_i malware %% Connections step_a –>|leads_to| step_b step_b –>|leads_to| step_c step_c –>|leads_to| step_d step_d –>|leads_to| step_e step_e –>|leads_to| step_f step_f –>|leads_to| step_g step_g –>|leads_to| step_h step_h –>|leads_to| step_i "
Flusso di Attacco
Rilevazioni
Utility di Compressione Passata in Directory Insolita (tramite cmdline)
Visualizza
LOLBAS Conhost (tramite cmdline)
Visualizza
Uso Sospetto di CURL (tramite cmdline)
Visualizza
IOCs (HashSha256) per rilevare: Analisi Tecnica di MLTBackdoor Parte 2
Visualizza
IOCs (HashSha256) per rilevare: Analisi Tecnica di MLTBackdoor Parte 1
Visualizza
Rileva Comunicazioni di Rete MLTBackdoor [Connessione di Rete di Windows]
Visualizza
Esecuzione della Catena di Infezione MLTBackdoor [Creazione di Processo di Windows]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo Prevolo di Telemetria & Baseline deve essere superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e puntare a generare esattamente la telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrazione & Comandi dell’Attacco:
- Ricognizione – Risolvi il dominio DGA – Il backdoor genera una query DNS per
hrs2y15sungu.com, un dominio prodotto dal suo DGA interno. - Contatto C2 – Apri un socket TCP – Usando PowerShell, l’avversario crea una connessione TCP grezza verso l’IP risolto sulla porta 443 (HTTPS) per mescolarsi con il traffico normale.
- Recupero del Payload (T1105) – Sullo stesso socket il backdoor estrarrebbe moduli aggiuntivi; per il test inviamo semplicemente una stringa innocua.
Questi passaggi emettono un record di Sysmon Event ID 3 con
DestinationHostname = hrs2y15sungu.com, soddisfacendo la regola Sigma’sselezionecondizione. - Ricognizione – Risolvi il dominio DGA – Il backdoor genera una query DNS per
-
Script di Test di Regressione:
# TC-20260610-A7B3Z – Simula comunicazione C2 di MLTBackdoor # ------------------------------------------------------- # 1. Risolvi il dominio malevolo (output DGA simulato) $malDomain = "hrs2y15sungu.com" try { $ip = [System.Net.Dns]::GetHostAddresses($malDomain)[0].IPAddressToString } catch { Write-Error "Impossibile risolvere $malDomain – abortendo il test." exit 1 } # 2. Apri una connessione TCP verso l'IP risolto sulla porta 443 $port = 443 $client = New-Object System.Net.Sockets.TcpClient $client.Connect($ip, $port) # 3. Invia un payload innocuo (simulando l'estrazione del modulo) $stream = $client.GetStream() $payload = [System.Text.Encoding]::ASCII.GetBytes("TEST_PAYLOAD") $stream.Write($payload, 0, $payload.Length) # 4. Mantieni la connessione attiva brevemente per garantire la generazione del log Start-Sleep -Seconds 5 # 5. Pulizia $stream.Close() $client.Close() Write-Output "Simulazione completata – connessione a $malDomain ($ip:$port) chiusa." -
Comandi di Pulizia:
# Assicurati che non rimangano socket in sospeso (nel caso in cui lo script si sia interrotto) Get-NetTCPConnection -RemotePort 443 | Where-Object { $_.RemoteAddress -eq (Resolve-DnsName hrs2y15sungu.com).IPAddress } | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }