Maman, Je me suis fait pirater mon serveur sous Linux ...
Par Ludovic Toinel le mardi 22 novembre 2005, 00:05 - Sécurité - Lien permanent

Cela faisait 2 ans et demi qu'il tournait sans aucun soucis et je viens de me faire hacké hier soir par des Roumains. Voici toutes les explications sur leur attaque et de la façon dont j'ai pu détecter leur attaque ....
J'ai tout d'abord analysé les ports ouverts de ma machine :
# netstat -pa
J'ai remarqué qu'il y avait des processus qui se connectaient à Undernet, un réseau IRC. J'ai donc vérifier mon hyposthèse :
#tcpdump -X -i eth0 dest port ircd
En analysant les trames sniffées, j'en ai conclu qu'il s'agissait bien de trames IRC, je recevais en effet des "IRC PING" de Undernet.
En réalisant un :
#ps -eaf | grep 2290
2290 étant le port que j'ai noté lors de ma dernière commande, j'ai relevé un processus anormal qui tourne sous le nom de xinetd avec les droits de apache. Chose qui ne devrait jamais arriver sur un système ....
Je me suis donc précipité dans mon repertoire /proc/2290 pour analyser le processus qui était en train de tourner, et voici ce que j'ai découvert :
En analysant le fichier d'environnement associé au processus, j'y ai découvert la cause du problème :
REQUEST_URI=//cgi-bin/awstats/awstats.pl?configdir=%7cecho%20%3becho%20b_exp%3bcd%20%2ftmp%2f%2e%7e%3bexport%20PATH%3d%3bxinetd%3becho%20e_exp%3b%2500
Louche la requête n'est-ce pas ? Cela me semble tout simplement l'utilisation d'un trou de sécurité de AWSTAT ... En plus de cette variable, voici une variable intéressante :
REMOTE_ADDR=83.16.79.166
Il s'agit de l'adresse de la machine qui a piraté mon serveur. Je me suis donc amusé à scanner la machine cible :
nmap -O 83.16.79.166
Et j'y ai découvert des choses intéressantes :
Interesting ports on adb166.internetdsl.tpnet.pl (83.16.79.166): (The 1646 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 80/tcp open http 443/tcp open https 465/tcp open smtps 587/tcp open submission 993/tcp open imaps 995/tcp open pop3s 10000/tcp open snet-sensor-mgmt
Tout d'abord la machine est une machine polonaise qui est connectée à de l'ADSL, chez le FAI TPNet, l'équivalant de notre Wanadoo local ... Ensuite cette machine semble avoir beaucoup de ports ouverts .... Je reconnais qu'il s'agit que des ports des principaux services : pop,smtp, ftp,ssh .. Le "-O" du nmap m'a permis de savoir qu'il s'agit en fait d'une machine i686 sous Linux :
SInfo(V=3.45%P=i686-pc-linux-gnu%D=11/21%Time=43824F70%O=21%C=1)
Deux hypothèses viennent à mon esprit, soit cette machine correspond à la personne qui a piraté mon serveur, soit c'est un relai qui a été utilisé à l'insu de son propriéraire. Pour vérifier ces hypothèse, je décide de collecter plus d'informations sur cette machine :
pundit root # telnet 83.16.79.166 25 Trying 83.16.79.166... Connected to 83.16.79.166. Escape character is '^]'. 220 www.sp342.waw.pl ESMTP Sendmail 8.13.4/8.13.3; Tue, 22 Nov 2005 01:02:57 GMT
Son serveur de mail est paramêtré pour relayer le courrier de "www.sp342.waw.pl" .... Pas vraiment informatif ...
dig @83.16.79.166
Son serveur DNS ne semble pas contenir de domaine propre
http://83.16.79.166
Un beau logo "Under Construction"
Zarbbb ...............
Je continu donc mes recherches la où j'en étais tout à l'heure, c'est à dire dans le repertoire "/proc/2290" Et la je vois un beau lien "cwd" pointant vers mon répertoire /tmp/
Un beau petit fichier boti.tar.gz ... Cela me rappelle quelque chose tout cela, il ne s'agirait pas du bot IRC ?
En fouillant un peu, je découvre le repertoire où celui-ci a été installé : /tmp/.~
Un petit "ls" et la je découvre l'arme du crime
un bot irc au doux nom de "checkmech", je sauvegarde toute les données associé au Bot dans un répertoire sur et je kill le processus 2290 pour que le bot se déconnecte de l'IRC :
kill -9 2290
Je revérifie que le bot est bien mort en réalisant un :
netstat -na
Et là je découvre que tout est fermé, je peux donc continuer mon investigation, le bot est bien mort ... Je jette un oeil dans le fichier de configuration du bot "mech.set" et je découvre tous les paramètres du bot de mon pirate.
SERVER 195.204.1.132 SERVER 66.198.80.67 SERVER 193.110.95.1 SERVER 195.54.102.4 SERVER 217.106.2.92 SERVER 205.252.46.98 SERVER 66.28.140.14 SERVER 194.134.7.194 SERVER 132.207.4.32 ENTITY x PASS mafia PORT 31337
###BOT 1### NICK isp1 USERFILE 1.user CMDCHAR - LOGIN marcela IRCNAME Deschide Gura Sã-ti Predau Legãtura MODES +i-ws HASONOTICE TOG CC 1 TOG CLOAK 1 TOG SPY 1 SET OPMODES 6 SET BANMODES 6 CHANNEL #akka TOG PUB 1 TOG MASS 1 TOG SHIT 1 TOG PROT 1 TOG ENFM 0 SET MKL 7 SET MBL 7 SET MPL 1 ...... etc ....
Les bots utilisés portent donc le nom de ispn ou n s'incrémente de 1 en 1.
Un petit coup d'oeil dans le fichier "mech.session" :
tog SPY 1 channel #sellers tog AOP 1 channel #ISP tog AOP 1 channel #Sh3ll tog AOP 1 channel #kr tog AOP 1 channel #º tog AOP 1
Les bots ont donc été utilisés pour squatter ces channels IRC .... Je me rend donc dans ces channels, et je me fait jetter des 3 premiers qui sont protégés par des mots de passe. Je continue ma route ... #º Haaaaa .... J'halucine .. Pleins de bot ... le truc de fou ..
Bon mon investigation s'arrête ici, cela ne sert à rien d'aller plus loin dans mes recherches .... Juste la conclusion de l'article, si vous utilisez AWSTATS, désinstallez le de suite !!
Voici les identité des pirates :
handle dani mask *!*@danylo.users.undernet.org
et
handle gang mask *!*@Romania.users.undernet.org
Je vais réinstaller Snort sur ma machine 
Dernières News
Nuage de Tags
Archives
RSS des articles
Souscrire par email



Commentaires
Rhhhhaaaa, mais comment on fait si on utilise Awstats dans un envirronnement de prod avec des centaines de sites ?
Sinon ce matin, j'ai aussi eu un serveur attaqué, mais c'était plus bourrin : un gros DOS sur le port 25.
hum...
j'ai pas encore eu ce problème...
par contre, j'ai pas bien compris comment tu a fait pour voir qu'il y avait des processus qui se connectaient à undernet...
C'est ça le fait d'utiliser des architectures du type x86... Beaucoup plus de probabilités d'avoir des exploits du type buffer overflow...

JS : Je n'arrivai plus du tout à me connecter à Undernet, c'est comme ça que j'ai vu qu'il y avait un truc qui était bizarre ...
wahhh en tout cas heureusement que tu as remarqué la chose...
ta methode d'analyse et bine détaillée merci pour ca ProSpeRe
Pour continuer a utiliser ton awstats, il suffit de ne pas l'utiliser en cgi, mais de lui demander de générer des pages html dans un cron...
Bien sur, il ne faut pas oublier de retirer le scriptalias dans la conf d'apache...
Snort n'était pas installé avant que le serveur soit en fonction? Ouch...
Apparement il y à toujours des victimes...
Tu utilisais quel version de awstats aussi. J'ai vu sur plusieurs site qu'en fait c'etait d'ancienne version de awstat qui posait ce probleme. Si ma mémoire est bonne c'etait au temps jadis de la version 6.2
Une version assez récente pourtant ...
Hello
Moi aussi je me suis fait pirater toute la semaine derniere avec ces bots irc.
Mais j'avais aussi un programme du nom r0nin qui tournait sur mon serveur avec des droits apaches, sur le port 1666.
Des que j'effaçais, le tout revenait dans les heures qui suivent, et pour arréter le tout j'ai installé un mod apache qui s'appele mod_security, et depuis plus de problemes, mais je regarde de temps en temps.
gwadalou
cooooooooooool tes bon tu peut m apprendre stp
<Name: Welcome In To My World !
voila le whois de celui qui a hacker ton server il est ave tte une bandes de romains qui se croient pour des durs mais t en fais pas j ai réussi a introduir dans leur server.
salut a tous je suis debutant sous linux et je trouve sa super cool parce que windows je connais par coeur donc sa soule et j'ai moin de risque d'avoir des virus.j'ai la version ubuntu et j'essaye d'apprendre un peu cette version je vois qu'elle a pas mal d'option.pas mal la méthode d'analyse felicitations. @+
T'as quand même eu un sacré coup de chance que le serveur telnet ne t'ai pas demandé un login et un mot de passe ...