Tratti caratteristici delle botnet e dell’underground IRC

Un’immersione nel mondo underground delle botnet e del cybercrimine

Ogni giorno una quantità immensa di informazioni su siti web violati, su server compromessi e su credenziali di accesso trafugate vengono condivise nel mondo underground dei milioni di server IRC attivi sul pianeta. Grazie alle frequenti attività di bonifica condotte sui server del nostro parco clienti veniamo molto spesso in possesso di perl bot e shell php, due pericolose tipologie di script maligni che possono annidarsi negli angoli più nascosti di un sito web.

La minaccia delle botnet è diventata un argomento di pubblico dominio su cui gli utenti hanno iniziato a prendere coscienza in modo più attento dopo il recente takedown di Rustock ad opera di Microsoft.

La funzione principale dei bot è quella di collegarsi ad un server IRC di controllo per rimanere in attesa di istruzioni da parte del botmaster. I bot restano in ascolto fino alla ricezione di un comando che può essere uno dei seguenti :

scan : con il comando scan il botmaster ordina al bot di eseguire un’attività di scansione alla ricerca di ulteriori server o siti web vulnerabili

dos : con il comando dos il botmaster ordina al bot di eseguire un DDoS sul sistema bersaglio

scan[cms] : con il comando scan[cms], dove cms può essere il nome di qualunque applicativo web come WordPress, Joomla, osCommerce, e107 e simili, il botmaster ordina al bot di eseguire una scansione su determinate reti alla ricerca di ulteriori siti web vulnerabili

exploit : con il comando exploit il botmaster ordina al bot di attaccare un sito web vulnerabile per iniettare una copia clonata del bot

La lista dei comandi è variabile in base alla tipologia del bot ed in base alla capacità di programmazione/offensive del creatore dello script.

Come servizio di supporto per l’assistenza server il nostro obiettivo è oltre alla gestione del parco macchine dei clienti anche quello di informare utenti ed addetti ai lavori dell’esistenza di un modo sotterraneo che è diverso da quello dei comuni virus per Windows ma altrettanto pericoloso. I bot che possono infettare siti web e server sono la controparte del classico virus di Windows ma nascondono le stesse ed identiche minacce. Sappiamo anche che l’argomento botnet potrebbe non essere di facile comprensione ma vogliamo proseguire sulla strada intrapresa con l’ultima serie di post riguardanti proprio il mondo dei bot e delle botnet. L’immagine qui sotto è stata tratta dall’ultimo documento compilato dall’ENISA, un ente europeo che si occupa di sicurezza informatica, e la figura serve a chiarire meglio le idee sull’argomento.

Il robot al centro è il botmaster, il capo della botnet, colui che invia comandi ed istruzioni ai piccoli robot collegati al centro di controllo e  chiamati bot, che possono nascondersi su un comune sito web o nella directory /tmp del vostro server.

ENISA botnet Tratti caratteristici delle botnet e dellunderground IRC

La presenza dei bot passa molto spesso inosservata ma ci sono casi di infezioni che riescono a piegare le capacità di un server rendendolo lento ed inutilizzabile. La rilevazione dei bot può essere effettuata solo con strumenti appositamente creati per lo scopo e condotti da personale esperto.

Sulla base delle ricerche e delle rilevazioni condotte dal nostro staff emergono alcuni tratti salienti delle botnet e del mondo underground dei server IRC di controllo. Sono stati pubblicati molti studi sui metodi di tracciamento e shutdown delle botnet ma data l’elevata capacità di metamorfosi dei cybercriminali è quasi impossibile adottare un metodo standard per lo studio di questo fenomeno.

I tratti caratteristici delle botnet prevedono che :

- il server IRC di controllo abbia la capacità di rendere irrintracciabili gli ip dei bot e dei botmaster, si veda l’immagine seguente dove l’ip del bot exabot564 viene camuffato con una stringa alfanumerica : F2D5C18B.2617649.67E3BE1A

ip oscurati Tratti caratteristici delle botnet e dellunderground IRC

- il server IRC di controllo deve impedire agli intrusi non desiderati l’accesso ai canali di comando, si veda l’immagine seguente dove l’ingresso nel canale #nobita di un server IRC viene negato e concesso solo per invito

canali irc privati Tratti caratteristici delle botnet e dellunderground IRC

Nello specifico questo canale è risultato essere il centro di controllo per una serie di bot recuperati su installazioni compromesse di osCommerce.

- il whois del gruppo di cybercriminali è spesso oscurato o composto da dati falsi. Non è raro trovare domini registrati a nome di Andrea, residente in Albania, con provincia in Italia. I blackhat usano confondere le loro tracce utilizzando falsi dati di registrazione.

- il/i server di controllo possono essere geograficamente ridondati consentendo al gruppo offensivo di continuare ad operare senza interruzioni in caso di decapitazione di uno o più punti di comando

La modalità di infezione dei bot è alquanto virale, è possibile innescare eventi a catena a partire da un semplice server compromesso consentendo ai botmaster di ampliare a dismisura il numero di bot disponibili per le attività illecite.

Un primo ostacolo alla possibile violazione del server può essere opposto garantendo :

- aggiornamenti costanti dei CMS utilizzati

- politiche di rinforzo e di modifica periodica delle password per gli account ftp/ssh/pop/imap

- aggiornamenti puntuali del sistema

Se l’argomento botnet vi affascina e volete rimanere informati sulle ultime news  seguite la tag botnet sul nostro blog.

Post simili:

Blacklist dinamiche con Shorewall

A differenza di CSF (uno script per iptables), Shorewall non include la possibilità di caricare dinamicamente una blacklist a partire da un indirizzo url. Per ovviare a questa carenza abbiamo messo a disposizione un piccolo script perl che si occupa di fare il fetch della blacklist dato un indirizzo url e di caricarla successivamente nel file /etc/shorewall/blacklist. Per applicare la configurazione lo script eseguirà inoltre il riavvio di Shorewall :

#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;

my $blacklist_url = 'http://www.servermanaged.it/servermanaged.blacklist.txt';
my $blacklist_file = '/etc/shorewall/blacklist';
my $shorewall = "/sbin/shorewall restart";

sub blacklist {
system('cat /dev/null > /etc/shorewall/blacklist');
getstore($blacklist_url, $blacklist_file);
system($shorewall);
}

&blacklist;

La blacklist utilizzata nell’esempio è quella che abbiamo presentato qualche giorno fa in questo post ma è possibile utilizzare anche altri elenchi, come quelli offerti da SpamHaus o Dshield.

Prima di terminare la configurazione è necessario inserire un crontab che attiverà lo script. Un intervallo di 24 ore sarà più che sufficiente :

# crontab -e

@daily perl /script/blacklist.pl

Lo script è molto elementare ma abbastanza efficiente ed offre la possibilità di essere arricchito con ulteriori elenchi di ip o con un controllo degli errori all’interno della subroutine.

Post simili: