Está en la página 1de 34

Por: Alfredo Campos

alfredo.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\W
indows\load
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\ Inicia programas al arranque del
Winlogon\Userinit sistema
HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\P
olicies\Explorer\Run
HKEY_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