Super mes vacances, Remote Exim Exploit In the Wild

exim
Super mes vacances, je laisse le serveur pour trois semaines en roue libre, de la neige du soleil, la belle vie !
A mon retour, je commence par faire quelques geekeries, et je m’aperçois d’une erreur lors de l’installation d’un paquet.
A ma grande surprise, ma partition systeme est pleine, jusque la cela pourrait être possible, mais bon un serveur avec une debian, le var déporté (déjà moins), et surtout que ma partition root fait 10Go, donc il y a un soucis.
J’inspecte avec différentes recherches, les derniers fichiers crées
# find / -type f -ctime -10
trop de résultat (mail,log…), j’ajoute des paramètres pour exclure, les différentes partitions autre que root
# find /  -name "media" -prune -o -name "var" -prune -o -type f -ctime 10 -print
toujours trop de résultat et pas vraiment cohérent avec ce que je recherche d’ailleurs, donc je fais une nouvelle recherche par poids qui après quelques tatonnements donne ceci, avec quel résultat !!
# find /  -name "media" -prune -o -name "var" -prune -o -type f -size +40000k -print
-rwxr-xr-x 1 root root  4125360120  jan  5 16:24 /usr/share/locale/ru/sipscan7.1/nohup.out
Je fini par trouvé que ce fichier soit disant, « un fichier de sortie » est un exécutable de plus de 4Go, et aussi un scanner de voip, avec aux grandes âmes des droit root ! arg. Par la même occasion je trouve un nouvel utilisateur « sysgames » qui serait en train de jouer avec mon serveur.
Dans cet utilisateur, aucun fichier, rien.. La pression commence à monter, je coupe le serveur de sa connexion internet, clack ! fini..
N’ayant, jamais été confrontré à une intrusion, je me sais pas trop par ou commencer, et je n’ai pas envie de formater et remonter le serveur sans savoir, et espérer que ça ne recommence pas.
J’installe chkrootkit, et rkhunter, et je patiente… 1… 2… 3…
[13:33:27] /usr/sbin/unhide                                  [ Warning ]
[13:33:27] Warning: The file '/usr/sbin/unhide' exists on the system, but it is not present in the rkhunter.dat file.
[13:33:28] /usr/sbin/unhide-linux26                          [ Warning ]
[13:33:29] Warning: The file '/usr/sbin/unhide-linux26' exists on the system, but it is not present in the rkhunter.dat file.
[13:36:33]   Checking if SSH root access is allowed          [ Warning ]
[13:36:33] Warning: The SSH configuration option 'PermitRootLogin' has not been set.
Okay, même mon root password est bien costaud, plus jamais monsieur…. Mais à la fois je n’ai pas l’air d’avoir d’autre problème..
J’examine les ports ouverts
# monserveur.org
PORT     STATE    SERVICE
22/tcp   open     ssh
25/tcp   open     smtp
80/tcp   open     http
111/tcp  open     rpcbind
443/tcp  open     https
993/tcp  open     imaps
995/tcp  open     pop3s
8080/tcp open  tomcat
A part rpcbind, qui me fait soucis, disons que j’aurais pu avoir fermé jusque là, c’est pas vraiment anormale tout çà.
Quelques lectures qui me conseillent de regarder les taches cron :
# crontab -l
# m h  dom mon dow   command
*/6 * * * * /usr/bin/php -q /var/www/loadavg/logger.php >/dev/null 2>&1
# crontab -u sysgames -l
no crontab for sysgames
Je vérifie les autres crons, tout à l’air d’être normal…
Je continue mes recherches avec le users sysgames (rien)
# find / -user sysgames
Je recherche les fichiers avec SUID de mini 4000 (le processus a les droits du propriétaire du programme exécuté) pour voir un peu si quelques choses aurait changé
# find / -perm +4000 -exec ls -lrt {} \;
-rwsr-xr-x 1 root root 6759 jan  7 21:53 /var/spool/exim4/s
-rws--S--- 1 root root 9859 jan  7 21:53 /sbin/shs

Super mes vacances, je laisse le serveur pour trois semaines en roue libre, de la neige du soleil, la belle vie !A mon retour, je commence par faire quelques geekeries, et je m’aperçois d’une erreur lors de l’installation d’un paquet.A ma grande surprise, ma partition systeme est pleine, jusque la cela pourrait être possible, mais bon un serveur avec une debian, le var déporté (déjà moins), et surtout que ma partition root fait 10Go, donc il y a un soucis.
J’inspecte avec différentes recherches, les derniers fichiers crées

# find / -type f -ctime -10

trop de résultat (mail,log…), j’ajoute des paramètres pour exclure, les différentes partitions autre que root
# find /  -name « media » -prune -o -name « var » -prune -o -type f -ctime 10 -print
toujours trop de résultat et pas vraiment cohérent avec ce que je recherche d’ailleurs, donc je fais une nouvelle recherche par poids qui après quelques tatonnements donne ceci, avec quel résultat !!
# find /  -name « media » -prune -o -name « var » -prune -o -type f -size +40000k -print
-rwxr-xr-x 1 root root  4125360120  jan  5 16:24 /usr/share/locale/ru/sipscan7.1/nohup.out
Je fini par trouvé que ce fichier soit disant, « un fichier de sortie » est un exécutable de plus de 4Go, et aussi un scanner de voip, avec aux grandes âmes des droit root ! arg. Par la même occasion je trouve un nouvel utilisateur « sysgames » qui serait en train de jouer avec mon serveur.
Dans cet utilisateur, aucun fichier, rien.. La pression commence à monter, je coupe le serveur de sa connexion internet, clack ! fini..
N’ayant, jamais été confrontré à une intrusion, je me sais pas trop par ou commencer, et je n’ai pas envie de formater et remonter le serveur sans savoir, et espérer que ça ne recommence pas.
J’installe chkrootkit, et rkhunter, et je patiente… 1… 2… 3…
[13:33:27] /usr/sbin/unhide                                  [ Warning ][13:33:27] Warning: The file ‘/usr/sbin/unhide’ exists on the system, but it is not present in the rkhunter.dat file.[13:33:28] /usr/sbin/unhide-linux26                          [ Warning ][13:33:29] Warning: The file ‘/usr/sbin/unhide-linux26’ exists on the system, but it is not present in the rkhunter.dat file.[13:36:33]   Checking if SSH root access is allowed          [ Warning ][13:36:33] Warning: The SSH configuration option ‘PermitRootLogin’ has not been set.
Okay, même mon root password est bien costaud, plus jamais monsieur…. Mais à la fois je n’ai pas l’air d’avoir d’autre problème..
J’examine les ports ouverts
# monserveur.org PORT     STATE    SERVICE 22/tcp   open     ssh 25/tcp   open     smtp 80/tcp   open     http 111/tcp  open     rpcbind 443/tcp  open     https 993/tcp  open     imaps 995/tcp  open     pop3s 8080/tcp open  tomcat
A part rpcbind, qui me fait soucis, disons que j’aurais pu avoir fermé jusque là, c’est pas vraiment anormale tout çà.
Quelques lectures qui me conseillent de regarder les taches cron : # crontab -l # m h  dom mon dow   command */6 * * * * /usr/bin/php -q /var/www/loadavg/logger.php >/dev/null 2>&1 # crontab -u sysgames -l no crontab for sysgamesJe vérifie les autres crons, tout à l’air d’être normal…
Je continue mes recherches avec le users sysgames (rien) # find / -user sysgames Je recherche les fichiers avec SUID de mini 4000 (le processus a les droits du propriétaire du programme exécuté) pour voir un peu si quelques choses aurait changé # find / -perm +4000 -exec ls -lrt {} \; -rwsr-xr-x 1 root root 6759 jan  7 21:53 /var/spool/exim4/s -rws–S— 1 root root 9859 jan  7 21:53 /sbin/shs

<?php>

echo toto;

<?>

About Tekmans