Dark background with blue code overlay
Blog

FritzFrog: la botnet P2P di nuovo alla ribalta

Akamai Wave Blue

scritto da

Ben Barnea, Shiran Guez, e Ophir Harpaz

February 10, 2022

Akamai Wave Blue

scritto da

Ben Barnea

Ben Barnea è Security Researcher in Akamai con interesse e competenze nella conduzione di ricerche sulle vulnerabilità e sulla sicurezza di basso livello in varie architetture, tra cui quelle in Windows e Linux, nonché nell'IoT (Internet of Things) e nei dispositivi mobili. Adora scoprire come funzionano i meccanismi complessi e, soprattutto, come non funzionano.

Shiran Guez

scritto da

Shiran Guez

Shiran Guez lavora nel settore delle reti e delle telecomunicazioni dall'inizio del 2000. È un entusiasta della tecnologia, che lavora con la mentalità dell'imprenditore e un'attitudine alla crescita. Vanta una vasta esperienza nelle tecnologie delle reti WAN e LAN, nell'integrazione di reti e applicazioni, nella virtualizzazione, nell'ottimizzazione WAN/QoS e nel monitoraggio.

Ophir Harpaz

scritto da

Ophir Harpaz

Ophir dirige il team che si occupa di ricerca sulla sicurezza nell'Enterprise Security Group di Akamai.

Analisi riassuntiva

  • FritzFrog è una campagna di botnet peer-to-peer che è stata scoperta da Guardicore Labs (ora Akamai Threat Labs) ad agosto 2020

  • La botnet decentralizzata prende di mira qualsiasi dispositivo che rende vulnerabile un server SSH (istanze cloud, server di data center, router, ecc.) ed è in grado di eseguire qualsiasi payload dannoso sui nodi infetti

  • La sua architettura peer-to-peer e il codice proprietario dimostrano un alto livello di sofisticazione

  • Recentemente, questa botnet è riapparsa e ha mostrato una crescita di 10 volte del suo tasso di infezione in un mese, compromettendo vari server nei settori sanitario, educativo e governativo

  • Dalla ricomparsa della botnet sono stati infettati 1.500 host distinti, la maggior parte dei quali si trova in Cina

  • Il malware Golang che è stato diffuso aggiunge nuove funzionalità alla botnet, compreso l'utilizzo di una rete proxy e l'individuazione dell'obiettivo dei server WordPress

  • La recente ondata di attacchi fornisce ulteriori prove sulle origini di FritzFrog, indicando un possibile collegamento con un criminale che si trova in Cina o che si finge cinese

  • Akamai Threat Labs ha aggiornato lo strumento di rilevamento FritzFrog per gestire la versione più recente del malware

FritzFrog in breve FritzFrog in breve

FritzFrog v1: un breve riepilogo

FritzFrog è una botnet peer-to-peer, pertanto il suo server C2 (Command and Control) non è limitato a un solo computer centralizzato, ma può essere eseguito da ogni computer che si trova nella sua rete distribuita. In altre parole, ogni host che esegue il processo del malware diventa parte della rete e può inviare, ricevere ed eseguire i comandi per controllare i computer presenti nella rete.

FritzFrog si propaga tramite il protocollo SSH. Una volta individuate le credenziali di un server tramite una tecnica di forza bruta semplice (ma aggressiva), FritzFrog stabilisce una sessione SSH con la nuova vittima e rilascia l'eseguibile del malware sull'host. Il malware inizia quindi ad ascoltare e ad attendere i comandi. Questi comandi includono lo scambio di obiettivi, la condivisione dei dettagli dei computer compromessi e il trasferimento di file, nonché l'esecuzione di script e payload binari. L'elenco completo dei comandi è disponibile nel nostro blog precedente.

FritzFrog è considerata una botnet di "prossima generazione" per la sua combinazione di proprietà che la rendono unica nel panorama delle minacce:

  • Costantemente aggiornata: i database di obiettivi e computer violati vengono scambiati senza problemi

  • 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 e non si basa su protocolli P2P noti come μTP

FritzFrog v2: il ritorno

Subito dopo aver pubblicato i dettagli su FritzFrog ad agosto 2020, il team di Guardicore Labs (ora Akamai Threat Labs) ha notato un calo nel numero di attacchi. Tuttavia, all'inizio di dicembre 2021, abbiamo iniziato a notare un aumento degli attacchi sferrati contro la nostra rete globale di sensori.

Un attacco FritzFrog inizia con una forza bruta SSH e continua con il rilascio e l'esecuzione di un file. Questo file inizia immediatamente ad ascoltare sulla porta 1234 e a scansionare migliaia di indirizzi IP Internet tramite le porte 22 e 2222.

Una differenza tra i vecchi e i nuovi attacchi FritzFrog è rappresentata dal nome del processo dannoso. Nella prima serie di attacchi, il processo dannoso era chiamato ifconfig o nginx; questa volta, gli operatori di FritzFrog hanno scelto il nome apache2.

Dopo aver iniziato a monitorare la nuova variante, abbiamo notato un aumento sorprendente nel numero di attacchi FritzFrog, con un picco di 500 eventi al giorno.

 

Numero di attacchi FritzFrog rilevati dai nostri sensori fin dalla prima comparsa della botnet Numero di attacchi FritzFrog rilevati dai nostri sensori fin dalla prima comparsa della botnet

 

Analisi delle vittime

Come parte della nostra indagine sulla prima campagna di FritzFrog, abbiamo sviluppato uno strumento chiamato Frogger, che ci consente di raccogliere informazioni sugli host infetti, tra il tempo di attività, i peer e l'hasrate, se è in esecuzione un cryptominer. Questo programma prende l'indirizzo IP di un nodo infetto e interroga l'host tramite un canale di comunicazione crittografato per ricevere informazioni sul suo stato. In questo modo, è possibile scoprire di più sul nodo e sugli altri nodi a cui è connesso, sfruttando l'infrastruttura della botnet.

La nostra analisi delle vittime si è basata su due fonti: gli indirizzi IP dei computer che hanno attaccato i nostri sensori e le informazioni ottenute da Frogger. Abbiamo quindi iniziato con l'elenco degli IP dei criminali rilevati dai nostri sensori, quindi abbiamo ampliato tale elenco interrogando tramite Frogger ciascuno di essi per i suoi peer in modo ricorsivo.

I grafici seguenti mostrano il numero giornaliero di indirizzi IP che hanno attaccato i nostri sensori e la differenza nel numero di criminali tra giorni consecutivi. L'aumento del numero di nodi che hanno attaccato i nostri sensori, ossia i computer presi di mira che eseguono il malware, è inquietante.

 

Numero di nodi che hanno attaccato i nostri sensori al giorno catturati dai nostri sensori di minacce Numero di nodi che hanno attaccato i nostri sensori al giorno catturati dai nostri sensori di minacce
 Grafico che mostra la differenza nel numero di nodi che hanno attaccato i nostri sensori tra giorni consecutivi Grafico che mostra la differenza nel numero di nodi che hanno attaccato i nostri sensori tra giorni consecutivi

 

Durante il periodo di tempo in cui si è verificata la seconda campagna, la botnet FritzFrog è riuscita a infettare più di 1.500 host distinti. Si trattava di server appartenenti a organizzazioni di varie dimensioni e vari settori, tra cui la sanità, l'istruzione superiore e il settore pubblico. Abbiamo trovato computer infetti in una rete di canali televisivi europei, in un produttore russo di apparecchiature sanitarie e in diverse università dell'Asia orientale. Come mostra la mappa, in Cina è stata riscontrata una grande concentrazione di computer presi di mira.

 

La maggior parte delle vittime si trova a nord dell'equatore, con una forte concentrazione in Cina La maggior parte delle vittime si trova a nord dell'equatore, con una forte concentrazione in Cina

 

Nuove funzionalità del malware

Il codice binario di FritzFrog è scritto in Golang e può essere compilato per essere eseguito su molte architetture diverse. Il codice viene compresso tramite UPX e, di solito, viene eseguito con uno dei seguenti quattro nomi di processo: ifconfig, nginx, apache2 o php-fpm. Abbiamo riportato un'analisi approfondita del malware nella nostra pubblicazione precedente, quindi ora possiamo concentrarci sui nuovi campioni e sulle aggiunte apportate.

FritzFrog viene aggiornato quotidianamente, spesso più volte al giorno. La maggior parte delle nuove versioni include correzioni di bug, ma alcune versioni aggiungono nuove funzionalità al malware.

Preparazione per l'individuazione dell'obiettivo in WordPress

FritzFrog ha rilasciato una nuova versione che implementa l'infrastruttura per il monitoraggio dei server WordPress. Questa versione contiene funzioni che consentono di aggiungere e rimuovere voci dagli elenchi denominati Wordpress e WordpressTargetsTTL. Lo snippet del codice disassemblato riportato di seguito mostra l'implementazione di un nuovo comando P2P (put wordpress), che aggiunge una nuova voce all'elenco degli obiettivi di WordPress. Al momento della stesura di questo rapporto, questi elenchi, salvati su tutti i nodi infetti, sono ancora vuoti.

 

ll malware non contiene alcun modulo in grado di violare o identificare gli obiettivi di WordPress. Pertanto, supponiamo che il codice sia una preparazione per nuove versioni, che saranno in grado di violare tali obiettivi e di utilizzarli per scopi diversi dal mining, come fughe di informazioni, ransomware, ecc.

Catena di proxy Tor

FritzFrog può effettuare il proxy delle connessioni SSH in uscita tramite la catena di proxy Tor impostando il proxy per le connessioni SSH sulla porta locale 9050. La catena di proxy Tor è una rete di nodi che fornisce ai propri utenti un miglior livello di privacy e mascheramento creando un percorso basato sull'incapsulamento dall'origine alla destinazione; ogni nodo è consapevole solo dei suoi nodi direttamente vicini. 

Inoltrando le richieste alla porta locale 9050, FritzFrog utilizza la catena di proxy Tor per connettersi ai dispositivi SSH di proprietà. Un dispositivo di proprietà vede arrivare la richiesta in entrata come proveniente dall'ultimo nodo della catena di proxy. Questa funzionalità può essere utilizzata per nascondere l'indirizzo dei nodi attualmente infetti. Ad oggi, anche se la funzionalità esiste, non l'abbiamo ancora vista utilizzata dal malware.

SCP

FritzFrog ora utilizza il protocollo SCP per copiarsi su un server remoto compromesso a differenza della prima versione, in cui l'eseguibile del malware veniva rilasciato su un nuovo computer preso di mira utilizzando il comando cat tramite una sessione SSH stabilita. La nuova implementazione utilizza una libreria SCP pubblica scritta in Golang nell'archivio GitHub. Non siamo riusciti a determinare alcun vantaggio significativo in un metodo rispetto all'altro. Tuttavia, è degno di nota il fatto che gli autori della libreria SCP si trovino in Cina. 

Blocklist

La prima versione di FritzFrog implementava una blocklist per evitare che specifici computer venissero violati dal modulo dell'attacco di forza bruta. Mentre uno speciale comando P2P (putblentry) consente l'inserimento dinamico di voci in questo elenco, le nuove versioni codificano numerose voci in anticipo.

Alcune di queste voci specificano un nome Unix, altre un indirizzo IP, ma mai entrambi.

Voci della blocklist codificate nei nuovi esempi di FritzFrog

[
{"Address": "",
 "Uname_match": "[redacted]dddz.me 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017"},
{"Address": "",
"Uname_match": "[redacted]-1 4.4.0-151-generic #178-Ubuntu SMP Tue Jun 11 08: 30: 22 UTC 2019"},
{"Address": "",
"Uname_match": "[redacted].amzn2.x86_64 #1 SMP Mon Jun 18 22: 33: 07 UTC 2018 x86_64 GNU/Linux"},
{"Address": "",
"Uname_match": "[redacted]-generic #113-Ubuntu SMP Thu Jul 9 23: 41: 39 UTC 2020"},
{"Address": "",
"Uname_match": "[redacted] raspberrypi 4.4.32-v7+ #924 SMP Tue Nov 15 18: 11: 28 GMT 2016 armv7l GNU/Linux"},
{"Address": "",
"Uname_match": [redacted] 3.10.0-123.4.4.el7.x86_64 #1 SMP Fri Jul 25 05: 07: 12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux"},
{"Address": "",
"Uname_match": [redacted] 4.18.0-193.28.1.el8_2.x86_64 #1 SMP Thu Oct 22 00: 20: 22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux"},
{"Address": "[redacted].24: 22",
"Uname_match": ""},
{"Address": "[redacted].88: 22",
"Uname_match": ""},
{"Address": "[redacted].26: 22",
"Uname_match": ""}]

 

Le voci suggeriscono 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.

Un IP nella blocklist proviene dalla Russia, Presenta più porte aperte e un lungo elenco di vulnerabilità senza patch, quindi potrebbe essere un honeypot. Inoltre, un secondo ingresso punta a una sinkhole di botnet open-source. Queste due voci suggeriscono che gli operatori stiano tentando di eludere il rilevamento e l'analisi.

Due degli indirizzi IP sono posizionati geograficamente negli Stati Uniti. Una voce blocca l'Università del Maryland, per ragioni non chiare, e la seconda mostra una battuta, o un avviso quando viene sfogliato, apparentemente consapevole di potenziali indagini sul malware.

Nell'avviso visualizzato si legge: "Tanto va la gatta al lardo che ci lascia lo zampino" Nell'avviso visualizzato si legge: "Tanto va la gatta al lardo che ci lascia lo zampino"

 

Origini e attribuzione

Le recenti modifiche e aggiunte a questa campagna ci hanno permesso di esaminare le possibili origini di questo malware. Sebbene non possiamo essere certi della sua vera origine, riteniamo che condividere queste informazioni possa risultare estremamente utile. 

La prima prova proviene da una delle librerie appena aggiunte, compilata nel malware FritzFrog e denominata scp, che implementa il protocollo SCP (Secure Copy Protocol) per i trasferimenti di file tramite SSH. La libreria è scritta in Go e il suo codice è condiviso su GitHub in un archivio da un utente che si trova a Shanghai. In questo repository esiste un fork, eseguito da una seconda persona che si trova sempre a Shanghai.

Un'altra prova che collega alla Cina proviene dall'attività di cryptomining di FritzFrog. Il nostro team di ricerca è riuscito a trovare nuovi indirizzi di wallet e nuovi pool di mining utilizzati nel processo di cryptomining. Anche uno degli indirizzi di wallet appena osservati (riportati di seguito) è stato utilizzato come parte della campagna di botnet Mozi , i cui autori sono stati recentemente arrestati in Cina.

Indirizzo del wallet FritzFrog Monero connesso con Mozi

47BD6QNfkWf8ZMQSdqp2tY1AdG8ofsEPf4mcDp1YB4AX32hUjoLjuDaNrYzXk7cQcoPBzAuQrmQTgNgpo6XPqSBLCnfsjaV

Questi elementi di prova, pur non essendo schiaccianti, ci portano a credere che esista un possibile collegamento con un criminale che opera in Cina o che si finge cinese. Infine, il monitoraggio dei dati sugli attacchi ha dimostrato un alto livello di attività in Cina e nei dintorni per tutta la durata della campagna. Ad oggi, sembra che circa il 37% dei nodi infetti si trovi in Cina. 

Prevenzione e mitigazione

 

Strumento per il rilevamento di FritzFrog

Akamai fornisce uno script per il rilevamento di FritzFrog da eseguire sui server SSH per identificare i seguenti indicatori FritzFrog:

  • Processi in esecuzione denominati nginx, ifconfig, php-fpm, apache2 o libexec, i cui file eseguibili non esistono più nel file system (come illustrato di seguito)

  • Porta di ascolto 1234

Inoltre, il traffico TCP sulla porta 5555 può indicare il traffico di rete verso il pool Monero.

Suggerimenti

  • Mantenere sempre i sistemi aggiornati e installare le patch

  • Implementare il login senza password servendosi di un solido sistema di rotazione e gestione delle password

  • Attivare 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 root

  • Attivare la protezione DNS basata su cloud per bloccare minacce e applicazioni non correlate alle attività aziendali, come il mining di criptovalute  



Akamai Wave Blue

scritto da

Ben Barnea, Shiran Guez, e Ophir Harpaz

February 10, 2022

Akamai Wave Blue

scritto da

Ben Barnea

Ben Barnea è Security Researcher in Akamai con interesse e competenze nella conduzione di ricerche sulle vulnerabilità e sulla sicurezza di basso livello in varie architetture, tra cui quelle in Windows e Linux, nonché nell'IoT (Internet of Things) e nei dispositivi mobili. Adora scoprire come funzionano i meccanismi complessi e, soprattutto, come non funzionano.

Shiran Guez

scritto da

Shiran Guez

Shiran Guez lavora nel settore delle reti e delle telecomunicazioni dall'inizio del 2000. È un entusiasta della tecnologia, che lavora con la mentalità dell'imprenditore e un'attitudine alla crescita. Vanta una vasta esperienza nelle tecnologie delle reti WAN e LAN, nell'integrazione di reti e applicazioni, nella virtualizzazione, nell'ottimizzazione WAN/QoS e nel monitoraggio.

Ophir Harpaz

scritto da

Ophir Harpaz

Ophir dirige il team che si occupa di ricerca sulla sicurezza nell'Enterprise Security Group di Akamai.