Aufdeckung einer SectopRAT-Variante in legitimer Software
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Angreifer verwenden einen mehrstufigen Loader, um den SectopRAT-Remote-Access-Trojaner in legitimer Software zu verstecken. Die Malware verlässt sich auf DLL-Manipulation und die In-Memory-Ausführung von entschlüsseltem ASM-Code, um Sicherheitskontrollen zu umgehen. Sobald sie eingesetzt ist, ermöglicht sie die vollständige Fernsteuerung des kompromittierten Systems, den Diebstahl von Anmeldedaten und die Datenexfiltration.
Untersuchung
Das FortiGuard Incident Response Team entdeckte SectopRAT, versteckt in einem legitimen digitalen Audio-Workstation-Verzeichnis unter C:ProgramData. Forscher fanden heraus, dass FrameworkBase.dll durch IAT-Manipulation geändert wurde, um eine bösartige sdkcra.dllzu laden. Weitere Analysen enthüllten die Verwendung von API-Hashing und komplexen Verschleierungstechniken, um die Malware-Funktionalität und -Ausführung zu verbergen.
Abschwächung
Organisationen sollten sicherstellen, dass legitime Anwendungen nur in erwarteten Verzeichnispfaden installiert werden und nicht an ungewöhnlichen Orten wie C:ProgramData. Eine robuste Endpoint-Schutzlösung sollte bereitgestellt werden, um DLL-Manipulation und unautorisierte geplante Aufgaben zu erkennen. Sicherheitsteams sollten auch verdächtige ausgehende Verbindungen zu unbekannten IP-Adressen und Backup-Domains, die Kryptowährungsdienste imitieren, überwachen.
Reaktion
Wenn SectopRAT-Aktivität festgestellt wird, sollten betroffene Windows-Systeme sofort isoliert werden, um die weitere C2-Kommunikation und Datenexfiltration zu stoppen. Responder sollten Speicherauszüge sammeln, um die entschlüsselte Malware-Nutzlast wiederherzustellen und nicht autorisierte geplante Aufgaben zu untersuchen, die mit ReportDump.exein Verbindung stehen. Netzwerkprotokolle sollten auch auf Verbindungen zu 98.142.252.140 und identifizierte Binance-bezogene Backup-Domains überprüft werden.
Schlüsselwörter: SectopRAT, Remote-Access-Trojaner, mehrstufiger Loader, DLL-Manipulation, ASM-Code, In-Memory-Ausführung, FortiGuard Incident Response, FrameworkBase.dll, IAT-Änderung, sdkcra.dll, API-Hashing, Verschleierung, C:ProgramData, ReportDump.exe, Binance, Anmeldediebstahl, Datenexfiltration, C2.
Angriffsablauf
Wir aktualisieren diesen Abschnitt noch.
Erkennungen
Mögliche Verwendung von Choice für die verzögerte Ausführung (über cmdline)
Möglicher Publicnode-Ethereum-Missbrauchsversuch als C2-Kanal (über dns_query)
IOCs (HashSha256) zur Erkennung: Aufdecken einer in legitimer Software eingebetteten SectopRAT-Variante
IOCs (HashMd5) zur Erkennung: Aufdecken einer in legitimer Software eingebetteten SectopRAT-Variante
IOCs (SourceIP) zur Erkennung: Aufdecken einer in legitimer Software eingebetteten SectopRAT-Variante
IOCs (DestinationIP) zur Erkennung: Aufdecken einer in legitimer Software eingebetteten SectopRAT-Variante
Erkennen einer ausführenden SectopRAT-Variante über legitime Softwarekomponenten [Windows-Prozesserstellung]
Simulationausführung
-
Angriffserzählung & Befehle: Der Angreifer versucht, Persistenz zu schaffen und Erkennung zu vermeiden, indem er DLL-Side-Loading verwendet. Sie legen eine legitime Version von
ReportDump.exeinC:ProgramData, ein Verzeichnis, das oft von Benutzern übersehen wird, aber von bestimmten Prozessen beschreibbar ist. Nebenbei platzieren sie eine bösartige DLL namenssdkcra.dll. WennReportDump.exeausgeführt wird, sucht es im lokalen Verzeichnis nach Abhängigkeiten, lädt die bösartigesdkcra.dllund führt die Nutzlast des Angreifers im Kontext eines scheinbar gutartigen Prozesses aus. -
Regressions-Testskript:
# Simulationsskript zur Erkennung von SectopRAT-Side-Loading # Dieses Skript erstellt die Verzeichnisstruktur und Dateien, die erforderlich sind, um die Regel auszulösen. $targetDir = "C:ProgramDataSectopSim" $exeName = "ReportDump.exe" $dllName = "sdkcra.dll" # 1. Erstellen des Verzeichnisses in ProgramData if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory | Out-Null } # 2. Erstellen einer Dummy-'legitimen' ausführbaren Datei # In einem echten Angriff wäre dies die echte ReportDump.exe $dummyExe = [System.Text.Encoding]::ASCII.GetBytes("MZ`x00`x01`x00`x00`x00`x00`x00`x00`x00`x00") Set-Content -Path "$targetDir$exeName" -Value $dummyExe -NoNewline # 3. Erstellen der bösartigen DLL-Datei $dummyDll = [System.Text.Encoding]::ASCII.GetBytes("MZ`x00`x01`x00`x00`x00`x00`x00`x00`x00`x00") Set-Content -Path "$targetDir$dllName" -Value $dummyDll -NoNewline Write-Host "[+] Simulationsdateien in $targetDir erstellt" # 4. Auslösen der Erkennung: Ausführen der EXE und Versuch, die DLL zu laden # Hinweis: Da dies Dummy-Dateien sind, 'laden' sie nicht tatsächlich als echte PE-Dateien, # aber zum Zwecke der Erkennungsregel-Logik simulieren wir die Dateizugriffe. # In einem echten BAS-Tool würden wir ein echtes signiertes Binärprogramm verwenden, um sicherzustellen, dass Event ID 7 ausgelöst wird. Write-Host "[*] Simulieren der Ausführung von $exeName..." # Verwenden eines realen Prozesses zur Simulation des Verhaltens, falls die Dummy-Dateien die Event-ID 7 nicht auslösen # Um sicherzustellen, dass die Erkennungsregel (ImageLoaded) ausgelöst wird, ist ein echtes DLL-Laden bevorzugt. # Für dieses Skript verwenden wir PowerShell, um die 'ImageLoaded'-Telemetrie nach Möglichkeit zu simulieren, # aber idealerweise sollte der Benutzer ein echtes anfälliges Binärprogramm verwenden. Start-Process -FilePath "$targetDir$exeName" -ErrorAction SilentlyContinue Write-Host "[!] Überprüfen Sie Ihr SIEM auf: Image: .*ReportDump.exe AND ImageLoaded: .*sdkcra.dll" -
Bereinigungsbefehle:
# Bereinigungsskript $targetDir = "C:ProgramDataSectopSim" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] Simulationsdateien bereinigt." } else { Write-Host "[-] Zielverzeichnis nicht gefunden. Nichts zu bereinigen." }