Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
APIA - 2010
Victor Pérez Roche
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Resumen de la sesión
Resumen de la sesión:
Teoría: Introducción Motivaciones para una intrusión Escenario de una intrusión/infección: El caso de las Botnets Obtención de evidencias La naturaleza de los archivos Análisis forense avanzado
Prácticas:
• Análisis de un entorno vulnerado real con las siguientes suites:• Sysinternals suite• GnuWin32• FoundStone Forensic Tools• Caine WinTaylor• WinHex
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Introducción
Ante un sistema vulnerado, aun reparando por donde se han “colado”, existe la posibilidad de que hayan instalado:
BackdoorsTroyanosKeyloggersBots…
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Introducción
El análisis forense busca conocer:
1.- Qué método utilizó el atacante2.- Qué actividades realizó (o está realizando)3.- Desde donde se realizó la intrusión4.- Qué daños se han producido en el sistema5.- ¿Puede volver a ocurrir?
El objetivo de la sesión además del análisis forense es el conocer más acerca del funcionamiento interno de los sistemas Windows
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Introducción
Sistema “vivo” Sistema “desconectado”
PROS• Fecha y hora del sistema• Memoria RAM activa• Procesos arrancados• Actividad de red, conexiones abiertas• Conexiones de Red• Usuarios conectados en el momento
CONS• Cualquier activdad “altera” el entorno
PROS• Análisis del sistema “congelado”• Multiples copias del entorno• Posibilidad de realizar hash• Mayor validez jurídica
CONS• Solamente disponemos del HDD
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Introducción
Existe la posibilidad de hacer una “imagen” de un sistema vivo y analizarla off-line
• Copia y envío de todo el sistema de ficheros (WinDD)• Volcado y envío de la memoria física del sistema
(Helix)
No se puede hacer análisis del archivo de paginación
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Motivaciones para una intrusión
Hace 25 años
• Grandes sistemas (VAX, Unix, etc..)• Poca disponibilidad de herramientas • Ataques manuales realizados por personas muy expertas en la materia• Objetivo: Obtener shell en la máquina destino
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Motivaciones para una intrusión
Hace 15 años
• Comienzo de las conexiones a Internet en los hogares españoles• Comienzo de la proliferación de tecnologías web (IIS)• Empiezan a aparecer las primeras herramientas para automatizar ataques• Infecciones masivas debidas a virus en el correo electrónico (Melisa, CIH, I Love You)• Dialers• Objetivo: Infecciones masivas
• CIH: 20-80 M$• Melissa: 200-300 M$• IloveYou: 10-15 B$
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Motivaciones para una intrusión
Hace 10 años
• Proliferación de las primeras conexiones de banda ancha (ADSL)• Intrusiones masivas con “objetivo”: Warez Scene, MP3, DivX…• Grandes infecciones: Code Red, Code Red II, Nimda, Sasser, Blaster…• Objetivo: Robo de ancho de banda y espacio en disco
• CodeRed: 2.6 B$ (1M de infecciones)• Sasser: 10 M$
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Motivaciones para una intrusión
Hace 5 años
Nuevos vectores de infección: (Navegadores, XSS, CSRF, SQLi, …) Altísima especialización en el desarrollo de nuevos sistemas de infección Gran capacidad de reacción ante nuevas vulnerabilidades Creación de entornos muy avanzados para explotar las vulnerabilidades
metasploit – [ http://www.metasploit.com ] ExploitDB – [ http://www.exploit-db.com/ ] …
Explosión de la Web 2.0: Nuevo entorno de infección Objetivo: Ordenadores zombies, robo de credenciales,
extorsión, etc…
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Motivaciones para una intrusión
Hoy en día
• Utilización de la tecnología como arma • Ataques dirigidos contra objetivos concretos con vulnerabilidades todavía no publicadas• Infección en dispositivos móviles (Android, Symbian, iPhone…) Objetivo: Ataques dirigidos, “guerra” tecnológica
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Motivaciones para una intrusión
Otras motivaciones:
[ www.zone-h.org ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
BOTNETS- Infecciones masivas de SO Windows, Servidores con CMS (Joomla,
WordPress…)
- Vías de propagación:
Vulnerabilidades de SO ya conocidas
RPC/DCOM, RPC/Locator, WebDAV, Network Shares, LSASS
buffer overflow, SQL Server, UPnP …
P2P (Ejecutables, cracks…)
Navegación por webs maliciosas
…
- iRC-BOTS: SpyBOT, SDBot, Agobot, Rbot …
Análisis Forense en Sistemas Windows
Escenario de una intrusión - BotNets
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
¿Cuántos son?-Botnet “Mariposa“, Feb 3, 2010 – 13 Millones de equipos
infectados- Se calcula entre 60 y 100 Millones de equipos infectados en todo el mundo.
Fuente: PandaLabs Q1_2010
Análisis Forense en Sistemas Windows
Escenario de una intrusión - BotNets
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Funcionamiento de una botnet
Soy ESP_8547HKEY2 ¿Que quieres que haga?
Intenta infectar a los equipos de tu red
Análisis Forense en Sistemas Windows
Escenario de una intrusión - BotNets
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Usos de las botnets
1.- Click Fraud
x10.000 hosts
Análisis Forense en Sistemas Windows
Escenario de una intrusión - BotNets
1 Click en un banner
0,000001 $
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
300 kbits
Usos de las botnets
1.- Distributed DoS (Denial of Service)
2003, DDoS contra eBay…
20.000 hosts = 5000$
24 de Febrero del 2006
ProBlogger.com
Yahoo, Amazon, Microsoft, Akamai…
ADSL 300 kbs upload
x10.000 hosts
3000 Mbps
Análisis Forense en Sistemas Windows
Escenario de una intrusión - BotNets
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Spamming
Proxy SOCKS v4/v5
Spam
Botnet 10k hosts
100$ USD/hour+ phishing, recolección de direcciones de correo, …
Análisis Forense en Sistemas Windows
Escenario de una intrusión
Se calcula que el 90% del spam enviado actualmente proviene de equipos zombies pertenecientes a alguna botnet (Fuente: PandaLabs Q1_2010)
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Robo de información sensible
Traffic Sniffing
Keylogging (PayPal, tarjetas de crédito…)
Claves de acceso a Juegos online (Diablo II, World of Warcraft…)
…
Análisis Forense en Sistemas Windows
Escenario de una intrusión
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
¿Solo para gurus?
NO! El código fuente está disponible en la red…
(Hack Tool) Rbot (v0.3.2) Source.rar(rbot)x0n3-Satan-v1.0-Priv8-By-CorryL{x0n3-h4ck}.rar
Phatbot C++ Source Code.rarVirus-Worm-Agobot.tar.bz2
...
Análisis Forense en Sistemas Windows
Escenario de una intrusión
El código origen de la BotNet “Mariposa“ fue comprado
por Internet
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Escenario de una intrusión
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Antes de empezar
Antes de empezar…
El análisis de un sistema siempre:
Es un proceso “farragoso” Tiende a ramificarse Va a llevar mucho más tiempo del que originalmente teníamos pensado dedicar Normalmente es imposible alcanzar un nivel de 100% fiabilidad
Es por eso que es conveniente saber cual es el objetivo que perseguimos antes de empezarlo.
Si no disponemos de tiempo → Formatear será más rápido Si no estamos dispuestos a llegar al “fondo” → Formatear será más seguro Si no vamos a obtener ninguna información de valor → Formatear será más útil
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Antes de empezar
Si a pesar de todo deseamos continuar…
Hace falta:
Ser extremadamente ordenado: Seguir un guión Tomar nota de todo lo que se encuentre: Papel y boli, notepad, etc… Ser diligente en guardar las pruebas encontradas Disponer de suficiente tiempo (“En 10 minutos esto no va a estar hecho”) Disponer de un entorno adecuado: Herramientas “a mano”
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Obtención de evidencias
Orígenes de información
Virus/Malware/Worms:
Procesos activos y actividad de los mismos Conexiones activas y puertos en escucha Servicios y arranque del sistema Sistema de ficheros (Contenido, Fechas de creación, modificación y acceso) Ficheros sospechosos Registro del sistema y otros logs
Intrusiones “manuales”:
Cuentas y perfiles de usuario Papelera de reciclaje Sistema de ficheros avanzado (Pagefile.sys, Alternate Data Streams…) Información de navegación por Internet Posible ocultación de datos con técnicas de rootkit.
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Presentación del entorno de Análisis
Imagen VMWare de un Sistema WindowsXP vulnerado
Usuario/apia
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Presentación del entorno de Análisis
Se trata de un análisis de un sistema “vivo”, lo más conveniente sería utilizar un CD que incluyese:
•Al menos incluye una versión “limpia” de CMD.EXE que corresponda al sistema operativo a analizar
•netcat o cryptcat
•Herramientas de sistema (ipconfig, netstat, date,time, net, arp ...) para las diferentes versiones de Windows y Service Pack
•pstools, listdlls, filemon*, regmon*, autoruns...
•hfind, fport, ntlast, ...
•Windows resource kit tools
•Un buen sniffer (wireshark, windump, ...)
•md5sum / md5deep
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #01: Información general del sistema
Varias posibilidades:
a) Utilizar el comando de sistema Windows systeminfo
C:\...\> systeminfo > #01_infoSistema.txt
b) Utilizar la utilidad psinfo de Sysinternals
C:\...\> psinfo -hsd > #01_infoSistema.txt
[ ¿Algo raro? ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #02: Procesos activos
Varias posibilidades:
a) Utilizar el comando de sistema Windows tasklist
C:\...\> tasklist > #02_listaProcesos.txt
b) Utilizar la utilidad psinfo de Sysinternals
C:\...\> pslist -t > #02_listaProcesos.txt
c) Administrador de tareas [Ctrl+Alt+Supr]
d) Process Explorer de SysInternals
Process TreeVisible Columns & Select ColumnsInterrupts & Deferred Procedure Calls (DPC)Drag & DropProcess PropertiesSearch online [ ¿Algo raro? ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #03 : Monitorizar la actividad de los procesos
#03.1: Verificar qué modulos cargan los procesos
Utilidad listdll de Sysinternals
C:\...\> listdlls > #03.1_listaModulos.txt
#03.2: Verificar qué manejadores están usando los procesos
Utilidad handle de Sysinternals
C:\...\> handle > #03.2_listaManejadores.txt
#03.3: Verificar la actividad en tiempo real de los procesos activos
Utilidad procmon de Sysinternals
[ ¿Algo raro? ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #03 : Monitorizar la actividad de los procesos
#03.4: Analizar el directorio c:\windows\prefetch
C:\...\> dir /o:d c:\Windows\prefetch > #03.4_listaPrefetch.txt
O con la utilidad WinPrefetchView de Nirsoft
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #04: Conexiones de red
Varias posibilidades:
a) Utilizar el comando de sistema Windows netstat
C:\...\> netstat -nabo > #04_listaPuertos.txt
b) Utilizar la utilidad tcpvcon de Sysinternals
C:\...\> tcpvcon -t > #04_listaPuertos.txt
c) Utilizar la utilidad fport de Foundstone
C:\...\> fport > #04_listaPuertos.txt
d) Utilidades gráficas como tcpview de Sysinternals o activeports
e) Tabla arp: C:\...\> arp –a
f) Tabla de rutas: C:\...\> route -print
[ ¿Algo raro? ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #05: Servicios del Sistema y Arranque automático
Para conocer los servicios y el estado de estos dos posibilidades:
a) Utilizar el comando de sistema Windows sc
C:\...\> sc query > #05.1_listaServicios.txt
b) Utilizar la utilidad psservice de Sysinternals
C:\...\> psservice -t > #05.1_listaServicios.txt
Para conocer lo que se arranca al incio del sistema
c) Usar la utilidad autorunsc de Sysinternals
C:\...\> autorunsc > #05.2_arranqueSistema.txt
c) Usar la utilidad gráfica autoruns de Sysinternals
[ ¿Algo raro? ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Como primera medida, guardar un listado completo de todos los ficheros de un disco:
C:\> DIR /t: a /a /s /o: d c:\ > #06.1_sistemaFicheros.txt
E investigar dentro de este listado.
También podemos utilizar la herramienta MacMatch
C:\> macmatch c:\ -a 2010-01-28:11.23 2010-01-28:12.00
Análisis Forense en Sistemas Windows
Paso #06: Sistema de ficheros y fechas de acceso
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Conocer los ficheros que hay abiertos en un determinado momento:
a) Localmente con la utilidad OpenedFilesView de NirSoft
C:\...\> openedfilesview /stext > #06.2_ficherosAbiertosLocal.txt
(tambien tiene gui)
a) Remotamente con la utilidad psfile de Sysinternals
C:\...\> psfile > #06.3_ficherosAbiertosRemoto.txt
Análisis Forense en Sistemas Windows
Paso #06: Sistema de ficheros y fechas de acceso
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #07 – Análisis de ficheros
Varios pasos
a) Identificación del tipo de fichero, utilidad file de GnuWin32
C:\> file _nombre_fichero
b) Búsqueda de cadenas de texto en un binario con strings de SysInternals
C:\> strings _nombre_fichero
c) Editor hexadecimal WinHex
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #08 – Analisis avanzado de Binarios
Tipos de archivos “maliciosos”
Paso #08.1 – Análisis automático del comportamiento de binarios
[ http://www.virustotal.com ] [ http://www.threatexpert.com ]
Complemento VirusTotal Uploader
O Norman SandBox
[ http://www.norman.com/microsites/nsic ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #08 – Análisis avanzado de binarios
Varios pasos
b) Volcado de memoria de un proceso con procdump de SysInternals
C:\...\> procdump _nombre_proceso
Luego podemos analizar el archivo dmp con strings o WinHex
Otros
c) Verificar aquellos exe y dll que no están firmados
C:\...\> sigcheck –e –u c:\windows
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #09 – Análisis del Registro del sistema
Windows almacena la mayor parte de la configuración del sistema en una serie de archivos que son conocimos como “Registro”. Estos se encuentran en el directorio %systemroot%\system32\config y están asociados a una sección del registro:
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #09 – Análisis del Registro del sistema
Claves interesantes:
Listado de ultimos ficheros abiertos y cerrados:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRUHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU
Listado de ultimos documentos abiertos:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Listado de ultimos procesos ejecutados:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
Listado de ultimas páginas visitadas:HKCU\Software\Microsoft\Internet Explorer\TypedURLs\
Aplicaciones instaladas y desinstaladas:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Sistemas de ficheros montados:HKLM \SYSTEM\MountedDevices
Se puede acceder fácilmente a ellas usando regjump de SysInternals
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #09 – Análisis del Registro del sistema
Con la utilidad RegRipper podemos automatizar el análisis forense de un archivo de registro de usuario:
Nota: La rama HKCU se encuentra en C:\Documents and Settings\Usuario\NTUSER.dat
RegRipper no funciona sobre ficheros de registro o hives abiertos, o bien tendremos que abrir un hive de un usuario con sesión cerrada o obtener los hives con el sistema off line (o FTK image)
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #09 – Análisis del Registro del sistema
Podemos revisar el registro de un sistema o las claves asociadas a un usuario mediante las siguientes herramientas:
• Regedit (Visor y editor del registro)• RFV (Windows Registry File Viewer de MiTec)• WRR (Windows Registry Recovery de MiTec) • Comando nativo XP FC (Compara ficheros) • Access Data Registry Viewer • Windiff (Herramienta para comparar ficheros)
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #10 – Registro de eventos
Los sucesos de un sistema Windows se almacenan y están igualmente en el directorio %systemroot%\system32\config. Son tres:
SysEvent.Evt. Registra los sucesos relativos al sistema SecEvent.Evt. Registra los sucesos relativos a la seguridad AppEvent.Evt. Registra los sucesos relativos a aplicaciones
Para acceder a la visualización: Inicio -> Ejecutar: “eventvwr”
Cada suceso tiene información sobre el momento en que ha tenido lugar y el entorno, para más información:
EventID: [ http://www.eventid.net ]
Windows Security Log Events[ http://tinyurl.com/2zyvun ]
Knowledge base Microsoft: [ http://www.microsoft.com/spain/technet/recursos/knowledge.mspx ]
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #10 – Registro de eventos
En un sistema especialmente crítico podemos habilitar la auditoría de determinado tipo de eventos:
Inicio -> Ejecutar -> gpedit.msc
Configuracion del equipo -> Configuracion de Windows -> Configuración de Seguridad -> Directivas locales -> Directiva de auditoría
Se pueden auditar el acceso exitoso o erróneo a un recurso.
Toda la información generada se almacenará en la rama SecEvent.Evt
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #10 – Registro de eventos
Análisis del registro de eventos
a) Utilidad logparser de Microsoft (Hay que descargarla)
C:\...\> logparser –i:EVT –o:DATAGRID “SELECT * FROM system”
Nota: Logparser es una herramienta muy potente para realizar búsquedas sobre distintos orígenes de datos y con posibilidad de generar distintas salidas:
Recomendación: VisualLogParser
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #11 – Cuentas y perfiles de usuarios
En ocasiones es conveniente repasar los usuarios de un sistema, para buscar posibles “nuevas cuentas”
Para esto, además de revisar el visor de sucesos para buscar eventos de nueva creación de cuentas, podemos ejecutar:
compmgmt.msc
Usuarios locales y grupos
Los archivos e información vinculada a cada usuario se almacena en el directorio:
C:\Documents and settings\nombre_de_usuario
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #11 – Cuentas y perfiles de usuarios
Para conocer cuando se han realizado los inicios de sesión necesitaremos en primer lugar que ese tipo de eventos se encuentre auditado. Luego:
a) Usar la utilidad netusers
C:\...\> netusers /l /history > #11_logonLocalUsers.txt (acceso local) C:\...\> netusers /history > #11_logonRemoteUsers.txt (acceso remoto)
b) Usar la utilidad ntlast de FoundStone
C:\...\> ntlast –null –s –v –n 100 > #11_lastLogon.txt (100 últimos accesos exitosos)C:\...\> ntlast –null –f –v –n 100 > #11_lastFailedLogon.txt (fallidos)
c) Usar la utilidad psloggedon de SysInternals
C:\...\> psloggedon
Nota: Para relacionar SID y Username -> user2sid y sid2user
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #11 – Cuentas y perfiles de usuarios
Tipos de inicio de sesión:
• Tipo 2: Interactivo. Entrada a un sistema desde la consola (teclado)• Tipo 3: Red. Entrada al sistema a través de la red. Por ejemplo con el comando net use,
recursos compartidos, impresoras, etc...• Tipo 4: Batch. Entrada a la red desde un proceso por lotes o script programado.• Tipo 5: Servicio. Cuando un servicio arranca con su cuenta de usuario.• Tipo 7: Unlock. Entrada al sistema a través de un bloqueo de sesión.• Tipo 10: Remote Interactive. Cuando accedemos a través de Terminal Services, Escritorio
Remoto o Asistencia Remota.
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #12 – Papelera de reciclaje y ficheros borrados
Funcionamiento del la papelera de reciclaje
C:\RECYCLER\_USER_ID\INFO2 -> Información sobre ficheros borrados
C:\RECYCLER\_USER_ID\DC1.xxx -> Fichero borrado 1C:\RECYCLER\_USER_ID\DC2.xxx -> Fichero borrado 2…
Para extraer información de los ficheros borrados de un determinado user utilidad Rifiuti de FoundStone
C:\...\rifiuti C:\RECYCLER\_USER_ID\INFO2 > INFO2.TXT
Para recuperar ficheros de un sistema “vivo” podemos usar Recuva de Piriform disponible en el entorno WinTaylor de Caine
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #13 – Información de navegación por Internet
En sistemas Windows se almacena un historial de navegación con Internet Explorer en uno archivos, Index.dat ubicados en:
• \Documents and settings\_username\Configuración Local\Archivos temporales de internet\Content.IE5• \Documents and settings\_username\Configuración Local\Historial\History.IE5• \Documents and settings\_username\Cookies
Para su análisis podemos usar la herramienta pasco de FoundStone
C:\...\pasco –d –t index.dat > #13.1_historialNavegacion.txt
Otro elemento clave en la navegación son las cookies, para esto usaremos la herramienta galleta de FoundStone
C:\...\galleta fichero_cookie
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #13 – Información de navegación por Internet
Firefox desde su versión 3 y Chrome almacenan el historial en un archivo .sqlite. Para analizar el contenido
• f3e de firefoxforensics• FoxAnalysis de forensic-software.co.uk
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #14 – Análisis de pagefile.sys e hiberfile.sys
En los sistemas windows se utiliza por defecto la memoria virtual. Cuando windows necesita más memoria RAM de la que dispone un equipo, envía a disco “paginas” poco o nada usadas, si vuelve a necesitar datos contenidos en páginas enviadas a disco, descarga otras y vuelve a cargar.
Ese proceso se conoce como “Fallo de página”
Existe un archivo en el raiz del sistema llamado pagefile.sys. Este archivo contiene trazas de memoria de los procesos que se están ejecutando, y puede ser “examinado” en un proceso offline:
1.Buscando cadenas dentro de él, con strings de SysInternals2.Filtrando la salida con un grep [ http://unxutils.sourceforge.net/ ] para que contenga información “útil”
hiberfile.sys contiene la RAM de un sistema hibernado
Nota: El análisis de estos archivos se tiene que hacer con el sistema “muerto”
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Para buscar automáticamente todos los ficheros marcados como ocultos en nuestro sistema usaremos hfind de FoundStone
C:\...\> hfind > #15.1_ficherosOcultos.txt
[ ¿Algo raro? ]
Análisis Forense en Sistemas Windows
Paso #15 – Búsqueda de información oculta
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #15 – Búsqueda de información oculta
Paso #15.2 – Alternate Data Streams
En sistemas NTFS, los ficheros almacenados en disco son un conjunto de data streams. En cada fichero hay un Stream principal con los datos del fichero y otros streams asociados con metainformación del fichero principal.
La información almacenada en los ADS permanece oculta a las herramientas habituales del sistema (cmd, explorer, etc…) y no se envía por internet. Este sistema de almacenamiento de información está siendo usado por virus/malware/hackers…
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Para crear un ADS:
C:\> echo texto_a_introducir_en_ads > nombre_fichero_principal:Nombre_ADS
Podemos crear un ADS que contenga código ejecutable:
C:\> type c:\windows\system32\notepad.exe > prueba.txt:ntpd.exe
Y ejecutarlo posteriormente con psexec de Sysinternals
C:\> psexec prueba.txt:ntpd.exe
Para detectar ADS podemos usar streams de Sysinternals
C:\...\> streams –s c:\ > #15.2_alternateDataStreams.txt
O también AlternateStreamView de Nirsoft
[ ¿Algo raro? ]
Análisis Forense en Sistemas Windows
Paso #15 – Búsqueda de información oculta
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #16 - Rootkits
Los rootkits con programas que tienen como objeto el ocultar información al sistema operativo, ya sea:
A sí mismo Otros programas (procesos) Servicios Ficheros Directorios Claves de registro Conexiones de red Espacio libre en disco, …
Existen dos tipos básicos de rootkits:
• application level: Sustituyen los programas/dll habituales que realizan la gestión de los procesos a ocultar (cmd.exe, explorer.exe, netstat … )• kernel-mode: Vigilan todas las llamadas al sistema, filtrando aquellas que desean ocultar.
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Existen cinco tipos de rootkits. Tres “funcionales” y dos de laboratorio
• application level: Sustituyen los programas habituales que realizan la gestión de los procesos a ocultar (cmd.exe, explorer.exe, netstat … )
• library level: Reemplazan, modifican o se “enganchan” a las llamadas al sistema modificando las dll que contienen el código responsable de realizarlas.
• kernel-level: Rootkits que trabajan al mismo nivel que el “core” del sistema operativo, modificando el kernel o los drivers. Estos rootkits son especialmente peligrosos, ya que suelen permanecer ocultos a los antivirus.
• Hypervisor-level: Son cargados antes del sistema operativo y modifican su comportamiento a través de avanzadas técnicas de virtualización que incorporan los microprocesadores actuales [Intel-VT, AMD-V]. De hecho, el rootkit carga el sistema operativo anfitrión en un entorno virtual. [ Blue Pill by Joanna Rutkowska ]
• Hardware/Firmware level: Los rootkits se introducen a nivel de hardware. Por ejemplo, [ Blog Sergio Hernando – Fraude en la cadena de suminstro ]
Análisis Forense en Sistemas Windows
Paso #16 - Rootkits
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Un ejemplo: Hacker Defender 1.00, un rookit a nivel de kernel
[ http://balaitous.unizar.es/crs3ed/hxdef100.zip ]
C:\> notepad hxdef100.2.iniC:\> hxdef100.exe hxdef100.2.ini
Nota: Desactivar el antivirus… hasta ponerlo a funcionar :)
C:\> net stop HackerDefender100
El problema clásico es que no siempre los antivirus son capaces de detectar los rootkits, sobre todo si están ya funcionando antes de realizar el escaneo.
Solución:
- Rootkit Revealer de SysInternals- BlackLight de FSecure
Análisis Forense en Sistemas Windows
Paso #16 - Rootkits
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Si disponemos de una captura de tráfico generado por un sistema podemos realizar un análisis de la misma de varias formas:
a) Utilizando Wireshark de CACE Technologies
• Tráfico en modo “crudo”• Sesiones HTTP, FTP, etc…• Sesiones RTP, SIP, VoIP• Análisis de cientos de protocolos de red
b) Utilizando NetworkMiner
• Detección de sistemas operativos implicados en la captura de red• Sesiones• Hostnames• Puertos abiertos• Archivos/Imágenes transferidos• Credenciales utilizadas
Análisis Forense en Sistemas Windows
Paso #17 – Análisis de tráfico
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #18 – Entornos automatizados
Existen entornos automatizados que agrupan muchas de las herramientas y técnicas de detección vistas hasta ahora. Algunos de ellos:
- COFEE, Computer Online Forensic Evidence Extractor (Microsoft – No pública)
- IRCR, Incident Response Collection Report – Requiere de Helix Live CD
- WFT, WINDOWS FORENSIC TOOLCHEST – Requiere de Helix Live CD
- RAPIER, Rapid Assessment & Potential Incident Examination Report
[ http://code.google.com/p/rapier/ ]
Son capaces de generar un archivo con las pruebas recolectadas, e incluso incluyen un servidor para recolectar los datos.
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Paso #18 – Entornos automatizados
Otro software de interés relacionado con la verificación de un sistema windows
• MBSA, Microsoft Baseline Security Analyzer• Conan de INTECO
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Análisis Forense en Sistemas Windows
Análisis forense avanzado
Algunas utilidades
Win32DD + Volatility (Imagen de RAM y HDD de un sistema vivo) Encase, by Guidance Software Forensics Tool Kit, by Access Data Autopsy, Open source - http://www.sleuthkit.org/autopsy
Permite “cargar” una imagen realizada con dd de un sistema completo. Permite realizar numerosas acciones:
File Listing File Content Hash Databases File Type Sorting Timeline of File Activity Keyword Search Meta Data Analysis Data Unit Analysis Image Details …
Servicio de Informática y Comunicaciones - Universidad de Zaragoza
Doc:
http://www.elhacker.net/InfoForenseWindows.htmhttp://www.forensicswiki.orghttp://blog.ismaelvalenzuela.com/http://www.net-security.org/article.php?id=1173&p=1http://www.rootkit.com
Tools:
http://www.virustotal.com/es/http://www.mandiant.com/mrchttp://code.google.com/p/rapier/http://www.sleuthkit.org/autopsy/http://www.foundstone.comhttp://technet.microsoft.com/en-us/sysinternals
Sesión 4– Protocolos de transporte
Referencias