Phishing-Kampagne setzt JavaScript-gesteuerte PureLogs-Variante ein, um sensible Daten zu stehlen
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Eine Phishing-Kampagne verwendet einen bösartigen JavaScript-Anhang, um ein PowerShell-Skript zu entschlüsseln und auszuführen. Dieses Skript führt dann Process Hollowing durch, um einen .NET-Downloader in den vertrauenswürdigen MsBuild.exe Prozess zu injizieren. Der Downloader kontaktiert einen Command-and-Control-Server, um ein PureLogs-Plugin abzurufen, das Anmeldedaten, Browserdaten, Kryptowährungs-Wallet-Informationen und andere sensible Vermögenswerte stiehlt. Die Angriffskette ist hoch resistent und setzt auf eine mehrschichtige Verschlüsselung zusammen mit Techniken der dateilosen Ausführung, um die Erkennung zu reduzieren.
Untersuchung
FortiGuard Labs untersuchte den E-Mail-Anhang, das verschleierte JavaScript, das abgelegte PowerShell-Skript und die im späteren Angriff verwendeten .NET-Komponenten im Speicher. Während der Analyse beobachteten Forscher die Erstellung eines gehüllten MsBuild.exe Prozesses, das Laden einer Downloader-DLL und die Ausführung eines PureLogs-Plugins, das Daten aus Browsern, Discord, Kryptogeld-Wallets und anderen Anwendungen extrahierte. Erfasste Netzwerkdaten zeigten verschlüsselte GET- und POST-Kommunikation mit einem einzigen Command-and-Control-Server.
Abschwächung
Der Bericht empfiehlt die Durchsetzung einer starken E-Mail-Filterung, die Begrenzung der Skriptausführung, wo immer möglich, und das Überwachen verdächtiger PowerShell-Aktivitäten sowie von Process Hollowing mit MsBuild.exe. Er empfiehlt zudem den Einsatz von Endpoint-Detection-and-Response-Tools, die in der Lage sind, .NET-Assemblys im Speicher zu identifizieren und ungewöhnliches ausgehendes Netzwerkverhalten im Zusammenhang mit der gestuften Schadsoftwarebereitstellung zu erkennen.
Reaktion
Wird diese Aktivität erkannt, so ist das betroffene Endpunkt isolieren, der bösartige MsBuild.exe Prozess zu beenden und die Command-and-Control-IP-Adresse zu blockieren. Ermittler sollten dann eine forensische Analyse durchführen, um festzustellen, ob Anmeldedaten oder sensible Daten gestohlen wurden und gegebenenfalls Exponierte Konten zurücksetzen. Die Erkennungsinhalte sollten ebenfalls aktualisiert werden, um den Missbrauch von PowerShell, Process Hollowing und PureLogs-bezogenes Verhalten abzudecken.
Angriffsfluss
Wir aktualisieren diesen Teil noch. Melden Sie sich an, um benachrichtigt zu werden
Benachrichtige michErkennungen
Die Möglichkeit der Ausführung durch versteckte PowerShell-Befehlszeilen (via cmdline)
Ansehen
PowerShell führt Datei in verdächtigem Verzeichnis mit Bypass Execution Policy aus (via cmdline)
Ansehen
LOLBAS WScript / CScript (via process_creation)
Ansehen
IOCs (HashSha256) zu erkennen: FortiGuard Labs Threat Research Phishing-Kampagne setzt JavaScript-gesteuertes PureLogs-Variant ein, um sensible Daten zu stehlen
Ansehen
IOCs (SourceIP) zu erkennen: FortiGuard Labs Threat Research Phishing-Kampagne setzt JavaScript-gesteuertes PureLogs-Variant ein, um sensible Daten zu stehlen
Ansehen
IOCs (DestinationIP) zu erkennen: FortiGuard Labs Threat Research Phishing-Kampagne setzt JavaScript-gesteuertes PureLogs-Variant ein, um sensible Daten zu stehlen
Ansehen
Ausführung von dateilosen PowerShell-Skripten und Process Hollowing via .NET-Assemblies [Windows Powershell]
Ansehen
Erkennung des Einsatzes der JavaScript-gesteuerten PureLogs-Variante via PowerShell und Process Hollowing [Windows Process Creation]
Ansehen
Simulation der Ausführung
Voraussetzung: Der Telemetrie- & Basislinien-Pre-Flight-Check muss bestanden worden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Angreifertechnik (TTP), die zur Auslösung der Erkennungsregel entwickelt wurde. Die Befehle und die Erzählung MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennung erwartet wird.
-
Angreifererzählung & Befehle:
- Stufe 1 – JavaScript-Abwurf: Der Angreifer liefert eine bösartige
.jsNutzlast (kodiert) über eine Phishing-E-Mail. Die Nutzlast wird gespeichert auf%TEMP%und ausgeführt mitwscript.exe. - Stufe 2 – PowerShell-Starter: Das JavaScript startet PowerShell mit den Flags
-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File, hinweisend auf ein zweites Skript, das Process Hollowing durchführt. - Stufe 3 – Process Hollowing mit MsBuild: Das PowerShell-Skript startet
MsBuild.exeim angehaltenen Modus, injiziert die bösartige Nutzlast (eine Dummy-DLL), und setzt den Prozess fort, um eine Ausführung zu erreichen, während es als legitimes Build-Tool erscheint.
- Stufe 1 – JavaScript-Abwurf: Der Angreifer liefert eine bösartige
-
Regressionstest-Skript: (PowerShell – als normaler Benutzer ausführen, erfordert keine externen Dateien)
# -------------------------------------------------------------- # PureLogs-Variantensimulation – JavaScript → PowerShell → MsBuild # -------------------------------------------------------------- # 1. Erstellen bösartiges JavaScript (base64-kodiert zur Simulation von Verschleierung) $jsPayload = @" // Bösartiges JS: startet PowerShell mit Bypass-Flags var shell = new ActiveXObject("WScript.Shell"); var psCmd = "powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File ""%TEMP%launch.ps1"""; shell.Run(psCmd, 0, false); "@ $jsPath = "$env:TEMPmalicious.js" $jsPayload | Set-Content -Path $jsPath -Encoding ASCII # 2. Erstellen von PowerShell-Nutzlast, die Process Hollowing mit MsBuild durchführt $psPayload = @" # Startet MsBuild im angehaltenen Modus $msbuildPath = (Get-Command MsBuild.exe).Source $si = New-Object System.Diagnostics.ProcessStartInfo $si.FileName = $msbuildPath $si.UseShellExecute = $false $si.CreateNoWindow = $true $si.Arguments = "/t:Compile" $proc = [System.Diagnostics.Process]::Start($si) Start-Sleep -Milliseconds 500 # räumt Zeit für Erstellung ein # Simuliert Hollowing, indem einfach eine Dummy-Datei in den Speicherbereich des Prozesses geschrieben wird # (echtes Hollowing würde Windows-API-Aufrufe nutzen; hier halten wir den Prozess nur am Leben) Write-Host "Process Hollowing simuliert - MsBuild läuft" "@ $psPath = "$env:TEMPlaunch.ps1" $psPayload | Set-Content -Path $psPath -Encoding ASCII # 3. Ausführen des JavaScripts – dies ist der Einstiegspunkt, den die Regel überwacht wscript.exe $jsPath # Warten Sie eine kurze Zeit, um sicherzustellen, dass Protokolle generiert werden Start-Sleep -Seconds 10 -
Aufräumbefehle:
# Beenden Sie alle verbleibenden MsBuild-Prozesse, die durch die Simulation gestartet wurden Get-Process MsBuild -ErrorAction SilentlyContinue | Stop-Process -Force # Entfernen von Artefakten Remove-Item "$env:TEMPmalicious.js" -ErrorAction SilentlyContinue Remove-Item "$env:TEMPlaunch.ps1" -ErrorAction SilentlyContinue