AsyncRAT-Kampagne nutzt AutoIt für mehrstufige Malware-Zustellung
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Eine fünfstufige AsyncRAT-Infektionskette wurde identifiziert, die eine sozial manipulierte Batchdatei und den legitimen AutoIt-Interpreter für die Ausführung verwendet. Die Schadsoftware setzt auf mehrschichtige Verschleierung, einschließlich Base64-Fragmentrekonstruktion und mehrfacher XOR-Entschlüsselung, um der Erkennung zu entgehen. Die letzte Stufe setzt eine .NET-basierte AsyncRAT-Nutzlast ein, die in einen legitimen Windows-Prozess injiziert wird, um Informationen zu stehlen und Screenshots zu machen.
Untersuchung
Die Untersuchung verfolgte die Ausführung von einer bösartigen Batchdatei zu einem PowerShell-Skript, gefolgt von einem AutoIt-Loader-Skript namens kojuyn.ini das eine verschlüsselte Nutzlast ablegt. Analysten verwendeten PE-Sieve, um die Prozessinjektion in charmap.exe zu bestätigen und stellten fest, dass die Nutzlast eine .NET-Assembly war, die AMSI-Patching durchführen kann. Die endgültige Nutzlast wurde aus dem Speicher als Veukuzmw.dll.
Minderung
Verteidiger sollten verdächtige PowerShell-Ausführungen mit versteckten Fenstern überwachen und auf Batchdateien achten, die im Benutzerstartordner erstellt werden. Organisationen sollten die Ausführung unsignierter Skripte einschränken und auf legitime Binärdateien wie charmap.exe die unerwartete ausgehende Netzwerkverbindungen initiieren, achten. Eine verstärkte Überwachung der AutoIt-Interpreter-Aktivität und Speicherinjektionsversuche wird ebenfalls empfohlen.
Antwort
Wenn Aktivität von AsyncRAT festgestellt wird, sollte der betroffene Endpunkt sofort isoliert werden, um weitere C2-Kommunikation oder Datenexfiltration zu stoppen. Responder sollten Speicherforensik durchführen, um injizierte Nutzlasten zu identifizieren und flüchtige Artefakte zu bewahren. Systeme sollten auch auf Persistenzmechanismen im Startordner überprüft werden, während die PowerShell-Befehlsverlauf auf mögliche weitere Staging- oder laterale Bewegungen überprüft werden sollte.
Angriffsablauf
Wir aktualisieren diesen Teil noch.
Erkennungen
Verdächtige ausführbare Datei, die im Namen nur Zahlen enthält (via cmdline)
Verdächtige PowerShell-Strings (via powershell)
Mögliche PowerShell-Verschleierungsindikatoren (via powershell)
Verdächtige Binärdateien/Skripte im Autostart-Standort (via file_event)
IOCs (HashSha256) zur Erkennung: AsyncRAT ausgeliefert via AutoIT: Vollständige Kettenanalyse
IOCs (SourceIP) zur Erkennung: AsyncRAT ausgeliefert via AutoIT: Vollständige Kettenanalyse
IOCs (DestinationIP) zur Erkennung: AsyncRAT ausgeliefert via AutoIT: Vollständige Kettenanalyse
AsyncRAT-Prozessinjektion in charmap.exe [Windows-Prozesserstellung]
PowerShell-Persistenz via Startordner [Windows PowerShell]
Simulationsausführung
-
Angriffsnarrativ & Befehle: Der Angreifer hat anfänglichen Zugriff erlangt und möchte die Persistenz aufrechterhalten. Um der Erkennung zu entgehen, vermeiden sie direkte Registrierungsänderungen. Stattdessen verwenden sie eine Befehlszeilenshell (
cmd.exe) um eine versteckte PowerShell-Instanz aufzurufen. Diese PowerShell-Instanz wird angewiesen, eine kleine bösartige Batchdatei im Startordner des aktuellen Benutzers zu schreiben. Dies stellt sicher, dass nach einem Neustart der Code des Angreifers automatisch ausgeführt wird, wenn sich der Benutzer anmeldet. -
Regressions-Testskript:
# Dieses Skript simuliert die genaue Kette: CMD -> PowerShell (versteckt) -> Schreiben in den Startordner $startupFolder = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup" $targetFile = Join-Path $startupFolder "persistence_test.bat" $payloadContent = "@echo off`necho 'Persistence Test Successful'" # Wir führen es über CMD aus, um die 'ParentImage: cmd.exe'-Anforderung der Regel zu erfüllen Start-Process cmd.exe -ArgumentList "/c powershell.exe -WindowStyle Hidden -Command `"$payloadContent | Out-File -FilePath '$targetFile' -Encoding ascii`"" -Wait Write-Host "Simulationsbefehl gesendet. Überprüfen Sie Sysmon Event ID 1 und 11." -
Bereinigungskommandos:
$startupFolder = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup" $targetFile = Join-Path $startupFolder "persistence_test.bat" if (Test-Path $targetFile) { Remove-Item $targetFile -Force Write-Host "Bereinigung abgeschlossen: $targetFile entfernt." } else { Write-Host "Datei nicht gefunden, Bereinigung nicht erforderlich."