psyBNC è un bouncer IRC molto popolare. Un bouncer è una tipologia di software che è paragonabile per alcune caratteristiche ai proxy. I bouncer sono orientati all’ambiente IRC e servono sostanzialmente come anonimizzatori per nascondere la fonte della connessione nel momento in cui un utente esegue l’accesso su un server IRC. L’utilizzo più comune prevede l’installazione di psyBNC su una macchina che può essere anche un semplice server virtuale a basso costo che verrà utilizzato come intermediario durante la connessione ad un server di chat IRC. Il mondo di IRC nasconde molto di più di ciò che potrebbe sembrare all’apparenza. Nato come luogo di incontro virtuale agli albori dell’era internet i server IRC di tutto il mondo ospitano spesso canali pullulanti di hacker e cracker più o meno esperti e con intenzioni più o meno trasparenti. Nel post che segue vedremo l’analisi di una versione di un kit psyBNC utilizzato da individui con pochi scrupoli allo scopo di infettare in modo silenzioso i server più vulnerabili che verranno poi utilizzati come proxy per la connessione a canali IRC underground. In questo caso il termine underground è da leggere nell’accezione più oscura del termine essendo questi canali popolati da soggetti dediti ad attività al limite del legale.
La directory .fonts/adm
La directory .fonts/adm ha fatto la sua comparsa su un server allestito allo scopo di honeypot (una sorta di vasetto del miele per le api, dove il miele è un server altamente vulnerabile e le api sono i blackhat che non aspettano altro se non compromettere la macchina vulnerabile). L’ambiente di lavoro è un’installazione osCommerce 2.3, una versione notoriamente vulnerabile alle inclusioni di file remote di cui abbiamo dimostrato l’exploit in questo post. Come se non bastasse l’accesso al server è stato reso ancora più semplice impostando un nome utente molto comune protetto da una password facilmente prevedibile. Dopo una serie di bruteforce, un metodo d’attacco che prevede il tentativo di un determinato elenco di password contro un account utente l’attaccante ha avuto accesso al server eseguendo successivamente l’upload della versione malevola di psyBNC, creando la directory .fonts/adm nella home utente /home/oscommerce.
Il kit psyBNC è formato da vari file che comprendono alcuni script per l’avvio del bouncer e per il setup di un crontab che avrà il compito di tenere il bouncer sempre attivo.
Il file bash (che non ha nulla a che vedere con la vostra shell preferita) è uno script per l’avvio dell’eseguibile miau, il bouncer vero e proprio. Miau è una versione modificata di psyBNC. Il codice dello script bash :
PSYBNCPATH=/home/oscommerce/.fonts/adm
if test -r $PSYBNCPATH/pid; then
PSYPID=$(cat $PSYBNCPATH/pid)
if $(kill -CHLD $PSYPID >/dev/null 2>&1)
then
exit 0
fi
fi
cd $PSYBNCPATH
./h -s /usr/libexec/mysqld ./miau -d /home/oscommerce/.fonts/adm/ &>/dev/null
La caratteristica più interessante del kit è la presenza dell’eseguibile h, un process faker. I process faker sono dei tool molto ambigui utilizzati per nascondere il vero path di un processo. Nell’ultima riga dello script è possibile intuire l’utilizzo di h che viene avviato per nascondere il bouncer miau dietro il nome di un processo abbastanza comune sulla quasi totalità dei server, mysqld. Un utente poco attento ignorerà quasi sicuramente la presenza di un bouncer camuffato sotto il nome mysqld.
I bouncer malevoli vengono compilati ed eseguiti direttamente sul server colpito dall’upload di questi kit. La compilazione personalizzata consente di adattare il bouncer al sistema che lo ospita. E’ per questo motivo che una delle regole principali della procedura di messa in sicurezza di un server prevede la disinstallazione dei compilatori o almeno la restrizione d’utilizzo per gli utenti di sistema non privilegiati.
Il bouncer miau si appoggia al file di configurazione miaurc che contiene le indicazioni principali circa i server IRC a cui il bouncer dovrà connettersi. Un estratto di miaurc, troncato per ovvi motivi :
nicknames = {
"Raluca"
"MucMic"
"inetiapl"
"running"
}
realname = "zu"
username = "zu"
password = "*****"
listenport = "40000"
servers = {
"us.undernet.org":"6667"
"eu.undernet.org":"6667"
"208.83.20.130":"6667"
}
connhosts = {
"*":"yes"
}
Il bouncer inoltre è dotato del logging, rediretto sui file inbox e log. Molto spesso i kit psyBNC vengono utilizzati per connettere sono un controllo centralizzato un determinato numero di server compromessi allo scopo di formare botnet più o meno numerose, esistono infatti versioni molto sofisticate dei bouncer che includono funzioni di controllo remoto e di istruzione dei comandi.
La rilevazione dei bouncer malevoli è spesso difficoltosa dato che la maggior parte degli antivirus per Unix e Linux ignora la presenza di questi processi e non rileva come nocivi i binari sottoposti ad analisi. L’identificazione di queste infezioni è possibile attraverso :
- l’analisi dei processi sospetti
- l’analisi delle connessioni di rete sospette, dirette verso le porte IRC come la 6667
- l’analisi del traffico di rete
La presenza dei bouncer malevoli è inoltre molto spesso silenziosa e la possibilità di rilevazione varia in base alla quantità di traffico che transita attraverso il server infetto.
Servermanaged.it è composta da un team che opera da circa 10 anni nei settori dell’amministrazione di sistema e del supporto tecnico per infrastrutture server. Con la moltiplicazione degli ambienti server virtuali e dedicati, a portata di utente, lo staff ha trasformato l’assistenza on-site in assistenza remota, globalizzando il raggio d’azione.
Puoi contattare lo staff tecnico e commerciale di servermanaged.it via :
Skype: servermanaged
Ticket: https://account.servermanaged.it
Email: info@servermanaged.it
Post simili: