Sommario
Nel corso di un’indagine su un incidente presso uno dei nostri clienti, il team PT ESC CSIRT ha scoperto una backdoor precedentemente sconosciuta scritta in Go, attribuita a un gruppo di cybercriminali denominato ExCobalt. ExCobalt, specializzato in cyber spionaggio, include membri attivi almeno dal 2016 e presumibilmente precedentemente parte del famigerato gruppo Cobalt.
Attività di ExCobalt
Negli ultimi anni, PT ESC ha registrato attacchi collegati a ExCobalt e indagato su incidenti presso organizzazioni russe in settori come:
- Metallurgia
- Telecomunicazioni
- Miniere
- Tecnologia dell’informazione
- Governo
- Sviluppo software
Caratteristiche di GoRed
GoRed è la nuova backdoor di ExCobalt con le seguenti funzionalità chiave:
- Connessioni C2: Gli operatori possono connettersi alla backdoor ed eseguire comandi, simile ad altri framework C2 come Cobalt Strike o Sliver.
- Protocollo RPC: Comunicazione con il server C2 utilizzando RPC.
- Tunneling: Comunicazioni tramite DNS/ICMP, WSS e QUIC.
- Raccolta Dati: Ottiene credenziali e raccoglie informazioni sui sistemi compromessi.
- Comandi di Ricognizione: Esegue vari comandi per condurre ricognizioni sulla rete della vittima.
- Esfiltrazione Dati: Serializza, cripta, archivia e invia i dati raccolti a un server dedicato.
Indagine su GoRed
Durante un’indagine su un incidente nel marzo 2024, è stato scoperto un file chiamato scrond, compresso con UPX. Una volta decompresso, il file scritto in Go mostrava percorsi di pacchetti contenenti la sottostringa “red.team/go-red/”, suggerendo un tool proprietario chiamato GoRed.
Versioni di GoRed
Le versioni trovate durante le indagini includono:
- 0.0.1: Versione iniziale con raccolta informazioni base.
- 0.0.9: Build di debug con configurazione estesa.
- 0.0.13: Aggiunge shell inversa e monitoraggio file system.
- 0.1.3: Descritta in un report Solar, non incontrata direttamente.
- 0.1.4: Versione corrente, oggetto dell’analisi attuale.
Struttura interna di GoRed
GoRed utilizza vari pacchetti interni per differenti funzionalità:
- config: Recupero delle configurazioni interne e di trasporto.
- bb: Elaborazione dei comandi dell’operatore.
- birdwatch: Monitoraggio del file system.
- gecko: Protocollo di comunicazione con il C2.
- backend: Connessione a un server di esfiltrazione dati.
- collector: Raccolta informazioni di sistema.
- proxy: Funzionamento in modalità proxy.
- revshell: Funzionamento in modalità shell inversa.
- dns: Implementazione del tunneling DNS.
- icmptunnel: Implementazione del tunneling ICMP.
Funzionamento di GoRed
- Esecuzione e Persistenza: Inizia con il comando service per ottenere persistenza nel sistema.
- Modalità Beacon: Il comando gecko avvia la modalità beacon per la comunicazione con il C2.
- Raccolta Dati: GoRed raccoglie dati sul sistema compromesso e li invia al C2 tramite RPC.
- Esecuzione Comandi: Ascolta i comandi dell’operatore e li esegue, sia in background che in primo piano.
Comunicazione e configurazioni
GoRed comunica con il C2 utilizzando vari protocolli, tra cui WebSocket, QUIC, ICMP e DNS. Le configurazioni incorporate e di trasporto definiscono gli indirizzi e le modalità di connessione.
GoRed rappresenta una sofisticata backdoor utilizzata da ExCobalt per cyber spionaggio. La sua evoluzione e le capacità di nascondere le proprie tracce la rendono una minaccia significativa per le organizzazioni prese di mira.