I ricercatori della Unit 42 di Palo Alto Networks hanno recentemente scoperto un nuovo campione di malware basato su Golang: ribattezzato GoBruteforcer, può colpire server Web, in particolare quelli che eseguono i servizi phpMyAdmin, MySQL, FTP e Postgres, tentando di ottenere l’accesso tramite un attacco brute force utilizzando un elenco di credenziali hardcoded all’interno del codice binario dello stesso malware.
Alcune delle credenziali hardcoded per attacco brute force contenute nel codice binario del malware GoBruteforcer (fonte: Unit 42).
Ulteriori indagini hanno consentito di rilevare binari per sistemi Unix-like (sistemi operativi solitamente utilizzati per l’hosting) con versioni per architetture di processori x86, x64 e ARM e un sistema di comunicazione C2 realizzato tramite un bot IRC (Internet Relay Chat).
Solitamente, tali binari (cache_init) sono stati trovati in una directory denominata “/.x/” all’interno del file system dei server presi di mira.
Il linguaggio di programmazione Go, noto anche come Golang, lo ricordiamo, è un linguaggio multipiattaforma che sta diventando sempre più popolare tra gli sviluppatori di malware risultando abbastanza versatile per implementare ransomware, infostealer e trojan di accesso remoto (RAT).
Indice degli argomenti
GoBruteforcer, flusso di attacco
Per ottenere l’accesso a una vasta gamma di host target su diversi IP all’interno di una rete, GoBruteforcer impiega un modulo multiscan per cercarli all’interno di un CIDR (Classless Inter-Domain Routing).
Modulo multiscan di GoBruteforcer (fonte: Unit 42).
Su ogni indirizzo IP di destinazione, il malware avvierà così un’altra scansione per la ricerca della presenza dei servizi phpMyAdmin (porta 80), MySQL (porta 3306), Postgres (porta 5432) e FTP (porta 21).
Flusso di attacco di GoBruteforcer (fonte: Unit 42).
In base al tipo di server in ascolto rilevato il flusso di attacco prevede due rami che portano infine ad instaurare una comunicazione con il server presidiato dagli attaccanti:
- Se intercettato il servizio phpMyAdmin, GoBruteforcer tenterà di ottenere l’accesso al server tramite forza bruta allo scopo di stabilire la comunicazione con il server C2 tramite un bot IRC;
Comunicazione tra vittima e C2 tramite bot IRC (fonte: Unit 42).
- Se trovato un altro degli altri tre servizi il malware tenterà di interrogare il sistema vittima utilizzando una web shell PHP per raccogliere maggiori dettagli sulla rete presa di mira (tramite un packet crafter) e instaurare una comunicazione C2.
Funzionalità packet crafter all’interno della web shell. (fonte: Unit 42).
Raccomandazioni per mitigare il rischio
Purtroppo, la scoperta di GoBruteforcer indica come gli attori delle minacce stiano adottando sempre più Golang per sviluppare malware multipiattaforma.
Inoltre, la capacità di scansione multipla e di violare un gran numero di obiettivi, rende questo malware una potente minaccia.
Unit 42 non ha ancora determinato il vettore di distribuzione iniziale di GoBruteforcer e ritiene che, essendo in fase di sviluppo attivo, i margini di miglioramento e pericolosità potrebbero crescere ulteriormente nel prossimo futuro, consentendo agli attaccanti di cambiare tecniche e tattiche per prendere di mira server web.
Un buon punto di partenza per proteggersi da malware come GoBruteforcer potrebbe essere quello di bandire la cattiva abitudine di mantenere sui sistemi password deboli o predefinite.
“I server Web sono sempre stati un obiettivo redditizio per gli attori delle minacce. Le password deboli potrebbero portare a gravi minacce poiché i server Web sono una parte indispensabile di un’organizzazione”, concludono i ricercatori dell’Unit 42 di Palo Alto Networks.