Campagna AsyncRAT Utilizza AutoIt per la Distribuzione di Malware Multi-Stadio
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
È stata identificata una catena d’infezione di AsyncRAT a cinque fasi che utilizza un file batch creato con tecniche di social engineering e l’interprete legittimo AutoIt per l’esecuzione. Il malware si basa su offuscamento stratificato, tra cui ricostruzione di frammenti Base64 e diversi livelli di decrittazione XOR, per eludere il rilevamento. La fase finale distribuisce un payload AsyncRAT basato su .NET che viene iniettato in un processo legittimo di Windows per rubare informazioni e catturare schermate.
Indagine
L’indagine ha tracciato l’esecuzione da un file batch malevolo a uno script PowerShell, seguito da uno script loader AutoIt denominato kojuyn.ini che rilascia un payload crittografato. Gli analisti hanno utilizzato PE-Sieve per confermare l’iniezione di processo in charmap.exe e hanno determinato che il payload era un assembly .NET capace di patching AMSI. Il payload finale è stato recuperato dalla memoria come Veukuzmw.dll.
Mitigazione
I difensori dovrebbero monitorare l’esecuzione sospetta di PowerShell utilizzando finestre nascoste e per i file batch creati all’interno della cartella Avvio Automatica dell’Utente. Le organizzazioni dovrebbero limitare l’esecuzione di script non firmati e controllare i binari legittimi come charmap.exe che avviano connessioni di rete inattese in uscita. Si raccomanda anche un monitoraggio migliorato dell’attività dell’interprete AutoIt e dei tentativi di iniezione di memoria.
Risposta
Se viene rilevata attività di AsyncRAT, il punto finale interessato deve essere isolato immediatamente per fermare ulteriori comunicazioni C2 o esfiltrazione di dati. Gli intervenenti dovrebbero eseguire analisi della memoria per identificare i payload iniettati e preservare artefatti volatili. I sistemi dovrebbero anche essere verificati per meccanismi di persistenza nella cartella Avvio, mentre la cronologia dei comandi PowerShell dovrebbe essere rivista per ulteriori fasi o movimenti laterali.
Flusso di Attacco
Stiamo ancora aggiornando questa parte.
Rilevamenti
Eseguibile Sospetto Contenente Solo Numeri nel Nome (tramite cmdline)
Stringhe Powershell Sospette (tramite powershell)
Possibili Indicatori di Offuscamento Powershell (tramite powershell)
Binari/Scripts Sospetti nella Posizione di Avvio Automatico (tramite file_event)
Indicatori di Compromissione (HashSha256) da rilevare: AsyncRAT Consegnato tramite AutoIT: Analisi Completa della Catena
Indicatori di Compromissione (SorgenteIP) da rilevare: AsyncRAT Consegnato tramite AutoIT: Analisi Completa della Catena
Indicatori di Compromissione (DestinazioneIP) da rilevare: AsyncRAT Consegnato tramite AutoIT: Analisi Completa della Catena
Iniezione di Processo AsyncRAT in charmap.exe [Creazione Processo Windows]
Persistenza di PowerShell tramite Cartella di Avvio [Windows Powershell]
Esecuzione di Simulazione
-
Narrativa e Comandi dell’Attacco: L’attaccante ha ottenuto l’accesso iniziale e desidera stabilire la persistenza. Per evitare il rilevamento, evitano modifiche dirette al Registro di sistema. Invece, utilizzano una shell di comando (
cmd.exe) per richiamare un’istanza PowerShell nascosta. A questa istanza PowerShell viene istruito di scrivere un piccolo file batch malevolo nella cartella di Avvio corrente dell’utente. Questo assicura che, anche dopo un riavvio, il codice dell’attaccante verrà eseguito automaticamente quando l’utente effettua il login. -
Script di Test di Regressione:
# Questo script simula l'esatta catena: CMD -> PowerShell (Nascosto) -> Scrivere in Avvio $startupFolder = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup" $targetFile = Join-Path $startupFolder "persistence_test.bat" $payloadContent = "@echo off`necho 'Persistence Test Successful'" # Eseguiamo tramite CMD per soddisfare il requisito 'ParentImage: cmd.exe' della regola Start-Process cmd.exe -ArgumentList "/c powershell.exe -WindowStyle Hidden -Command `"$payloadContent | Out-File -FilePath '$targetFile' -Encoding ascii`"" -Wait Write-Host "Comando di simulazione inviato. Controlla Sysmon Evento ID 1 e 11." -
Comandi di Pulizia:
$startupFolder = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup" $targetFile = Join-Path $startupFolder "persistence_test.bat" if (Test-Path $targetFile) { Remove-Item $targetFile -Force Write-Host "Pulizia completa: $targetFile rimosso." } else { Write-Host "File non trovato, pulizia non necessaria." }