Análisis de malware
Análisis de memoria mediante línea roja.
17 de mayo de por Ninja de seguridad
El análisis de memoria se ha vuelto muy útil para fines de investigación y búsqueda de malware. Redline es una herramienta que se utiliza para analizar las muestras de memoria recopiladas del sistema host en vivo o de un sistema remoto.
Objetivo
En esta práctica de laboratorio, cubriremos todos los pasos para realizar un análisis de memoria utilizando Redline en busca de malware/programas maliciosos. En esta práctica de laboratorio, usaremos varias muestras de memoria de sistemas infectados con malware.
Muestras de memoria para usar en el laboratorio:
- laboratorios_raw.img
- laboratorio.mans
- Lab_Handles.mans
- Lab_Hooks.mans
- Lab_Hooks_raw.img
Además, el laboratorio constará de un IOC que se podrá utilizar directamente en la sección «Uso del IOC para automatizar el proceso en Redline».
Nota: Los archivos .mans ya son archivos cargados de varias muestras de memoria. Los usaremos directamente dentro de Redline para descubrir varios artefactos maliciosos. Esto también ahorrará mucho tiempo que tardan en cargarse las imágenes de la memoria sin procesar.
Preparando la línea roja para el análisis de la memoria
En esta sección veremos que tanto la imagen sin procesar como el archivo .mans guardado se pueden cargar en Redline para su análisis.
Cargando una imagen sin formato en línea roja
- Instalar línea roja
- Inicie Redline desde el botón Inicio de Windows. Se abrirá la siguiente interfaz de Redline
- Para una imagen de memoria sin procesar, veremos cómo cargar una imagen ‘conficker.img’.
- Seleccione «Desde un archivo de memoria guardado».
- En el siguiente cuadro de diálogo, busque la ubicación donde se guarda la imagen sin formato en su máquina local.
- Haga clic en Siguiente
- En la siguiente pantalla, haga clic en «Editar su script».
- Seleccione la casilla de verificación para cadenas.
- Haga clic en Aceptar.
- Especifique el nombre de la sección de análisis ‘Infosec_Institute_Lab_Analysis’ y la ubicación donde se almacenarán los resultados de la sesión de análisis.
- Haga clic en Aceptar.
- Luego, Redline preparará la sesión para el análisis. Confirme la creación del nombre de la carpeta como el nombre de la sesión especificado en el paso 10. La carga de la imagen de la memoria sin procesar se verá así.
- En este punto, el volcado de memoria sin procesar se carga en Redline para su posterior análisis. Si la carga se realiza correctamente, aparecerá la pantalla. Confirme que en el lado izquierdo se pueden ver Procesos, Módulos de Controlador, etc.
Abrir un archivo mans guardado
Redline guarda el análisis de cualquier archivo en formato mans. Los pasos a continuación describen qué pasos se deben seguir para abrir un archivo mans en Redline
- En esta sección, usaremos el archivo Lab.mans.
El archivo .mans se puede abrir en Redline desde la página de inicio de Redline o desde la página de inicio de Redline. En esta sección, cargaremos el archivo .mans desde la página de inicio. Sin embargo, si es necesario cargar el archivo .mans desde la página de inicio, realice este paso.
- Desde la página de inicio, haga clic en «Abrir análisis anterior» y busque el archivo .mans que se cargará en el sistema.
Haga clic aquí para descargar los archivos asociados con este artículo: https://drive.google.com/folderview?id=0B4V9rO4-QhMDMFBkRDhEU0xJX00usp=sharing
- Desde la página de inicio de Redline, haga clic en el ícono Redline en la esquina superior izquierda como se muestra a continuación y haga clic en «Abrir un análisis guardado».
- Busque la ubicación del archivo guardado y haga clic en Abrir.
- Este proceso será mucho más rápido y aparecerá la siguiente pantalla después de abrir el análisis guardado, muy similar al de la imagen sin procesar.
Artefactos disponibles en Redline para análisis
- Para esta sección, seguiremos usando el archivo Lab.mans cargado en la sección anterior » Abrir un archivo mans guardado «.
- Después de cargar, Redline ofrece una vista de todos los artefactos que se pueden analizar a partir de una muestra de memoria.
- Los principales son:
- Procesos
- Manejas
- Secciones de memoria
- Instrumentos de cuerda
- Puertos
- Procesos
- Procesos Jerárquicos
- Manos
Ahora comenzaremos a analizar cada uno de los artefactos en Redline.
Analizando el proceso en línea roja
- Haga clic en Procesos. Mostrará todos los procesos que estaban en la memoria cuando se adquirió la memoria.
- Redline tiene firmas integradas en las que clasificará el proceso como malicioso y lo resaltará. En la captura de pantalla anterior, podemos ver que Redline resalta dos procesos.
- Redline también otorga una puntuación del Índice de riesgo de malware (MRI) a cada proceso. Cuanto mayor sea la puntuación, más maliciosas serán sus posibilidades. Podemos ver que ambos procesos marcados en rojo tienen una puntuación de resonancia magnética de 97 y 94. Altamente sospechoso.
- Haga clic en «Procesos resaltados» para ver solo los procesos resaltados.
- Haga doble clic en el proceso marcado en rojo ‘svchost.exe’. Abrirá detalles sobre el proceso.
- Haga clic en la pestaña MRI en la parte inferior. Aparece el informe de resonancia magnética.
- También nos dirá por qué ha otorgado esa puntuación de resonancia magnética a este proceso. En este dice:
- Hay alrededor del 47 por ciento de factores negativos asociados con este proceso.
Analizando la conexión de red usando Redline
Normalmente, cuando se inyecta malware en un sistema, se pone en contacto con su servidor CC para reactivar la carga útil, infectar otros sistemas en la misma red, etc. Analizar la conexión de red puede resultar beneficioso durante el análisis de la memoria.
- Continuaremos analizando el archivo Lab_Handles.mans.
- Expanda Procesos y haga clic en Puertos.
- Podemos ver todas las conexiones disponibles en Redline mientras se capturaba la memoria.
- Podemos ver que el proceso ‘Sistema’, PID 4 está realizando una conexión a 94.247.2.107 a través del puerto 80. Es muy común que el malware oculte su conexión a plena vista. ¿Por qué elige el puerto 80? Porque suele estar abierto dentro de las organizaciones y menos analizado.
- Una búsqueda en Google de IP 94.247.2.107 confirma que la IP 94.247.2.107 en la lista del gusano TDSS.
Analizando cadenas usando Redline
Como seleccionamos las cadenas anteriormente mientras cargamos la imagen, podemos buscar cadenas en el archivo de memoria.
- Continuaremos analizando el archivo Lab_Handles.mans.
- Expanda Procesos y haga clic en Cadenas.
- Busque ‘http://’. Mostrará todas las cadenas esparcidas por la memoria donde está http://. A continuación podemos ver que el proceso 1928 Explorer.EXE se conecta a 192.168.30.129 con el usuario foo y atraviesa el directorio de malware. Esto parece sospechoso.
Analizando identificadores en Redline
- En esta sección, analizaremos los identificadores utilizando el archivo Lab_Handles.mans. Siga los pasos descritos en la sección » Abrir un archivo mans guardado » anterior para cargar el archivo Lab_Handles.mans.
- Expanda Proceso y haga clic en Manijas.
- La siguiente pantalla mostrará todos los identificadores presentes en la memoria mientras se adquiere.
- Ahora hay muchos objetos asociados con un objeto como identificadores de archivos, identificadores de directorio, identificadores de registro, mutantes, etc. En el siguiente paso, veremos identificadores de mutantes.
- Haga clic en Manijas de mutantes y se mostrarán todos los mutantes presentes en la memoria.
- Vemos el mutante llamado _!MSFTHISTORY!_ que es un mutante conocido del malware TDSS.
Analizando secciones de memoria usando Redline
En Redline, podemos analizar las secciones de memoria para buscar código inyectado.
- En esta sección, continuaremos analizando el archivo Lab_Handles.mans.
- Expanda Procesos y haga clic en Secciones de memoria
- Veremos todo el apartado de memoria disponible en la memoria.
- Haga clic en «Secciones de memoria inyectadas».
- A continuación podemos ver que se inyecta el PID 1980.
Procesa la relación entre padres e hijos.
En Redline, podemos ver los procesos de relación padre-hijo. Esto es beneficioso al analizar el proceso para ver qué proceso se generó a partir de quién y también da una indicación sobre cuándo arranca un sistema.
- Haga clic en Procesos jerárquicos en el lado izquierdo.
- Como podemos ver a continuación, nos ha mostrado cómo es la relación padre-hijo entre procesos.
Analizando ganchos usando Redline
El malware suele enganchar artefactos del kernel como la tabla de descriptores de servicios (SSDT), IDT e IRP para tomar un control más amplio sobre el sistema. En esta sección, veremos cómo se puede utilizar Redline para analizar estas secciones.
- En esta sección, usaremos el archivo LAB_Hooks.mans. Siga los pasos descritos en la sección » Abrir un archivo mans guardado » anterior para cargar el archivo LAB_Hooks.mans.
- Haga clic en Ganchos.
- La siguiente pantalla muestra todos los ganchos para esta imagen de memoria.
- Podemos filtrarlo con un tipo específico de Hook como SSDT, IDT, IRP hook.
- Haga clic en Ganchos SSDT.
Tenga en cuenta que, aunque Redline proporciona el estado de confianza «Indeterminado», es muy sospechoso tener un controlador llamado burito24b1-1710.sys en un sistema.
- Una búsqueda en Google en burito24b1-1710.sys revela que ya se envió a malwr.com
El uso de herramientas de terceros mejora enormemente el análisis de la memoria.
- Haga clic en los enlaces IRP para ver qué controladores del sistema se han conectado.
- Aquí podemos ver que burito24b1-1710.sys ha enganchado tcpip.sys.
Usando IOC para automatizar el proceso en Redline
Automatizar el proceso con Indicador de Compromiso (IOC) usando Redline es una característica muy buena. Los IOC generalmente se comparten entre la comunidad de seguridad, por lo que recopilarlos y ejecutarlos con una memoria adquirida nos dará HITS si coincide.
Como vimos anteriormente para LAB_Hooks, Redline no reconoció el controlador burito24b1-1710.sys como malicioso en SSDT, pero como sabemos que es malicioso, creemos un IOC y ejecutemos ese IOC contra el archivo Lab_Hooks.mans.
Usaremos el constructor Mandiant IOC para crear un IOC.
- Cree el directorio ‘IOC’ donde se almacenarán los IOC
- Abra Mandiant IOC Builder y seleccione la carpeta creada en el paso 1.
- Haga clic en Nuevo Indicador
- Dé una descripción de este COI como se muestra a continuación.
- Haga clic en Elemento HookItemMódulo de enganche de gancho
- Ingrese los detalles del controlador como se ve en el archivo LAB_Hooks.mans.
- Haga clic en AGREGAR
- Haga clic en ElementoGanchoMódulo enganchado con gancho
- A continuación se muestra la firma final de este COI.
- Haga clic en Guardar para guardar este IOC en la carpeta creada en el Paso 1 de esta sección.
- Abrir línea roja Abrir memoria guardada
- Busque la ubicación de la imagen de memoria sin procesar y el COI creados anteriormente
- Seleccione el COI en la lista para ver también la descripción.
- Haga clic en Siguiente
- Siga los pasos 7 a 11 que se enumeran en la sección «Cargar una imagen sin formato en Redline». (Nombre la carpeta para guardar el análisis «Infosec_Institute_Lab_Hooks»).
- Una vez cargado, el informe del COI seguirá ejecutándose en segundo plano.
- Al finalizar, busque la carpeta ‘Infosec_Institute_Lab_Hooks’.
- Abra Infosec_Institute_Lab_Hooks’ IOCsIOCReportHits*.html
- Como podemos ver a continuación, según nuestro indicador, Redline tiene los siguientes resultados, que es exactamente lo que hemos visto en SSDT; IRP se engancha antes.
Conclusión
Como podemos ver, Redline es una poderosa herramienta para analizar muestras de memoria para la búsqueda de malware.