FritzFrog è una campagna botnet peer-to-peer scoperta da Guardicore Labs (ora Akamai Threat Labs) ad agosto 2020 e che, nei mesi successivi, aveva registrato un calo nel numero di attacchi. Tuttavia, all’inizio di dicembre 2021, Akamai ha riscontrato una recrudescenza degli attacchi verso la propria rete globale di sensori.
FritzFrog è una botnet peer-to-peer, il che significa che il suo server di comando e controllo non è limitato a una singola macchina centralizzata, ma può essere eseguito da ogni macchina nella sua rete distribuita. In altre parole, ogni host che esegue il processo malware diventa parte della rete, ed è in grado di inviare, ricevere ed eseguire i comandi per controllare le macchine all’interno del network. FritzFrog si propaga tramite SSH: una volta che trova le credenziali di un server, utilizza una semplice (ma aggressiva) tecnica di forza bruta per stabilire una sessione SSH con la nuova vittima e rilascia l’eseguibile del malware sull’host, che inizia ad ascoltare e ad aspettare i comandi. Questi comandi includono lo scambio di obiettivi, la condivisione dei dettagli delle macchine compromesse e il trasferimento di file, così come l’esecuzione di script e payload binari. L’elenco completo è disponibile in un precedente blog post di Guardicore.
FritzFrog è considerata una botnet di “prossima generazione” a causa di una combinazione di proprietà che la rendono unica nel panorama delle minacce:
- Costantemente aggiornata– I database degli obiettivi e delle macchine violate vengono scambiati senza soluzione di continuità.
- Aggressiva– Gli attacchi di forza bruta si basano su un ampio dizionario; in confronto, DDG, un’altra botnet P2P scoperta di recente, utilizzava solo il nome utente “root”.
- Efficiente– Gli obiettivi sono distribuiti uniformemente tra i nodi.
- Proprietaria– Il protocollo P2P è completamente proprietario, non si basa su nessun protocollo P2P conosciuto come μ
FritzFrog v2: la seconda ondata di attacchi e l’analisi dei server colpiti
Negli ultimi mesi Akamai ha iniziato a monitorare la nuova variante e ha osservato un aumento sorprendente del numero di attacchi FritzFrog, con un picco di 500 incidenti al giorno.
Una differenza tra i primi e i nuovi attacchi FritzFrog è il nome del processo malevolo. Nella prima serie di attacchi, era chiamato ifconfig o nginx; questa volta gli operatori di FritzFrog hanno scelto apache2.
Come parte dell’indagine sulla prima campagna, Akamai ha anche sviluppato uno strumento chiamato Frogger, in grado di raccogliere informazioni sugli host infetti, compreso il tempo di attività, l’hashrate, i peer e l’hasrate, se un cryptominer è in esecuzione. Questo programma prende l’indirizzo IP di un nodo infetto e interroga l’host su un canale di comunicazione criptato per ricevere informazioni sul suo stato. In questo modo è possibile scoprire di più sul nodo e sugli altri a cui è connesso, sfruttando l’infrastruttura stessa della botnet.
L’analisi delle vittime si è basata su due fonti: gli indirizzi IP delle macchine che hanno attaccato i sensori della rete Akamai e le informazioni ottenute da Frogger. I grafici di seguito mostrano il numero giornaliero di indirizzi IP che hanno attaccato i sensori e la variazione nel numero di aggressori in giorni consecutivi. L’aumento del numero di nodi attaccanti – macchine vittime che eseguono il malware – è inquietante.
Numero di nodi attaccanti al giorno segnalati dai sensori di minaccia di Akamai
Grafico che mostra la variazione nel numero di nodi attaccanti in giorni consecutiviDurante l’arco di tempo della seconda campagna, FritzFrog è riuscito ad infettare più di 1.500 host distinti. Si è trattato di macchine server appartenenti a organizzazioni di varie dimensioni e settori, tra cui sanità, istruzione superiore e governo. Sono state rilevate macchine infette in una rete di canali televisivi europei, un produttore russo di apparecchiature sanitarie e diverse università dell’Asia orientale.
Come mostra la mappa, la Cina ha mostrato la maggiore concentrazione di macchine infette: circa il 37% dei nodi interessati. Questo, insieme ad altri fattori legati alle librerie e alle tecniche di cryptomining utilizzate dal malware, porterebbe a credere che la campagna abbia origine da attori cinesi o che si fingono tali.
Nuove capacità del malware
Il codice binario di FritzFrog è scritto in Golang e può essere compilato per essere eseguito su molte architetture diverse. Viene impacchettato utilizzando UPX e di solito viene eseguito sotto uno dei quattro nomi di processo: ifconfig, nginx, apache2 o php-fpm.
FritzFrog viene aggiornato quotidianamente, a volte anche più volte al giorno, per implementare patch e aggiungere nuove funzionalità al malware.
Una nuova versione, ad esempio, ha implementato l’infrastruttura per il monitoraggio dei server WordPress; una preparazione per le nuove versioni, che saranno in grado di compromettere questi obiettivi e usarli per scopi diversi dal mining, come fughe di informazioni, ransomware, ecc. Inoltre, FritzFrog può effettuare il proxy delle connessioni SSH in uscita utilizzando la catena di proxy Tor impostando il proxy per le connessioni SSH sulla porta locale 9050; e utilizzare SCP per copiare sé stesso su un server remoto compromesso. Per farlo, il malware utilizza una libreria SCP pubblica scritta in Golang su GitHub.
In aggiunta, se la prima versione di FritzFrog implementava una blocklist per escludere specifiche macchine dall’essere violate dal modulo cracker (forza bruta), e tale lista era aggiornabile tramite inserimento dinamico con uno speciale comando P2P, putblentry, la nuova versione del malware inserisce diverse voci nell’hard code in anticipo. Alcune di esse specificano un nome Unix e altre un indirizzo IP, ma mai entrambi. Questo suggerisce che gli operatori stiano cercando di evitare di infettare sistemi di fascia bassa con poche risorse, come i dispositivi Raspberry Pi o le immagini EC2 a basse risorse su AWS.
Prevenzione e mitigazione
Akamai Threat Labs ha aggiornato lo strumento di rilevamento di FritzFrog per gestire l’ultima versione del malware. L’azienda fornisce uno script di rilevamento FritzFrog da eseguire sui server SSH, per identificare i seguenti indicatori:
- Processi in esecuzione denominati nginx, ifconfig, php-fpm, apache2, o libexec, il cui file eseguibile non esiste più sul file system (come visto di seguito)
- Porta in ascolto 1234.
Inoltre, il traffico TCP sulla porta 5555 può indicare traffico di rete verso il pool Monero.
Come difendersi, dunque? Akamai offre una serie di suggerimenti ad aziende e organizzazioni, per proteggere i propri sistemi dalla botnet Fritzfrog:
- Mantenere sempre i sistemi aggiornati e installare le patch;
- Implementare il login senza password servendosi di un solido password manager e di un sistema di rotazione;
- Abilitare il controllo del login di sistema con avvisi;
- Monitorare il file authorized_hosts su Linux;
- Configurare una lista esplicita di permessi per il login SSH;
- Disabilitare l’accesso SSH di root;
- Abilitare la protezione DNS basata su cloud di Akamai bloccando minacce e applicazioni non correlate al business come il mining di criptovalute.