Forensia de datos o ¿Cómo darse cuenta que ya te hackearon?

Post on 06-Apr-2015

135 views 1 download

Transcript of Forensia de datos o ¿Cómo darse cuenta que ya te hackearon?

Por: Alfredo Camposalfredo.campos@gmail.com

http://alfredocampos.blogspot.com

Algunas precisiones

Hacking◦ ¿Para qué hacerlo?

◦ ¿Cómo hacerlo?

Hackeo ético

¿Cómo saber que ya me hackearon?

Una ves comprometido un sistema, ¿qué sigue?

Establecimiento de una metodología.

Análisis forense de un sistema.

Análisis de la información obtenida

Conclusión

¿Preguntas?

Hacker / Cracker◦ Today, mainstream usage mostly refers to computer

criminals, due to the mass media usage of the word since the 1980s. This includes script kiddies, people breaking into computers using programs written by others, with very little knowledge about the way they work. This usage has become so predominant that a large segment of the general public is unaware that different meanings exist. While the use of the word by hobbyist hackers is acknowledged by all three kinds of hackers, and the computer security hackers accept all uses of the word, free software hackers consider the computer intrusion related usage incorrect, and refer to security breakers as "crackers" (analogous to a safecracker).

White Hat Hacker

Black Hat Hacker

Hobby

Ataques a la competencia

Irrupción a la privacidad

Robo de datos sensibles

Abuso de los recursos de terceros

Revisión de seguridad

Buffer overflows

SQL Injection

XSS

Robo de sesión

Man in the middle

ARP spoofing

IP spoofing

Shellcodes

Etc, etc

Revisar estado de la seguridad de un sistema o una red.

Hace lo mismo que un hacker pero bajo permiso.

Modelos de hackeo ético.◦ White box

◦ Black box

◦ Gray box

Depende del objetivo para el cual haya sido tomado el sistema:◦ Abuso de recursos de cómputo.

CPU

Bandwitdh

Disco duro

◦ Ataques a otros sistemas.

DOS / DDOS

Zombies

◦ Robo de información

◦ Aprendizaje

Determinar:◦ ¿Cómo se obtuvo el acceso?

◦ ¿Qué acciones llevó a cabo el atacante?

◦ ¿Cuál es el nivel de compromiso del sistema?

◦ ¿Cuál es la línea de tiempo?

◦ ¿Es parte de un ataque más grande?

◦ ¿Existe la posibilidad de corrupción de datos?

Obtención de imágenes del sistema afectado

Revisión de la versión del sistema

Listado de archivos

Detección de archivos ocultos

Registro de Windows

Revisión de programas instalados

Programas de los usuarios

Programas usados

Tareas programadas

Arranque de programas de inicio

Detección de código malicioso

Detección de archivos escondidos

Recuperación de archivos borrados

Revisión de memoria.

Rastreo de archivos temporales.

Investigación de usuarios.

Documentos y archivos.

Recuperación de bitácoras.

Análisis de la información obtenida.

Generación de un reporte técnico.

Generación de un reporte ejecutivo.

Escenario:◦ 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.◦◦ Ahora es necesario determinar si existió un ingreso no autorizado, cómo ◦ ocurrió y el alcance del daño al sistema y a la información contenida ◦ en él.

Verificamos que no haya sido alterada◦ Checamos las sumas md5. Para el archivo

descomprimido debe ser: ◦ > md5sum windows2003.img◦ 062cf5d1ccd000e20cf4c006f2f6cce4

Verificamos que el tipo de archivo coincida al menos con la imagen booteable de un disco duro de Windows 2003.◦ > file windows2003.img

Montamos la imagen para tener acceso a los archivos◦ > filedisk /mount 0 c:\tools\images\windows2003.img

z:

Cargamos la imagen en el Forensic ToolKit (FTK)

Revisión de la versión del SO◦ > cat /cygdrive/z/boot.ini◦ El registro está en (rfv | Registry File Viewer): \windows\system32\config (XP y 2003) ?

\windows\system32\config\system (NT) ?

\windows\system.dat

Extracción de datos:◦ Todos los archivos:

> find /cygdrive/z/ -printf “%m;%Ax;%AT;%Tx;%TT;%Cx;%CT;%s;%p” > /cygdrive/c/tools/casos/archivos.txt

◦ Archivos ocultos◦ > hfind z:\ > /cygdrive/c/tools/casos/ocultos.txt

Programas instalados en Windows◦ Archivo: \Windows\system32\config\software◦ Llave: Microsoft\Windows\CurrentVersion\Uninstall

Programas instalados por los usuarios◦ Archivo: \Documents\Settings\*\NTUSER.DAT◦ Llave: HKEY_CURRENT_USER\Software

Programas usados recientemente◦ Archivo: \Windows\system32\config\software◦ Llave: Microsoft\Windows\CurrentVersion\AppPaths◦ Archivo: \Windows\system32\config\software◦ Llave: HKEY_LOCAL_MACHINE\Software

Recapitulación:◦ Se trata de un sistema Windows 2003.

◦ Software adicional:

Apache

PostgreSQL

PHP

PgAdmin III

MySQL AB

Mozilla

BitTorrent

MS Messenger

Tareas programadas:◦ > ls –la /cygdrive/z/windows/tasks/*.job

Programas de inicio:

Lugar Descripción

\Documents and Settings\%User%\Start Menu\Programs Folder de inicio del usuario.

\Documents and Settings\All Users\Start Menu\Programs\Startup Folder de inicio de todos los usuarios

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit

Inicia programas al arranque del sistema

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Policies\Explorer\RunHKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Policies\Explorer\Run

Código malicioso:◦ Se hallaron algunas trazas de Addware.MediaTicket, y

Adware.DollarRevenue

Alternate Data Streams:◦ > sfind z:\

Recuperación de archivos eliminados◦ Archivos con PID’s de Apache y MySQL.◦ Archivos de PostgreSQL y temporales.◦ Administrador: Caché de Internet (allservices[1].xml)

\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\0VAMEMD9

◦ Johnatan:

Directorios y archivos del historial de Internet Explorer

\Documents and Settings\Johnatan\Local Settings\Temporary Internet Files\Content.IE5\*

◦ Ver0k:

Archivos de Messenger, Imágenes, Acceso directo al Media Player.

Memoria de intercambio.◦ Se hallaron algunas trazas de llaves del registro de

Windows, pero nada de interés.

Directorios temporales.◦ Se hallaron binarios ejecutables en \Windows\Temp

> file /cygdrive/z/windows/temp/*

> grep UPD6F /cygdrive/z/windows/KB*.log

◦ Mostró que eran parte de la instalación de parches

Temporales de los usuarios.◦ Se revisaron %USERPROFILE%\Local Settings\Temp

reno: Sólo contiene residuos de páginas web

maick: Archivos de instalación de flash

administrador: Antispyware, archivos de firefox.

Investigación de usuarios.◦ Buscamos la fecha de modificación en las carpetas

de usuarios

> ls –lt /cygdrive/c/Documents and Settings/

◦ La fecha de creación de All Users y Default User es el 26 de enero, así como Local Service y Network Service, las cuales permiten iniciar sesión como un servicio, indicativo de que se usó Remote Desktop o similar. La primera cuenta creda fue maru, el mismo día y las últimas el 5 de febrero.

◦ Fecha de último acceso:

Se revisa la fecha de modificación del archivo NTUSER.DAT

> ls -la /cygdrive/z/Documents and Settings/*/NTUSER.DAT

◦ Revisamos la fecha de última creación de usuarios

Por CLI es con el comando dsadd.exe

> cd \Windows\system32

> dir /s dsadd.exe /TA

Para mmc

> dir /s mmc.exe /TA

El usuario ver0k se creó unas horas antes

Pertenencia de los usuarios:◦ Z:\Documents and settings\cacls *

◦ ¡Resulta que todo mundo es administrador!

Revisión de cookies◦ > ls /cygdrive/z/Documents and Settings/Cookies/*.txt

◦ > galleta “rutaDeLaCookie”

Historial de navegación◦ \Documents and Settings\*\Local Settings\History\History.IE5\

Recuperación de bitácoras◦ Servicios:

26 de enero de 2006

4:07 PM Se levantó el servicio Terminal Server

8:00 PM Se inició Apache

8:42 PM Se inició MySQL

8:55 PM Se reinició Apache

◦ Seguridad:

25 de enero de 2006

3:05 PM Inicio de la bitácora

26 de enero de 2006

Se instalaron Apache, PHP y MySQL

Modificación de reglas del firewall

27 de enero de 2009

28 de enero de 2009

Se registran errores relacionados con RAS, CHAP e IPSec. Además de las modificaciones correspondientes del firewall

5 de febrero de 2006

2:45 PM: El usuario Johnatan crea al usuario ver0k

Se revisan los servicios de admin de usuarios, conexiones y recursos compartidos (net y net1)

Se le asignan privilegios de admin a ver0k

2:46 PM: Se ejecuta el comando reg

2:47:21 PM: Se registra el primer acceso de ver0k, curiosamente por medio de Terminal Server

2:47:34 PM: ver0k utiliza Internet Explorer

2:47:42 PM: Se ejecuta regsvr32.exe. Registra DLL’s en el registro de windows.

2:47:43 PM: Ejecuta unregmp2.exe que resulta ser parte de la desistalación de Media Player 2

2:47:50 PM: El usuario Johnatan ejecuta ping

2:49:50 PM: ver0k ejecuta wordpad varias veces, al parecer observaba archivos del administrador

2:51:16 PM: Se ejecuta el binario del cliente de MySQL

3:04:14 PM: ver0k inicia MSN

3:14:27 PM: ver0k ejecuta MediaPlayer

3:33:50 PM: ver0k mira “Te quiero como a mi huevo” ;)

3:59:16 PM: ver0K ejecuta el administrador de MySQL

4:00:10 PM: ver0K se desconecta desde 70.107.249.155 (LUFERFU)

2:47:42 PM: Se ejecuta regsvr32.exe. Registra DLL’s en el registro de windows.

2:47:43 PM: Ejecuta unregmp2.exe que resulta ser parte de la desistalación de Media Player 2

2:47:50 PM: El usuario Johnatan ejecuta ping

2:49:50 PM: ver0k ejecuta wordpad varias veces, al parecer observaba archivos del administrador

2:51:16 PM: Se ejecuta el binario del cliente de MySQL

3:04:14 PM: ver0k inicia MSN

3:14:27 PM: ver0k ejecuta MediaPlayer

3:33:50 PM: ver0k mira “Te quiero como a mi huevo” ;)

3:59:16 PM: ver0K ejecuta el administrador de MySQL

4:00:10 PM: ver0K se desconecta desde 70.107.249.155 (LUFERFU)

Bitácoras de MySQL◦ En /apache/Apache/mysql/data/counters-

bin.000001 se halló que los últimos accesos fueron el 2 de febrero, por los usuarios acontreras (Alberto Contreras Zacarías, sysadmin) y ncanes (Napoleón Canes, Gerente de compras y abastecimiento).

◦ En counters.log se halló evidencia de la creación de un usuario llamado admin a las 14:00:15

Bitácoras de Apache◦ 30 de enero de 2006

17:28:30. En /apache/Apache/logs/access.log se hallaron trazas de herramientas de anàlisis de vulnerabilidades como Nikto, desde el mismo dominio.

◦ 4 de febrero de 2006

14:08:35. Se hallan trazas de herramientas de análisis de vulnerabilidades como Nessus, desde 84.18.17.15 (arrakis.es)

◦ 5 de febrero de 2006

13:57:37. Se hallan conexiones desde 70.107.249.150 hacia el sistema erp. Presumiblemente ver0k creó la cuenta admin

¿El sistema ha sido comprometido?◦ Sí, pero no ha sido hackeado. Un usuario logró el

acceso mediante una cuenta de usuario válida con autorizaciñon y privilegios.

¿Quién (desde dónde) viene el ataque?◦ El usuario fue ubicado en NY (US), con Verizon

Internet Services. Resulta extraño encontrar registros de la máquina LUFERFU, cuyo registro en google es como Luis Fernando Fuentes.

¿Cómo se realizó el ataque?◦ Comprometiendo la cuenta de usuario por medio

del envío de código malicioso capaz de explotar una vulnerabilidad de Media Player.

¿Qué hizo el atacante en el sistema comprometido?◦ Añadió una cuenta con privilegios de

administración en el web_erp,

Gracias por su asistencia.

Alfredo Campos◦ alfredo.campos@gmail.com

◦ http://alfredocampos.blogspot.com