Tutoriales

Marco modular de correlación y recopilación de artefactos de análisis de malware

subparse, es un marco modular desarrollado por Josh Strochein, Aaron Baker y Odin Bernstein. El marco está diseñado para analizar e indexar archivos de malware y mostrar la información descubierta durante el proceso de análisis en un visor web con capacidad de búsqueda. El marco es modular y utiliza un motor de análisis central, módulos de análisis y varios potenciadores que agregan información adicional al índice de malware.

El principal valor de entrada al marco es un directorio de archivos de malware, que son analizados por el motor de análisis central o un motor de análisis especificado por el usuario antes de agregar información adicional de cualquier motor de enriquecimiento especificado por el usuario, todos los cuales se indexan en la información analizada. antes del índice de Elasticsearch.

La información recopilada se puede buscar y ver a través de un visor web, que también permite filtrar cualquier valor recopilado de cualquier archivo. Actualmente hay 3 motores de análisis, los módulos de análisis predeterminados (ELFParser, OLEParser y PEParser) y 4 módulos enriquecidos (ABUSEEnricher, CAPEEnricher, STRINGEnricher y YARAEnricher).

empezando

Requisitos de Software

Para comenzar con Subparse, hay algunos programas requeridos/recomendados que deben instalarse y configurarse antes de intentar usar nuestro software.

otros requerimientos

Después de instalar el software requerido/recomendado en su sistema, hay algunos otros pasos a seguir para instalar Subparse. Python requiere que Python instale algunos otros paquetes de los que depende el proceso de Subparse. Para completar la configuración de Python, vaya a la ubicación de instalación de Subparse y vaya a la carpeta *parser*. Deberá instalar los requisitos de Python con el siguiente comando: Requisitos de Docker Dado que Subparse usa Docker como su backend e interfaz web, se debe configurar un contenedor de Docker antes de poder usarlo. Para hacer esto, navegue a la raíz de la ubicación de instalación de Subparse y configure una instancia de docker con el siguiente comando:

Pasos de instalación

uso

opciones de línea de comando

Opciones de línea de comandos disponibles subparse/parser/subparse.py:

debate escoger necesario describir
-H -ayudar No mostrar el menú de ayuda
-d MUESTRAS_DIR – directorio SAMPLES_DIR si El directorio de muestra para analizar
-e ENRIQUECEDOR_MÓDULOS – Enriquecer ENRICHER_MODULES No Módulos enriquecidos para análisis adicional
-r – Reiniciar No Restablecer/eliminar todos los datos en el clúster de Elasticsearch configurado
-v -largo No muestre la salida detallada de la línea de comando
-s – modo de servicio No Ingrese al modo de servicio, lo que permite agregar muestras de esquema a SAMPLES_DIR durante el procesamiento

Ver resultados

Para ver los resultados del analizador Subparse, vaya a localhost:8080. Si tiene problemas para ver el sitio, asegúrese de que el contenedor se haya iniciado en Docker y que no haya otros procesos ejecutándose en el puerto 8080 que podrían hacer que el sitio no esté disponible.

Información general recopilada

Antes de que se ejecute cualquier analizador, se recopila información general sobre la muestra, independientemente del tipo de archivo subyacente. Esta información incluye:

  • Hash MD5 de la muestra
  • El hash SHA256 de la muestra
  • nombre de la muestra
  • tamaño de la muestra
  • Extensión de muestra
  • Extensión derivada de la muestra

módulo analizador

El analizador solo se ejecuta en muestras que coinciden con el tipo de archivo. Por ejemplo, los archivos PE ejecutarán PEParser de forma predeterminada debido a los tipos de archivos correspondientes que PEParser puede inspeccionar.

módulo predeterminado

ELFParser Este es el módulo de análisis predeterminado que se ejecutará en los archivos ELF. Información recopilada: OLEParser Este es el módulo de análisis predeterminado que se ejecutará para archivos con formato OLE y RTF, y utiliza el paquete OLETools para obtener datos. Información recopilada: PEParser Este es el módulo de análisis predeterminado que se ejecutará para archivos PE que coincidan o contengan tipos de archivo: PE32 y MS-Dos. Información recopilada:

Módulos ricos

Estos módulos son opcionales y solo se ejecutarán si se especifica mediante -e |. – La bandera de los enriquecedores en la línea de comando.

módulo predeterminado

ABUSOEnricher este concentrado utiliza [Abuse.ch]() API y [Malware Bazaar]() para recopilar más información sobre la muestra analizada por el subanálisis, que luego se agrega y almacena en la base de datos de Elastic. CAPEEnricher Este enriquecedor se utiliza para comunicarse con la instancia de CAPEv2 Sandbox, recopilar más información sobre la muestra mediante un análisis dinámico, luego agregar y almacenar la información en la base de datos de Elastic y utilizar el servicio de mensajes de Kafka para el procesamiento en segundo plano. STRINGEnricher Este potenciador es un potenciador de cadenas inteligente que analizará las muestras en busca de cadenas potencialmente interesantes. Las categorías de cadenas que busca este potenciador incluyen: audio, imagen, ejecutable, llamada de código, archivo comprimido, trabajo (documento de Office), dirección IP, dirección IP + puerto, URL del sitio web, argumentos de línea de comandos. YARAEnricher Este ericher usa archivos yara precompilados ubicados en: parser/src/enrichers/yara_rules.Este archivo precompilado incluye archivos de y

Desarrolle analizadores y enriquecedores personalizados

La vista web de Subparse se crea usando gestor de arranque Para su CSS, esto permite usar cualquiera de los CSS de Bootstrap integrados al desarrollar sus propios archivos Parser/Enricher Vue.js personalizados. También proporcionamos un ejemplo para cada ejemplo para ayudarlo a comenzar, y también implementamos algunos widgets personalizados para facilitar el proceso de desarrollo y facilitar la estandarización de cómo se muestra la información. Todos los archivos de Vue.js se utilizan para mostrar información de forma dinámica desde un analizador/enriquecedor personalizado y se utilizan como plantillas de datos.

NOTA: Las convenciones de nomenclatura para nombres de clase y nombres de archivo deben cumplirse estrictamente, esto es lo primero que debe verificar si tiene problemas para implementar un analizador/mejorador personalizado. La convención de nomenclatura para Parser/Enricher debe usar el mismo nombre en todos los archivos y nombres de clases.

Registro

El objeto registrador es una implementación única del registrador de Python predeterminado.Para un uso más detallado, consulte Documentos oficialesPara Subparse, el único método de registro que recomendamos usar es el nivel de registro de la salida. todos estos son:

  • depuración
  • advertir
  • error
  • Crítico
  • excepción
  • Iniciar sesión
  • información

gracias

  • Este estudio y todos los coautores recibieron el apoyo de NSA Grant H98230-20-1-0326.

LEER  Script de PowerShell para recopilar datos forenses de disco y almacenamiento

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba