Einblick in einen auf Deno basierenden Proxy und RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein Angreifer setzte einen modularen Remote Access Trojaner (RAT) und Proxy-Framework ein, das die Deno JavaScript-Laufzeitumgebung nutzt. Der Angriff nutzte Mailbombing und die Anmaßung von Microsoft Teams, um den Download eines bösartigen Archivs zu erleichtern. Das Implantat operiert über mehrere modulare JavaScript-Dateien, die spezifische Deno-Berechtigungsflags verwenden, um C2-Kommunikation, lokale Befehlsausführung und Netzwerkpivoting durchzuführen.
Untersuchung
Die Untersuchung ergab eine Anfangszugriffsphase bestehend aus E-Mail-Fluten und Social Engineering über Microsoft Teams. Die Malware wurde als ein unkonventionelles, modulares Deno-basiertes System identifiziert, das in vier Skripte unterteilt ist: app.js, back.js, helper.js und webui.js. Die Erkennung erfolgte während Aufklärungsaktivitäten nach der Ausnutzung und nicht bei der anfänglichen Ausführung.
Abmilderung
Organisationen sollten die Ausführung von Skript-Laufzeitumgebungen wie Deno aus benutzerbeschreibbaren Verzeichnissen überwachen und bei verdächtigen Berechtigungsflags wie –allow-run oder –allow-net Alarm schlagen. Darüber hinaus wird empfohlen, die Überwachung lokaler Loopback-HTTP-Dienste und die Korrelation von Teams-Impersonations-Warnungen mit E-Mail-Anomalien zu implementieren. Darüber hinaus kann die Einschränkung der Möglichkeit, unsignierte oder nicht genehmigte Laufzeitumgebungen auszuführen, die Angriffsfläche reduzieren.
Reaktion
Nach der Erkennung sollten die Reaktionskräfte betroffene Hosts isolieren und die Quelle der Teams-Imitation untersuchen. Die Analyse sollte sich auf die Deno-Prozess-Hierarchie und alle lokalen Dienste, die an die Loopback-Ports 10021 oder 10022 gebunden sind, konzentrieren. Die Überprüfung der Microsoft 365 Unified Audit Logs auf TeamsImpersonationDetected-Ereignisse ist entscheidend, um den Umfang der Social-Engineering-Kampagne zu bestimmen.
Angriffsfluss
Erkennungen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER-Hive] (über registry_event)
Anzeigen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER-Hive] (über cmdline)
Anzeigen
Möglicher Versuch, Deno Runtime zu missbrauchen (über process_creation)
Anzeigen
Mögliche Entdeckung der Netzwerkkonfiguration des Systems (über cmdline)
Anzeigen
LOLBAS Conhost (über cmdline)
Anzeigen
IOCs (HashSha256) zum Erkennen: Anatomie eines Deno-basierten Proxys & RAT
Anzeigen
Deno erkennen, das Befehle in der Befehlszeile ausführt [Windows Sysmon]
Anzeigen
Erkenne Deno-basierte RAT-Ausführung mit verdächtigen Berechtigungsflags [Windows Prozess-Erstellung]
Anzeigen
Simulation Ausführung
Voraussetzung: Der Telemetrie- und Basislinien-Vorflugcheck muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Durchführung der Angreifertechnik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, genau die Telemetrie zu generieren, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffs-Erzählung & Befehle: Der Angreifer hat erfolgreich einen bösartigen Deno-basierten RAT über einen Spearphishing-Anhang (T1566.004an den Rechner des Opfers geliefert. Um herkömmliche signaturbasierte AV zu umgehen, verbirgt der Angreifer den Deno-Binärdatei in einem tiefen, nicht standardmäßigen Unterverzeichnis des Roaming-Profils des Benutzers:
C:Usersuser.nameAppDataRoamingDenoJSEnv. Der Angreifer führt dann das Binärprogramm mithilfe der--allow-runand--allow-netFlags aus. Dies ermöglicht es der auf JavaScript basierenden Malware, willkürliche Shell-Befehle zur Systementdeckung (T1082) auszuführen und über HTTPS mit einem externen C2-Server zu kommunizieren (T1071.001). -
Regressionstest-Skript:
# Hinweis: Dieses Skript simuliert die Existenz des Verzeichnisses und der Binärdatei # um die Regellogik auszulösen. In einem echten Test muss die Datei am genauen Ort vorhanden sein. $targetDir = "C:Usersuser.nameAppDataRoamingDenoJSEnv" $targetExe = "$targetDirdeno.exe" # 1. Erstellen Sie die spezifische Verzeichnisstruktur, die von der Erkennungsregel # benötigt wird if (!(Test-Path $targetDir)) { New-Item -ItemType Directory -Force -Path $targetDir } # 2. Erstellen Sie eine Dummy-Datei, die als 'deno.exe' fungiert # In einer echten Simulation wäre dies die eigentliche Deno-Binärdatei. New-Item -ItemType File -Force -Path $targetExe # 3. Führen Sie den 'bösartigen' Befehl aus # Wir verwenden Start-Process, um sicherzustellen, dass es als untergeordneter Prozess in den Sysmon-Protokollen erscheint. # Da 'deno.exe' ein Dummy ist, rufen wir 'cmd.exe' auf, verschleiern aber den Befehl # Zeichenkette, um die Logik zu erfüllen, ODER wenn der ACTUAL-Regel getestet wird, stellen Sie sicher, dass die Binärdatei # echt ist und sie aufruft. Für diese Simulation nehmen wir an, dass der Benutzer eine # echte Deno-Binärdatei an diesem Pfad bereitstellt. Write-Host "[!] Simulation der Ausführung von $targetExe mit bösartigen Flags..." Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo Simulation Triggering Rule..." # Hinweis: Um die Regel wirklich auszulösen, muss die tatsächliche deno.exe vorhanden sein. # Wenn die Regel ausschließlich nach dem Bildpfad sucht, MUSS die Binärdatei dort sein. # Im Hinblick auf ein funktionales Simulationsskript nennen wir den Pfad: # Start-Process -FilePath $targetExe -ArgumentList "--allow-run --allow-net" -
Aufräumbefehle:
# Entfernen Sie das simulierte bösartige Verzeichnis und die Dateien Remove-Item -Path "C:Usersuser.nameAppDataRoamingDenoJSEnv" -Recurse -Force Write-Host "[+] Bereinigung abgeschlossen."