Incident Response, Security and Forensics"

.

miércoles, 11 de febrero de 2015

INCIDENT RESPONSE (I): ADQUISICIÓN DE DATOS CON SCRIPTS


Hola lectores,

Hoy vamos a realizar una adquisición de evidencias en un entorno comprometido.

Para ello vamos a ver que tipos de entornos nos encontramos y como se produce está adquisición.

Hoy en día nos podemos encontrar estas situaciones a la hora de obtener información de uno o varios equipos:

  1. El equipo se encuentra encendido.
  2. El equipo se encuentra apagado.
  3. El equipo es virtualizado.
  4. El equipo se encuentra en la nube.

1.- EQUIPO ENCENDIDO

Si estamos en esta situación aplicaremos el siguiente axioma. Si esta encendido no apagadlo. Si está apagado no encenderlo. Una vez clarificado esta acción procederemos a tomar las siguientes evidencias (a grandes rasgos y no importa el orden).

  • Volcado de la memoria ram
  • Obtención del archivo pagefile.sys
  • Obtención del NTUSER.DAT
  • Prefetch
  • Procesos, sesiones, conexiones, tareas, políticas, configuración de red, protocolos...
  • Ficheros del registro (SAM, SECURITY, SOFTWARE...)
  • Ficheros de Logs de windows
  • etc...

Las herramientas que utilizaremos no podrán ser intrusivas ni llevar instalación (es preferible que sean portables) y normalmente dispondremos de un disco duro externo con dos particiones, una de ellas con los programas y la otra para volcar los resultados.

Una vez lo hemos obtenido tiraremos del cable de alimentación apagando el equipo de forma abrupta y nunca lo haremos de forma ordenada ya que puede haber algún programa o proceso que elimine información precisa y necesaria. Si se trata de un portátil quitaremos la batería.

2.- EQUIPO APAGADO

Perdemos la volatilidad, es decir todo aquello que esta en ram. Aun así es una buena forma y se obtiene mucha información.

Procederemos directamente a la realización del clonado. Una vez realizado buscaremos evidencias como:

  • Prefetch
  • Datos de navegación
  • Temporales
  • Pagefile.sys (si está disponible)
  • Registro de windows
  • Perfiles del usuario
  • Ficheros borrados
  • etc...

Es importante tener en cuenta las herramientas de clonado. Con un cd-live tardaremos en clonar una eternidad al contrario de hacerlo con una clonadora.

3.- EQUIPO VIRTUAL

Otra de las mejores formas, se le pide al administrador de sistemas que nos haga un clonado virtual y listo. Dispondremos de múltiples formas de buscar evidencias según hemos visto en el punto 1 y 2.

4.- EQUIPO EN LA NUBE

Complicado el tema, ya que dependemos del proveedor y las políticas que hayamos aceptado. 

Cuando no tenemos acceso a poder instalar nada por la causa de que el hosting en la nube sea compartido con otros clientes o bien este distribuido por medio de paneles de administración la cosa se complicara. Para ello hay que solicitar una entrega de datos (lo cual perderemos la obtención de datos eliminados) o bien un clonado (si el equipo es en propiedad). 

Ambas formas y dependiendo del tipo de caso que estemos tratando tienen que ser bajo requerimiento judicial (vamos que las tiene que solicitar un juez.)

ADQUISICIÓN DE DATOS UTILIZANDO SCRIPTS

Una vez tenemos claro los puntos anteriores hay que disponer de una caja de herramientas desde la que podamos ejecutar los programas necesarios para la obtención de evidencias.

Las herramientas que dispongo en un pendrive o disco duro externo son las siguientes:

Nombre Propósito Web
7-Zip Herramienta para comprimir http://www.7-zip.org/
cports.exe Muestra puertos abiertos http://www.nirsoft.net/utils/cports.html
Cprocess.exe Muestra procesos abiertos http://www.nirsoft.net/utils/cprocess.html
dd.exe Permite el clonado de discos http://www.chrysocome.net/dd
DumpIt.exe Vuelca la memoria ram a fichero http://www.moonsols.com
ExtractUsnJrnl.exe Extrae datos de la $MFT https://github.com/jschicht/ExtractUsnJrnl
forecopy_handy.exe Herramienta para copia de grandes volumenes de datos https://code.google.com/p/proneer/downloads/list
FTK Imager.exe Herramienta para la adquisición de datos y discos http://www.accessdata.com/support/product-downloads
ftkimager.exe La misma que la anterior pero en modo comando http://www.accessdata.com/support/product-downloads
LastActivityView.exe Muestra la actividad de uso en windows http://www.nirsoft.net/utils/computer_activity_view.html
Hash Crea huellas de ficheros, carpetas y discos http://md5deep.sourceforge.net/
nmap.exe Escaneador de puertos http://nmap.org/
PeStudio.exe Análisis de malware estático http://www.winitor.com/
Pinpoint.exe Herramienta de analisis web http://www.kahusecurity.com/tools/
PrcView.exe Visor de procesos http://www.softpedia.com/progDownload/PrcView-Download-3028.html
RamCapture.exe Volcado de RAM de Belkasoft  (32-bit) http://forensic.belkasoft.com/en/ram-capturer
RamCapture64.exe Volcado de RAM de Belkasoft (64-bit) http://forensic.belkasoft.com/en/ram-capturer
RawCopy.exe Herramienta de copia de estructuras NTFS (32-bit) https://github.com/jschicht
RawCopy64.exe Herramienta de copia de estructuras NTFS (64-bit) https://github.com/jschicht
Sysinternals Set de herramientas de sysinternals http://technet.microsoft.com/en-us/sysinternals/bb545021.aspx
TrueCrypt.exe Herramienta para encriptar volumenes, datos, etc N/A
Cygwin Utilidades de Linux que funcionan en windows N/A
WinAudit.exe Da información de un equipo windows http://winaudit.codeplex.com/releases/view/123516
WMIC Set de comandos que interactuan con WMI N/A
Windows Parser Obtiene metadatos de NTFS http://redwolfcomputerforensics.com/
CSC_Parser   Permite sacar información de la cache http://redwolfcomputerforensics.com/
gmail-offline-parser  Obtiene información de gmail http://redwolfcomputerforensics.com/
Internet-History  Obtiene información de cookies, index.dat, history http://redwolfcomputerforensics.com/
Internet-Parser   Obtiene información de cookies, index.dat, history http://redwolfcomputerforensics.com/
Itunes-parser  Obtiene información sobre iTunes http://redwolfcomputerforensics.com/
Prefetch-Parser Obtiene datos sobre los ficheros prefetch http://redwolfcomputerforensics.com/
Skype-Parser   Obtiene información sobre Skype http://redwolfcomputerforensics.com/
Apache-Log-Parser  Hace informes de los logs de Apache http://redwolfcomputerforensics.com/
IIS-Log-Parser Hace informes de los logs de IIS http://redwolfcomputerforensics.com/
Recycle-Bin   Obtiene información de la papelera http://redwolfcomputerforensics.com/
Office-metadata-parser Obtiene información de los metadatos de office http://redwolfcomputerforensics.com/
RegRipper Obtiene información del registro de windows http://redwolfcomputerforensics.com/

Particularmente utilizaremos scripts para automatizar todos estos programas pudiendo utilizar Powershell, CMD, o VBS. Recordad que cuanto menos intrusivos mejor que mejor.

SCRIPTS...SCRIPTS...SCRIPTS

De esto hay mucho, yo particularmente y por experiencia utilizaría (en windows) o  bien CMD o WMIC ya que se encuentra en todas las versiones de Windows, mientras que por ejemplo PowerShell no se encuentra de forma nativa en Windows XP y hay que instalarlo manualmente.

Evidentemente en un entorno donde se encuentra Windows 7 u 8 es muy recomendable utilizar PowerShell.

Como decía hay muchos scripts en diversos lenguajes pero actualmente me decanto por estos cuatro, los cuales me han servido de base para ampliarlos o mejorarlos según mis necesidades:

  • Triage-IR - (Utiliza CMD)
  • LiveResponse (Utiliza CMD)
  • Tr3Secure (Utiliza CMD)
  • Kansa (Utiliza PowerShell)

TRIAGE-IR

Triage-ir es un script escrito por Michael Ahrendt. Obtiene la información del sistema, información de la red, secciones del registro, la información del disco y volcado de memoria. Una de las poderosas capacidades de triaje-ir está en obtener información de instantáneas de volumen.

Lleva una pequeña aplicación con GUI para que el uso sea más sencillo y permite hacer llamadas directamente a las utilidades.


Toda la información recopilada se vuelca en una carpeta nueva con la fecha y el nombre del sistema.


LIVE RESPONSE

Una de las mejores sin duda. Esta desarrollada por laboratorios Brimor y básicamente se compone de un ejecutable que va llamando a diferentes ficheros CMD que a su vez ejecutan herramientas previamente descargadas.


Es una de la más completa suite de adquisición de evidencias y el conjunto de scripts en CMD no tiene desperdicio.


Cada uno de ellos dispone de llamadas a las aplicaciones y es modular dado que se puede ejecutar en entorno de 32 y 64 bits.

Se puede descargar desde aquí. http://www.brimorlabs.com/Tools/LiveResponse.zip

TR3SECURE

Desarrollado por Corey Harrell. Es uno de los scripts que mejor definido está a la hora de organizar la información y de la cual destaca:

Preservación: Las adquisiciones las hace manteniendo permisos y timestamp de fechas.
Flexibilidad: Permite elegir el dispositivo donde almacenar las evidencias.
Gestión: Permite definir la estructura del caso que se está investigando. Muy importante cuando hay muchos.
Documentación: Cada caso tiene un registro de colección por lo que independientemente si los datos se recogen a partir de uno o diez sistemas, el analista sólo tendrá que preocuparse de la revisión de un registro.

La siguiente captura de pantalla muestra la parte del registro de la colección de los datos recogidos en el sistema.


Se puede descargar desde aquí: 

KANSA

Kansa es más un framework que un conjunto de scripts. Su potencial se encuentra en integrarlo en un sistema como Active Directory y consultar la lista de máquinas del dominio. Los resultados son espectaculares cuando tienes una red grande y necesitas aplicar consultas masivas.

image004

image005

Kansa actualmente se puede descargar desde aquí, https://github.com/davehull/Kansa

Conclusiones, muchas, para gustos los colores, lo importante es sentirse cómodo con los scripts que uno maneja. Estos que os he mostrado son unos pocos pero que con una dosis de paciencia y adaptándolos se pueden hacer grandes cosas.

De todas formas si quieres ver como se personalizan y aprender a utilizar "scripting" con diversos lenguajes y entre ellos WMI no te pierdas el curso de "Análisis Forense en profundidad" que desde SECURIZAME  ha organizado y del cual te puedes registrar desde aquí.

¡¡Saludos!!

8 comentarios:

Esto es invaluable. Muchísimas gracias por este post, aún no lo leí entero pero sé que va a ser genial. Gracias, tío!

Gran post y gracias por compartir tus conocimientos.... Me gustaría que realizarás uno pero de robo de propiedad intelectual especialmente en los diferentes sistemas operativos de Microsoft......

Este comentario ha sido eliminado por el autor.

Hola, excelente post!!, harás una entrada similar con unix/linux?

Tremendo post! A "Marcadores" y descargando al arsenal! Saludos!...

Excelente post, imprimiendo y descargandoooo

Muy buen post! Comparto con ustedes el link del sitio web de Alutel Mobility, una solución que permite el control de las personas y los vehículos de forma móvil focalizado en proyectos productivos, minería, petróleo gas, construcción. No se lo pierdan!

http://www.alutelmobility.com