380 likes | 728 Views
Análisis forense memoria RAM. Juan Garrido Consultor seguridad y sistemas I64 jgarrido@informatica64.com http://windowstips.wordpress.com. Hands On Lab. Análisis forense en entornos Windows http:// www.informatica64.com/SeguridadAntihacking/inicio.html
E N D
Análisis forense memoria RAM Juan Garrido Consultor seguridad y sistemas I64 jgarrido@informatica64.com http://windowstips.wordpress.com
HandsOnLab Análisis forense en entornos Windows http://www.informatica64.com/SeguridadAntihacking/inicio.html http://www.microsoft.com/spain/seminarios
Agenda • Introducción • Otros métodos de adquisición • Análisis memoria en plataformas Windows • Verificar la integridad • Recuperación de datos • Detección procesos ocultos • Conexiones de red • Representación gráfica • Herramientas • Preguntas
Introducción Análisis de Red
Volátil • Memoria de acceso aleatorio • Memoria para programas y datos • Memoria temporal • Se pierde al apagar el equipo
Introducción • Qué puede contener un volcado de memoria • Procesos en ejecución • Iexplore • LSASS • Procesos en fase de terminación • Conexiones activas • TCP • UDP • Puertos
Ficheros mapeados • Drivers • Ejecutables • Ficheros • Objetos Caché • Direcciones Web • Passwords • Comandos tipeados por consola • Elementos ocultos • Rootkits (Userland & KernelLand)
¿Cómo se estructura la memoria? • KernelLand (Ring0) • Tendrá permiso para acceder a todo el espacio de memoria • Podrá comunicarse con el Hardware • UserLand (Ring3) • Apis podrán comunicarse con el Kernel • Nivel con menor privilegio • Acceso a Memoria Virtual
Qué se busca y por qué… • EPROCESS • Estructura que contiene datos relativos a un proceso • Representación que hace Windows para cada proceso • Fecha Creación, cuotas de uso, Token, PID • THREADS • Cada proceso puede crear 1 o más hilos en ejecución • Como mínimo se crea uno por cada proceso en ejecución (Puntero a proceso) • Tiempo de Kernel • PEB • Información sobre la Imagen • Estructuras que residen en el espacio de memoria del usuario • Virtual Memory & PhysicalMemory • Permite al proceso usar más memoria que la que hay realmente • Cada proceso obtiene 4GB de memoria RAM virtuales (32Bits) • El S.O. se encarga de traducir esas direcciones virtuales a direcciones físicas de memoria
Captura de memoria RAM • Siguiendo el orden de volatilidad, los datos contenidos en la RAM son extremadamente volátiles. • Reinicios • Apagados • Corrupciones • Verificar la integridad de los datos • Se tiene que preparar el sistema para que lo soporte
No sólo se captura lo activo… • La información que podemos recopilar depende de muchos factores • Sistema operativo • Time Live de la máquina • Tamaño de la memoria
Memoria RAM Paginada • Paginación • Pagefile.sys • Hyberfil.sys • Configuración de limpieza • http://support.microsoft.com/kb/314834 • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management • Reg_DWORD type • ClearPagefileAtShutdown • Value = 1 (Activado)
Métodos de Adquisición • Software: • NotMyFault (Sysinternals) • SystemDump (Citrix) • LiveKD (Sysinternals) • Teclado • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters • DWORD (CrashOnCtrlScroll) • Hardware • Copiadoras
Verificar la integridad • DumpChk (Support Tools) • Herramienta para verificar la integridad de un volcado de memoria • Muy completa (Uptime, Arquitectura, Equipo, fallo, etc…) • Línea de comandos • DumpCheck (Citrix) • Creada por DmitryVostokov • Nos muestra sólo si cumple con la integridad o no • Entorno gráfico
[DEMO] Integridad en los volcados Configuración de Registro
Análisis desestructurado de memoria RAM • Strings de Sysinternals • Herramienta para extraer cadenas (ASCII & UNICODE) de un archivo • Podemos identificar objetos almacenados en memoria, datos persistentes, conexiones, Passwords, etc… • FindStr (Microsoft nativa) • Herramienta utilizada para buscar una cadena de texto en el interior de uno o varios archivos Con la combinación de ambas herramientas podemos extraer gran cantidad de información
[DEMO] • Extraer información archivo Pagefile.sys • Análisis de comandos en CMD.EXE • Análisis de navegación (favoritos, historial) • Análisis de conversación messenger
Análisis estructurado dememoria RAM • Windbg • Poderosa herramienta de depuración • Necesitamos los símbolos para poder trabajar con procesos • Pensada para “todos los públicos” • Mucha granularidad a nivel de comandos • Escalable (Plugins) • Se necesita mucha experiencia • Memparser • Nace con un reto forense de RAM (DFRWS 2005) • Válida sólo para Windows 2000 • Una de las más completas en cuanto a funcionalidad • Evoluciona a las KntTools (Pago por licencia) • Ptfinder • Desarrollada en Perl • Extrae información sobre procesos, threads y procesos ocultos (DKOM) • Interpretación gráfica de la memoria • Válida para W2K, XP,XPSP2, W2K3
Detección de procesos ocultos • Wmft • Creada por Mariusz Burdach (http://forensic.seccure.net) • Demo para BlackHat 2006 • Válida para Windows 2003 • Memory Analisys Tools • Creada por Harlan Carvey (Windows Incident Response) • Disponibles en Sourceforge (http://sourceforge.net/project/showfiles.php?group_id=164158) • Válida para Windows 2000 • Similar a Memparser
Conexiones de Red • Volatools • Desarrollada por KomokuInc • Proyecto vivo! • POC capaz de buscar sockets, puertos, direcciones IP, etc.. • Válida hasta XP SP3
[DEMO] • Análisis Estructurado • Extracción de procesos • Detección de procesos ocultos • Extracción de imágenes de ficheros • Conexiones de red
Representación gráfica • Ptfinder • En todas sus versiones, esta herramienta es capaz de representar gráficamente el estado de la memoria. • Podemos analizar qué procesos son los padres y cuáles los hijos • Ideal para proyectos forenses
[DEMO] Listar procesos en Windows Vista SP1 Representación gráfica
Conclusiones • Cifrado de RAM • Cumplimiento de LOPD? • Ficheros temporales • ¿Es sólo la RAM? • Ficheros temporales de: • Documentos ofimáticos • Hyberfil.sys • Impresión de documentos
Herramientas • Pstools (Sysinternals) • http://download.sysinternals.com/Files/PsTools.zip • PtFinder • http://computer.forensikblog.de/files/ptfinder/ptfinder-collection-current.zip • Windbg • http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx • Memparser • http://sourceforge.net/projects/memparser • Volatools • https://www.volatilesystems.com/ • Wmft • http://forensic.seccure.net/ • Hidden.dll (Plugin para Windbg) • http://forensic.seccure.net/tools/hidden.zip
Referencias • Introducción a la informática forense en entornos Windows Autor: Silverhack http://www.elhacker.net/InfoForenseWindows.htm • Introducción a la informática forense en entornos Windows 2ª parte Autor: Silverhack http://www.elhacker.net/InfoForenseWindows2.htm • Introducción a la informática forense en entornos Windows 3ª parte Autor: Silverhack http://www.elhacker.net/InfoForense3.html • Formas de Analizar un Virus Autor: Juan Garrido http://windowstips.wordpress.com/2007/02/25/formas-de-analizar-un-virus-un-paseo-por-rapidshare/ • Comportamiento Virus Plataformas Windows Autor: Silverhack http://www.elhacker.net/comportamiento-virus.htm
Retos Forenses http://www.seguridad.unam.mx/eventos/reto/ http://www.dfrws.org/2005/challenge/index.html http://retohacking8.elladodelmal.com/
WebCast Microsoft Análisis Forense Sistemas Windows Ponente: Juan Luis Rambla (MVP Security Informática 64) UrlWebCast http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032326593&EventCategory=4&culture=es-ES&CountryCode=ES Análisis Forense entorno Malware Ponente: Juan Luis Rambla (MVP Security Informática 64) UrlWebCast http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032326597&EventCategory=5&culture=es-VE&CountryCode=VE
TechNews de Informática 64 Suscripción gratuita en http://www.informatica64.com/boletines.html