Siguiendo un poco la historia de ayer, un reporte mas detallado. Antes de ir a los bifes, quiero decir que una de las máquinas que ayer dije que estaba infectada no lo estaba. Descartando esa máquina podemos agregar otro factor común que no me gusta ni mierda: yo tengo usuario en todas, pero no en todas tengo sudo. También se agregó otra máquina de mi casa, que tiene Apache, pero no en el puerto 80, no al menos desde fuera.

Como comenté, lo instalado está en /usr/lib/libb/... /. El contenido es el siguiente:

$ ls -laR
.:
total 654
drwxr-xr-x 3 mdione mdione    152 feb  1 09:07 .
drwxr-xr-x 3 mdione mdione    280 feb  1 09:07 ..
-rw-r--r-- 1 mdione mdione   1638 ene 10  2006 bugfalse.c
-rw-r--r-- 1 mdione mdione   2369 ene 10  2006 clear.sh
drwxr-xrwx 3 mdione mdione    984 ene 10  2006 rk
-rw-r--r-- 1 mdione mdione 657610 ene 10  2006 rk2.tgz

./rk:
total 1609
drwxr-xrwx 3 mdione mdione    984 ene 10  2006 .
drwxr-xr-x 3 mdione mdione    152 feb  1 09:07 ..
-rw-r--r-- 1 mdione mdione    382 mar  5  2004 .b
-rw-r--r-- 1 mdione mdione    427 ago  7  2002 brute.sh
-rwxr-xr-x 1 mdione mdione 116352 mar  5  2004 chfn
-rwxr-xr-x 1 mdione mdione 115828 mar  5  2004 chsh
-rw-r--r-- 1 mdione mdione    123 mar  6  2002 desuid.sh
-rw-r--r-- 1 mdione mdione    249 ago 14  2002 dlog
-rwxr-xr-x 1 mdione mdione  54041 mar  5  2004 du
-rwxr-xr-x 1 mdione mdione  57296 mar  5  2004 find
-rwxr-xr-x 1 mdione mdione 137820 mar  5  2004 inetd
-rw-r--r-- 1 mdione mdione  12818 mar  5  2004 jeje
-rwxr-xr-x 1 mdione mdione  21306 mar  5  2004 killall
-rw-r--r-- 1 mdione mdione  54228 jun  7  2001 libshadow.a
-rw-r--r-- 1 mdione mdione    644 jun  7  2001 libshadow.la
-rwxr-xr-x 1 mdione mdione  47730 jun  7  2001 libshadow.so.0.0.0
-rwxr-xr-x 1 mdione mdione  38235 mar  5  2004 locate
-rw-r--r-- 1 mdione mdione  40416 jun  7  2001 login
-rw-r--r-- 1 mdione mdione    205 ago  7  2002 loginc
-rwxr-xr-x 1 mdione mdione  96895 mar  5  2004 ls
-rwxr-xr-x 1 mdione mdione 155494 mar  5  2004 ls2
-rwxr-xr-x 1 mdione mdione  82628 mar  5  2004 lsof
-rwxr-xr-x 1 mdione mdione  54152 mar  5  2004 netstat
-rw-r--r-- 1 mdione mdione    683 ago 14  2002 netstat.c
-rw-r--r-- 1 mdione mdione   4097 ago 14  2002 ovas0n.c
drwxr-xr-x 2 mdione mdione    200 ago 16  2002 pb
-rwxr-xr-x 1 mdione mdione  84568 mar  5  2004 ps
-r-xr-xr-x 1 mdione mdione  48285 mar  5  2004 ps2
-rw-r--r-- 1 mdione mdione  10641 may 20  2002 psf.c
-rwxr-xr-x 1 mdione mdione  12024 mar  5  2004 pstree
-rwxr-xr-x 1 mdione mdione   3758 mar  5  2004 rk.sh
-rw-r--r-- 1 mdione mdione    548 ago 14  2002 solaris
-rw-r--r-- 1 mdione mdione  27816 jun  7  2001 su
-rw-r--r-- 1 mdione mdione    397 abr  7  2003 suid
-rwxr-xr-x 1 mdione mdione  28476 mar  5  2004 syslogd
-rwxr-xr-x 1 mdione mdione  70145 mar  5  2004 top
-rwxr-xr-x 1 mdione mdione 155496 mar  5  2004 vdir
-rwxr-xr-x 1 mdione mdione  17851 ene 13  2004 wipe
-rw-r--r-- 1 mdione mdione  10027 jun  7  2001 wipe.c

./rk/pb:
total 53
drwxr-xr-x 2 mdione mdione   200 ago 16  2002 .
drwxr-xrwx 3 mdione mdione   984 ene 10  2006 ..
-rw-r--r-- 1 mdione mdione   422 jul  1  2001 Makefile
-rw-r--r-- 1 mdione mdione  3463 mar 13  2000 a-p.c
-rwxr-xr-x 1 mdione mdione 13766 jul 26  2001 ap
-rw-r--r-- 1 mdione mdione  4871 mar 13  2000 icmplib.h
-rwxr-xr-x 1 mdione mdione 15004 jul 26  2001 selver
-rw-r--r-- 1 mdione mdione  2567 jul  1  2001 selver.c

Cosas interesantes en él:

bugfalse.c es una reimplementación de /bin/false que encontré andando al menos en el server de mi laburo. Ésta retorna 1 normalmente, pero si rápidamente se le ingresa una password, devuelve un shell como root. Para eso se instala setuid y setgid:

$ ls -l /bin/false
-rwsr-xr-x  1 root root 11612 2004-07-16 08:37 /bin/false

clear.sh fue sacado de "raza mexicana". Es para borrar logs.

a-p.c es un callbacker. Envía un paquete ICMP a una dirección, recibe como respuesta un comando y lo ejecuta.

selver.c es un servidorcito que recibe un paquete ICMP, abre un puerto y enchufa bash en él. El código tiene perlitas como:

if(strstr(buffer, "quit")) {
a++;
exit(0);
}

(la indentación es del original).

brute.sh lanza procesos como para hacer cosas en batch.

jeje es la salida de un strace de una corrida de vdir. En algún momento vemos un hostname "Ginebra-Rulez" en la salida de una llamada a uname(). Sólo encontré referencias al basquet filipino. No le veo más nada interesante.

loginc es un bash script que simula ser el viejo login, pero guarda passwds en /var/tmp/.oracle1.

ovas0n.c lo podemos encontrar por toda la red. Otro servidorcito que arranca bash.

psf.c cambia el comando reportado en las salidas de ps, top y otros. Bastante educativo porque explica exactamente cómo lo hace.

rk.sh es el instalador de todos los otros binarios que vemos con nombres usuales: ls, ps, etc.

wipe.c es otro log cleaner. En particular éste es el que sabe borrar entradas de /var/log/{b,u,w}tmp.

Por último, estuve buscando a otros en la red que le pueda haber mordido esto. Sólo encontré a un ponja (ver entradas del 10/11/2001; sí, 2001) que no le entiendo una goma. Pero si lo traducimos con google o con babelfish sale en un lado la palabra "Argentina", que es de donde parece más le entraron :-|.

En fin, es todo por ahora.

sysadmin security