OpenWire-CVE-2023-46604-Indagine
Laboratorio OpenWire
Durante il mio turno come analista del Centro Operativo di Sicurezza (SOC) di Livello 2, ho ricevuto una escalation da un analista di Livello 1 riguardante un server accessibile pubblicamente che era stato osservato comunicare con molteplici indirizzi IP esterni sospetti.
In risposta, ho avviato la procedura standard di Risposta agli Incidenti (IR), che includeva l'isolamento del server interessato dalla rete per prevenire movimenti laterali e potenziale esfiltrazione di dati. Un file di cattura dei pacchetti (PCAP) è stato poi ottenuto dalla piattaforma NSM per ulteriori indagini.
Il mio obiettivo era analizzare il traffico di rete e identificare eventuali indicatori di attività malevola.
- Identificazione del Primo Indirizzo IP Esterno Sospetto
Dopo aver analizzato il traffico di rete e aver esaminato le connessioni stabilite con il server, ho identificato pacchetti relativi al protocollo OpenWire. Un'ulteriore ispezione di queste comunicazioni ha rivelato un indirizzo IP esterno sospetto coinvolto nell'attacco:
146.190.21.92
- Identificazione della Porta Utilizzata Durante l'Attacco
Mentre esaminavo il traffico OpenWire, ho scoperto che il servizio preso di mira era Apache ActiveMQ, un message broker open-source che consente la comunicazione tra applicazioni distribuite.
Ulteriori analisi hanno rivelato che l'attaccante stava comunicando attraverso la seguente porta:
61616
- Identificazione del Secondo Server di Comando e Controllo
Analizzando il traffico HTTP e rivedendo i file attraverso:
Export Objects → HTTP Object List
Ho identificato un secondo indirizzo IP esterno associato all'infrastruttura dell'attaccante:
128.199.52.72
- Identificazione del Servizio Compromesso
L'analisi delle comunicazioni OpenWire ha confermato che il servizio compromesso era:
Apache ActiveMQ
Questo servizio era l'obiettivo principale dell'attacco ed è stato successivamente determinato come vulnerabile all'esecuzione di codice remoto.
- Identificazione del Payload di Reverse Shell
Gli attaccanti spesso lasciano tracce della loro attività sui sistemi compromessi. Analizzando sia il traffico HTTP che i comandi eseguiti durante l'intrusione, ho identificato il file di reverse shell distribuito sul server:
docker
- Analisi della Catena di Exploit
Durante l'indagine, ho osservato traffico in uscita sospetto proveniente dal server compromesso utilizzando il seguente User-Agent:
java/11.0.21
Il server ha avviato una connessione all'indirizzo IP sospetto 146.190.21.92 per recuperare un file di configurazione XML remoto denominato:
/invoice.xml
Usando Wireshark e filtrando il traffico con:
Testo semplice
ip.addr == 146.190.21.92
Ho identificato il flusso di comunicazione rilevante ed estratto il file payload dannoso:
./invoice
Un'ulteriore ispezione del payload ha rivelato che l'attaccante ha sfruttato una vulnerabilità di Esecuzione di Codice Remoto (RCE) in Apache ActiveMQ.
Il file XML conteneva istruzioni dannose che forzavano Java Runtime Environment a istanziare una specifica classe Java in grado di eseguire comandi del sistema operativo.
La classe Java identificata era:
java.lang.ProcessBuilder
- Identificazione del CVE Associato
Sulla base del comportamento di attacco osservato, inclusi lo sfruttamento di Apache ActiveMQ attraverso comunicazioni OpenWire, il recupero remoto di XML, l'istanziazione di oggetti e l'uso di java.lang.ProcessBuilder per l'esecuzione di comandi, l'attività è stata attribuita alla seguente vulnerabilità:
CVE-2023-46604
Questa vulnerabilità consente agli attaccanti di ottenere Esecuzione di Codice Remoto (RCE) sfruttando meccanismi di istanziazione di oggetti non sicuri all'interno di Apache ActiveMQ.
Indicatori di Compromissione (IOC)
Indirizzi IP
146.190.21.92
128.199.52.72
Porta di Rete
61616
File
docker
invoice.xml
Payload
invoice
Vulnerabilità
CVE-2023-46604