C’est toujours désagréable de découvrir le matin que sa mailbox contient plus de 4000 mails “Undelivered Mail Return to Sender”… Le premier réflexe est de se dire qu’on a été victime de mail bombing, et qu’après un petit nettoyage il n’y paraitra plus rien!
Mais en y regardant de plus près, on se rend compte que les mails originaux ont effectivement été envoyés par notre serveur et qu’il s’agit de messages d’erreur authentiques!!! Une analyse plus approfondie s’impose donc.
On remarque vite que l’envoi de spam est toujours en cours: un des sites hébérgés sur notre serveur serait détourné à cette fin. De plus, une connexion sur un serveur IRC distant est active (port 6667)… On a vite fait de bloquer l’accès à ce site, de stopper le script perl connecté au serveur IRC et de vider la queue de ces mails indésirables.
Voici ce qu’a donné l’analyse post-mortem:
Logs apache
Tout a commencé ici:
On voit que le hacker (provenant apparemment du Brésil) a utilisé une faille joomla permettant de remettre à zéro le mote de passe de l’administrateur et gagner ainsi l’accès à l’interface d’administration.
Il a ensuite profité de cet accès pour uploader un ou plusieurs fichiers:
Finalement, on voit plusieurs centaines d’accès aux fichiers uploadés:
On voit à la fin qu’il est revenu vers 10:50 pour continuer son attaque mais à ce moment le site était bloqué, d’où l’erreur 403.
Fichiers uploadés
Au moins 4 fichiers ont été uploadés:
- bot.txt: un bot IRC scripté en perl.
On peut voir qu’il a été développé à l’origine par la “communauté FeeLCoMz” et qu’il se connecte au serveur irc irc.maisbrasil.org, sur le chan #RUAN et qu’il permet aux utilisateurs D4RK et FaTaLisTiCz_Fx de le contrôler. Il permet entre autres de lancer des scans pour trouver d’autres sites vulnérables (Joomla ou autres) et plein d’autres choses pas très légales… C’était lui le resonsable de la connexion sur le port 6667.
- c99.php: il s’agit d’un shell PHP plutôt dévastateur (en fonction de la configuration apache et php du serveur). Il a probablement été uploadé en premier et utilisé pour uploader les autres fichiers et lancer le bot IRC.
- 2.6.x: un exécutable ELF. Il s’avèrera plus tard être un shell basique (utilisé à travers c99.php?).
- rox.php: ce fichier ne se trouvait plus sur le serveur mais au vu du nombre d’accès (plus de 1700), il s’agissait probablement du script utilisé pour envoyer les spam.
Utilisation sur VM
Les fichiers qui ont pu être récupérés ont été transférés sur une machine virtuelle afin de les tester. Un serveur IRC tourne également sur cette machine et le bot sera configuré pour s’y connecter.
Voici à quoi ressemble le script c99.php une fois uploadé:
Quand je vous disais que c’était potentiellement dévastateur 🙂 On peut donc l’utiliser pour lancer le bot irc:
Et voici le résultat dans le chan spécifié: une fois le bot connecté, on peut lui envoyer des commandes.
Conclusion
En vrac:
- Il y a une floppée de script-kiddies voulant s’amuser sur internet
- Toujours mettre ses applications web à jour
- Analyser les logs
- Monitorer ses serveurs et détecter les situations anormales
- Connaître les attaques potentielles permet de mieux se défendre
Plus d’infos
http://en.wikipedia.org/wiki/Remote_File_Inclusion
http://www.zataz.com/forum/index.php?autocom=blog&blogid=1&showentry=24
http://www.martinsecurity.net/tag/rfi/