Phantom 3.5 – Anmeldeinformationen stehlende Malware geliefert durch einen gefälschten Adobe Installer
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Phantom 3.5 ist eine Anmeldeinformationen-stehlende Malware, die über einen gefälschten Adobe-Installer verbreitet wird. Nach der Ausführung legt der Installer ein PowerShell-Skript ab, das eine verschleierte .NET-DLL (BLACKHAWK.dll) herunterlädt und die endgültige Nutzlast in Aspnet_compiler.exe injiziert, um unter einem vertrauenswürdig aussehenden Prozesskontext zu laufen.
Untersuchung
Forscher führten den gefälschten Installer in einer Sandbox aus und erfassten den Downloader-Standort (positivepay-messages.com/file/floor.ps1). Sie dekodierten das mit Base64/RC4 geschützte Skript, identifizierten die abgerufene .NET-DLL und bestätigten die Injektion in Aspnet_compiler.exe mit Tools wie hollows_hunter und ProcDump. Die Analyse zeigt, dass die DLL Anti-Analyse-Maßnahmen, Heaven’s Gate-Techniken und mehrere Kanäle zur Exfiltration enthält, darunter SMTP, FTP, Telegram und Discord.
Abschwächung
Beschränken oder blockieren Sie die Ausführung von nicht-signierten PowerShell-Skripten, verhindern Sie das Laden nicht vertrauenswürdiger DLLs und überwachen Sie auf ungewöhnliches Erstellen von Aspnet_compiler.exe-Prozessen. Wenden Sie URL-Filterung an, um den Zugriff auf die bösartige Domäne und ihre Pfade zu verweigern. Stellen Sie sicher, dass Endpoint-Kontrollen Muster der Prozessinjektion und gängige Verhaltensweisen von Anmeldedaten-Stehlern erkennen können.
Reaktion
Lösen Sie Alarme für ausgehende Verbindungen zu positivepay-messages.com aus, für Speicher- oder Modul-Artefakte im Zusammenhang mit BLACKHAWK.dll und für Hinweise auf Code-Injektion in Aspnet_compiler.exe. Setzen Sie den betroffenen Host unter Quarantäne, erfassen Sie Speicherabbilder und führen Sie eine vollständige forensische Untersuchung durch, um die bösartige DLL und zugehörige Nutzlasten zu beseitigen.
„graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef process fill:#c2f0c2 classDef malware fill:#f9d5e5 %% Nodes u2013 Initial Access and Execution action_user_execution[„<b>Aktion</b> – <b>T1204.002 Benutzerbeteiligung</b>: Opfer führt einen gefälschten u201cAdobe 11.7.7 Installeru201d aus, der legitim erscheint.“] class action_user_execution action tech_masquerade[„<b>Technik</b> – <b>T1036.008 Verschleierung</b>: Die Installationsdatei wird umbenannt und so maskiert, dass sie wie ein Adobe-Installer aussieht.“] class tech_masquerade technique tool_powershell[„<b>Werkzeug</b> – <b>Name</b>: PowerShell<br/><b>Beschreibung</b>: Verwendet zum Herunterladen und Ausführen eines schädlichen Skripts mit verstecktem Fenster und Umgehung der Ausführungsrichtlinie.“] class tool_powershell tool %% Nodes u2013 Obfuscation and Decoding tech_deobfuscate[„<b>Technik</b> – <b>T1140 Dateien deobfuskieren/dekodieren</b>: Base64u2011RC4-Nutzlast wird dekodiert und entschlüsselt, bevor sie ausgeführt wird.“] class tech_deobfuscate technique tech_obfuscate[„<b>Technik</b> – <b>T1027 Verschleierte Dateien</b>: Malware-Skripte sind stark verschleiert, um statische Analysen zu umgehen.“] class tech_obfuscate technique %% Nodes u2013 Process Injection and Reflective Loading tech_process_injection[„<b>Technik</b> – <b>T1055 Prozessinjektion</b>: BLACKHAWK.dll wird in Aspnet_compiler.exe injiziert, um die Nutzlast auszuführen.“] class tech_process_injection technique process_aspnet_compiler[„<b>Prozess</b> – <b>Name</b>: Aspnet_compiler.exe“] class process_aspnet_compiler process tech_reflective_load[„<b>Technik</b> – <b>T1620 Reflexives Laden von Code</b>: .NET-Assembly wird im Speicher mit Hilfe von System.Reflection.Assembly::Load geladen.“] class tech_reflective_load technique %% Nodes u2013 Defense Evasion tech_sandbox_evasion[„<b>Technik</b> – <b>T1497.002 Virtualisierung Sandbox Evasion</b>: Überprüft Benutzernamen und Umgebungsvariablen, um Analysemodule zu erkennen.“] class tech_sandbox_evasion technique %% Nodes u2013 Persistence tech_active_setup[„<b>Technik</b> – <b>T1547.014 Aktivierungseinstellungen Persistenz</b>: Erstellt einen Ausführungsschlüssel in der Registry über Aktivierungseinstellungen für die automatische Ausführung beim Anmelden.“] class tech_active_setup technique %% Nodes u2013 Credential Access and Collection tech_keylogging[„<b>Technik</b> – <b>T1056.001 Tastenanschläge protokollieren</b>: Erfasst Tastatureingaben des Benutzers.“] class tech_keylogging technique tech_browser_cred[„<b>Technik</b> – <b>T1555.003 Browser-Zugangsdatenzugriff</b>: Stiehlt Hauptschlüssel, Passwörter, Cookies und Wallet-Daten aus Webbrowsern.“] class tech_browser_cred technique tech_clipboard[„<b>Technik</b> – <b>T1115 Zwischenablagedaten</b>: Sammelt Daten aus der Systemzwischenablage.“] class tech_clipboard technique tech_screen_capture[„<b>Technik</b> – <b>T1113 Bildschirmaufnahme</b>: Macht Screenshots in Ein-Sekunden-Intervallen.“] class tech_screen_capture technique tech_video_capture[„<b>Technik</b> – <b>T1125 Videoaufnahme</b>: Zeichnet Videoaufnahmen des Benutzer-Desktops auf.“] class tech_video_capture technique %% Nodes u2013 Exfiltration tech_smtp_ftp[„<b>Technik</b> – <b>T1048 Exfiltration über alternative Protokolle</b>: Sendet gestohlene Daten über SMTP-E-Mail- und FTP-Übertragungen.“] class tech_smtp_ftp technique tech_telegram_discord[„<b>Technik</b> – <b>T1567 Exfiltration über Webservices</b>: Überträgt Daten über APIs von Telegram und Discord.“] class tech_telegram_discord technique %% Nodes u2013 Command and Control tech_web_service[„<b>Technik</b> – <b>T1102.002 Webservice bidirektionales C2</b>: Nutzt Telegram und Discord als bidirektionale Kommunikationskanäle für Kommando und Kontrolle.“] class tech_web_service technique %% Connections u2013 Flow of Attack action_user_execution u002du002d>|führt zu| tech_masquerade tech_masquerade u002du002d>|führt zu| tool_powershell tool_powershell u002du002d>|führt aus| tech_deobfuscate tech_deobfuscate u002du002d>|unterstützt| tech_obfuscate tech_obfuscate u002du002d>|ermöglicht| tech_process_injection tech_process_injection u002du002d>|zielt auf| process_aspnet_compiler process_aspnet_compiler u002du002d>|lädt| tech_reflective_load tech_reflective_load u002du002d>|erleichtert| tech_sandbox_evasion tech_sandbox_evasion u002du002d>|erlaubt| tech_active_setup tech_active_setup u002du002d>|ermöglicht| tech_keylogging tech_keylogging u002du002d>|sammelt| tech_browser_cred tech_browser_cred u002du002d>|fügt hinzu| tech_clipboard tech_clipboard u002du002d>|fügt hinzu| tech_screen_capture tech_screen_capture u002du002d>|fügt hinzu| tech_video_capture tech_video_capture u002du002d>|speist| tech_smtp_ftp tech_video_capture u002du002d>|speist| tech_telegram_discord tech_smtp_ftp u002du002d>|exfiltriert über| tech_web_service tech_telegram_discord u002du002d>|exfiltriert über| tech_web_service %% Styling class action_user_execution action class tech_masquerade,tech_deobfuscate,tech_obfuscate,tech_process_injection,tech_reflective_load,tech_sandbox_evasion,tech_active_setup,tech_keylogging,tech_browser_cred,tech_clipboard,tech_screen_capture,tech_video_capture,tech_smtp_ftp,tech_telegram_discord,tech_web_service technique class tool_powershell tool class process_aspnet_compiler process „
Angriffsablauf
Erkennungen
Verdächtige Powershell-Strings (via powershell)
Ansicht
Mögliche Timeout-Nutzung zur verzögerten Ausführung (via cmdline)
Ansicht
Ungewöhnliche Änderung der Codepage-Ausführung (via cmdline)
Ansicht
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Ansicht
IOCs (HashMd5) zur Erkennung: Phantom 3.5: Initiale Vektoranalyse & Forensik
Ansicht
Phantom 3.5 Prozessinjektion über Aspnet_compiler.exe [Windows Prozess Erstellung]
Ansicht
PowerShell-Skriptausführung mit verstecktem Attribut und Base64-kodierten Strings [Windows Powershell]
Ansicht
Simulation der Ausführung
Voraussetzung: Der Telemetrie- und Basislinien-Pre‑flight-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die die Erkennungsregel auslösen soll. Die Befehle und Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genau erwartete Telemetrie zu erzeugen, die die Erkennungslinie zu erfassen vermag.
-
Angriffs-Narrativ & Befehle:
Der Angreifer hat die Phantom 3.5-Nutzlast erhalten und möchte sie im Speicher ausführen, um festplattenbasierte Verteidigungen zu umgehen. Sie nutzenAspnet_compiler.exe, eine vertrauenswürdige Windows-Binärdatei, um das bösartige verwaltete Assembly über dasInvoke-ManagedAssemblyArgument zu laden. Dies veranlasst den Compiler-Prozess, die Nutzlast in den aktuellen Prozessraum zu injizieren und sich durch das Erstellen einer geplanten Aufgabe zu halten, die denselben Befehl wiederholt ausführt.-
Platzieren Sie das bösartige verwaltete Assembly (
phantom_payload.dll) auf dem Zielhost. -
Führen Sie die Injektion aus unter Verwendung von
Aspnet_compiler.exe:$maliciousDll = "C:Tempphantom_payload.dll" $cmd = "`"$env:WINDIRMicrosoft.NETFramework64v4.0.30319Aspnet_compiler.exe`" -p `"$maliciousDll`" -c `Invoke-ManagedAssembly`" Start-Process -FilePath $cmd -WindowStyle Hidden -
Erstellen Sie Persistenz (optional), indem Sie eine geplante Aufgabe registrieren, die denselben Befehl jede Stunde erneut ausführt.
-
-
Regressionstest-Skript: Das Skript unten reproduziert die oben genannten Schritte auf eine eigenständige, wiederholbare Weise.
<# .SYNOPSIS Simuliert Phantom 3.5-Prozessinjektion mithilfe von Aspnet_compiler.exe. .BESCHREIBUNG Kopiert eine Dummy-Malware-DLL an einen bekannten Ort und startet dann Aspnet_compiler.exe mit dem `Invoke-ManagedAssembly`-Flag, um das genaue Erstellungsevent auszulösen, auf das die Erkennungsregel abzielt. #> # --- Vorbereitung ----------------------------------------------------------- $dllPath = "$env:TEMPphantom_payload.dll" # Erstellen Sie eine winzige Dummy-DLL (Platzhalter für die echte Nutzlast) Set-Content -Path $dllPath -Value ([byte[]](0x4D,0x5A,0x90,0x00,0x03,0x00,0x00,0x00)) -Encoding Byte # --- Ausführung ------------------------------------------------------------- $aspnetPath = "$env:WINDIRMicrosoft.NETFramework64v4.0.30319Aspnet_compiler.exe" if (-Not (Test-Path $aspnetPath)) { Write-Error "Aspnet_compiler.exe nicht am erwarteten Ort gefunden." exit 1 } $arguments = "-p `"$dllPath`" -c `Invoke-ManagedAssembly`" Write-Host "Starte Aspnet_compiler.exe mit bösartigen Argumenten..." Start-Process -FilePath $aspnetPath -ArgumentList $arguments -WindowStyle Hidden -PassThru # --- Optionale Persistenz ---------------------------------------------------- # Registrieren Sie eine geplante Aufgabe, die die Injektion jede Stunde wiederholt $taskName = "PhantomInject" $action = New-ScheduledTaskAction -Execute $aspnetPath -Argument $arguments $trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(5) -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration ([TimeSpan]::MaxValue) Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force Write-Host "Simulation abgeschlossen. Überprüfen Sie das SIEM auf den generierten Alarm." -
Aufräum-Befehle: Entfernen Sie die Dummy-DLL, die geplante Aufgabe und eventuelle verbleibende Prozesse.
# Entfernen Sie die Dummy-DLL Remove-Item -Path "$env:TEMPphantom_payload.dll" -Force -ErrorAction SilentlyContinue # Melden Sie die geplante Aufgabe ab Unregister-ScheduledTask -TaskName "PhantomInject" -Confirm:$false -ErrorAction SilentlyContinue # Beenden Sie alle verbliebenen Aspnet_compiler.exe-Prozesse, die vom Test gestartet wurden Get-Process -Name "Aspnet_compiler" -ErrorAction SilentlyContinue | Stop-Process -Force