Saltar al contenido
Portada » Blog – Laprovittera Carlos » TryHackMe – CAPA: The Basics

TryHackMe – CAPA: The Basics

Hola hacketones! Bienvenidos a un nuevo CTF para la Certificación SEC1 de la ruta Cyber Security 101 de TryHackMe – CAPA: The Basics

Introducción

Uno de los desafíos al analizar software potencialmente malicioso es el riesgo de que nuestra máquina o entorno se vea comprometido al ejecutarlo, a menos que tengamos un entorno de pruebas o un entorno completamente aislado donde podamos realizar todas las pruebas que queramos. En general, existen dos tipos de análisis: dinámico y estático . Esta sesión se centrará en la realización de análisis estáticos mediante una herramienta llamada CAPA.

CAPA (Plataforma de Análisis Común para Artefactos) es una herramienta desarrollada por el equipo de FireEye Mandiant. Está diseñada para identificar las capacidades presentes en archivos ejecutables como ejecutables portátiles ( PE ), binarios ELF, módulos .NET, shellcode e incluso informes de sandbox . Para ello, analiza el archivo y aplica un conjunto de reglas que describen comportamientos comunes , lo que permite determinar las capacidades del programa , como la comunicación de red , la manipulación de archivos , la inyección de procesos y muchas más.

La ventaja de CAPA es que integra años de conocimiento en ingeniería inversa en una herramienta automatizada, haciéndola accesible incluso para quienes no son expertos en ingeniería inversa. Esto puede ser increíblemente útil para analistas y profesionales de seguridad, permitiéndoles comprender rápidamente la funcionalidad de software potencialmente malicioso sin tener que aplicar ingeniería inversa al código manualmente.

Esta herramienta es particularmente útil en el análisis de malware y la búsqueda de amenazas, donde comprender las capacidades de un binario es crucial para la respuesta a incidentes y las medidas defensivas.

Descripción general de la herramienta: cómo funciona CAPA

En esta tarea, veremos cómo usar CAPA. Ejecutar la herramienta es facilísimo. Primero, abra PowerShell ; tenga en cuenta que el aviso puede tardar un poco. A continuación, asegúrese de estar en el directorio correcto ( C:\Users\Administrator\Desktop\capa); luego, ejecute capao capa.exe, apunte al binario, ¡y listo!

En este ejemplo, utilizaremos cryptbot.bin; tenga en cuenta que los resultados de este archivo se discutirán en la siguiente tarea.

Después de ejecutar el comando, espere el resultado, que puede tardar varios minutos. No pretendemos que esto finalice, sino que le permita familiarizarse con la herramienta , por lo que le sugerimos que continúe la tarea mientras CAPA se ejecuta o que detenga el procesamiento. Existen alternativas para analizar los resultados.  Consulte el comando a continuación.

Terminal

PSC:\Users\Administrator\Desktop\capa> capa.exe .\cryptbot.bin
loading : 100%|████████████████████|485/485 [00:00<00:00,1108.84     rules/s]/analyzing program…

Además del -hcomando, que nos proporciona más información sobre los parámetros disponibles con la herramienta, utilizaremos dos (2) parámetros muy utilizados, que son -vy -vv, lo que nos dará un resultado más detallado. Sin embargo, esto aumentará el tiempo de procesamiento.  Analizaremos los resultados de estas opciones en las próximas tareas.

OpciónDescripciónSintaxis de muestra
-ho–helpMostrar este mensaje de ayuda y salir.capa -h
-vo–verboseHabilitar documento de resultados detallados.capa.exe .\cryptbot.bin -v
-vvo–vverboseHabilitar un documento de resultados muy detallado.capa.exe .\cryptbot.bin -vv

Este debería ser el resultado del comando.  *Tenga en cuenta que los resultados pueden variar. Si ejecutó CAPA en algunos archivos, podría mostrar o no la misma información que la que se muestra a continuación.

Como sabemos que el tiempo de procesamiento lleva varios minutos, lo hemos preprocesado en un archivo llamado cryptbot.txt ubicado en  C:\Users\Administrator\Desktop\capa . Al mismo tiempo, este archivo se ha adjuntado a esta tarea ; simplemente haga clic en el botón  de la parte superior derecha de esta tarea.  Abra otraPowerShellterminal y usar el comando Get-Content cryptbot.txt

Terminal

PSC:\Users\Administrator\Desktop\capa> Get-Content.\cryptbot.txt

Cargando el contenido en PowerShell dará la misma salida que la terminal anterior.

 ¡Y eso es todo! ¡Hemos terminado!

Pero un momento, ¿cuáles son esos resultados? ¿Cómo podemos interpretarlos?

Responda las siguientes preguntas

¿Qué opción de línea de comandos usarías si necesitas comprobar qué otros parámetros puedes usar con la herramienta? Usa el formato más corto.

-h

¿Qué opciones de línea de comandos se utilizan para encontrar información detallada sobre las capacidades del malware? Utilice el formato más breve.

-v

¿Qué opciones de línea de comandos utiliza para obtener información muy detallada sobre las capacidades del malware? Utilice el formato más breve.

-vv

¿Qué comando de PowerShell utilizarás para leer el contenido de un archivo?

Get-Content

Análisis de los resultados de CAPA (Parte 1): Información general, MITRE y MAEC

Como se mencionó en la tarea anterior, los resultados de la ejecución de CAPA contra cryptbot.bin se analizarán en la siguiente tarea. Por lo tanto, analizaremos los resultados por bloque y tema.

El primer bloque contiene información básica sobre el archivo.  Esto incluye lo siguiente:

  • Los algoritmos criptográficos, como md5, y sha1/256.
  • El analysiscampo nos dice cómo CAPA realizó su análisis sobre el archivo.
  • El oscampo revela el contexto del sistema operativo ( SO ) para el cual se aplican las capacidades identificadas.
  • El archcampo nos permite determinar si estamos ante un binario relacionado con la arquitectura x86.
  • Donde pathse encuentra el archivo analizado.

MITRE ATT&CK

El marco MITRE ATT&CK (Tácticas, Técnicas y Conocimiento Común Adversario) es un repositorio global de conocimiento integral que documenta meticulosamente las tácticas y técnicas empleadas por los actores de amenazas en cada etapa de un ciberataque. Funciona como un manual estratégico que proporciona información detallada sobre los métodos de los atacantes, desde obtener acceso inicial hasta mantener una presencia , escalar privilegios , evadir defensas , moverse lateralmente dentro de una red y mucho más. 

CAPA utiliza este formato para la salida. Tenga en cuenta que algunos resultados pueden contener o no el identificador de técnica y subtécnica.

FormatoMuestraExplicación
Táctica ATT&CK :: Técnica ATT&CK :: Identificador de técnicaEvasión de defensa::Archivos o información ofuscados::T1027 EVASIÓN DE DEFENSA =  Táctica ATT&CK Archivos o información ofuscados =  Técnica ATT&CK T1027 =  Identificador de técnica
Táctica ATT&CK :: Técnica ATT&CK :: Subtécnica ATT&CK :: Identificador de técnica [.] Identificador de subtécnica Evasión de defensa::Archivos o información ofuscados::Eliminación de indicadores de las herramientas T1027.005    EVASIÓN DE DEFENSA = Táctica ATT&CK Archivos o información ofuscados = Eliminación del indicador de técnica ATT&CK de las herramientas = Subtécnica ATT&CK T1027 =  Identificador de técnica 005 = Identificador de subtécnica

En el resultado final de CAPA, se hizo referencia al marco MITRE . Esto ayuda a los analistas y defensores a mapear el comportamiento del archivo con la estrategia del adversario, lo que puede ayudar a delimitar el alcance de la investigación durante un incidente. Para profundizar en este tema, le recomendamos consultar nuestra sección sobre el marco MITRE ATT&CK . 

MAEC

La Enumeración y Caracterización de Atributos de Malware es un lenguaje especializado diseñado para codificar y comunicar detalles complejos sobre el malware. Contiene una amplia gama de atributos, incluyendo comportamientos, artefactos e interconexiones entre diversas instancias de malware. Este lenguaje funciona como un sistema estandarizado para el seguimiento y análisis de las complejas características del malware.

Revisemos la siguiente tabla para ver los valores MAEC más utilizados por CAPA: Downloader y Launcher .

Valor MAECDescripción
LanzacohetesExhibe comportamientos que desencadenan acciones específicas similares al comportamiento del malware.
DescargadorExhibe comportamientos en los que descarga y ejecuta otros archivos, generalmente vistos en malware más complejo.

Cuando CAPA etiqueta un archivo con un valor MAEC de “ lanzador ”, indica que el archivo demuestra un comportamiento similar, entre otros:

  • Lanzamiento de cargas útiles adicionales
  • Activación de mecanismos de persistencia
  • Conexión a servidores de comando y control ( C2 )
  • Ejecución de funciones específicas

¡Qué interesante! Algunos de estos comportamientos también están presentes en el Catálogo de Comportamiento de Malware ( MBC ) y el bloque de Capacidad, que analizaremos en la siguiente tarea.

Además, cuando CAPA etiqueta un archivo con un valor MAEC » Downloader «, indica que el archivo demuestra un comportamiento similar, pero no limitado a:

  • Obtener cargas útiles o recursos adicionales de Internet
  • incorporando actualizaciones
  • ejecutando etapas secundarias
  • recuperando archivos de configuración

Responda las siguientes preguntas

¿Cuál es el hash SHA256 de cryptbot.bin?

ae7bc6b6f6ecb206a7b957e4bb86e0d11845c5b2d9f7a00a482bef63b567ce4c

¿Cuál es el identificador de técnica de los archivos o información ofuscados ?

T1027

¿Cuál es el identificador de subtécnica de archivos ofuscados o información::Indicador de eliminación de herramientas ?

T1027.005

Cuando CAPA etiqueta un archivo con este valor MAEC, indica que demuestra un comportamiento similar a, pero no limitado a, la activación de mecanismos de persistencia .

launcher

Cuando CAPA etiqueta un archivo con este valor MAEC, indica que el archivo demuestra un comportamiento similar a, pero no limitado a,  la obtención de cargas útiles o recursos adicionales de Internet .

Downloader

Análisis de los resultados de CAPA (Parte 2): Catálogo de comportamiento del malware

En esta tarea, cubriremos los siguientes temas:

  • MBC
  • Objetivo
  • Microobjetivo
  • Comportamientos de MBC
  • Microcomportamiento
  • Métodos

Pasemos al siguiente bloque. Esta terminal también se puede ver en la Tarea 2, donde ejecutamos la herramienta CAPA. Haga clic en la terminal de vista a continuación.

Abordaremos el Catálogo de comportamiento de malware para comprender mejor el bloque anterior .

Catálogo de comportamiento de malware ( MBC )

MBC está diseñado para respaldar diversos aspectos del análisis de malware, como el etiquetado, el análisis de similitud y la generación de informes estandarizados. En esencia, funciona como un catálogo de objetivos y comportamientos de malware. MBC también puede vincularse con los métodos ATT&CK y registrar todos los comportamientos y características del código detectados durante el análisis de malware. Es importante tener en cuenta que los nombres de los comportamientos de MBC pueden coincidir o no con las técnicas ATT&CK correspondientes. La información de las páginas de comportamiento complementa el contenido de las páginas ATT&CK. En otras palabras, al registrar comportamientos de malware, los usuarios de MBC harán referencia a ATT&CK, pero MBC no duplica la información de ATT&CK.

El contenido del MBC a continuación se puede representar en dos formatos.

FormatoMuestraExplicación
OBJETIVO :: Comportamiento :: Método [ Identificador ]ANÁLISIS ANTIESTÁTICO :: Ofuscación de código ejecutable :: Ofuscación de argumentos [B0032.020]Análisis antiestático = OBJETIVO Ofuscación de código ejecutable = COMPORTAMIENTO Ofuscación de argumentos = MÉTODO BOO32.020 = IDENTIFICADOR
OBJETIVO :: Comportamiento ::[ Identificador ]COMUNICACIÓN:: Comunicación HTTP :: [C0002]COMUNICACIÓN = OBJETIVO Comunicación HTTP = COMPORTAMIENTO C0002 = IDENTIFICADOR

La diferencia entre los dos formatos es que el primer formato contiene detalles adicionales llamados MÉTODO, que también puede denominarse subtécnica.

También debemos discutir el Objetivo, el Comportamiento y los Métodos para comprender mejor esta parte.

Objetivo

Los objetivos se basan en las tácticas de ATT&CK en el contexto del comportamiento del malware , aunque no todos están incluidos. Además, MBC cuenta con análisis anticonductual y antiestático . Estos objetivos están diseñados para el análisis de malware, con el objetivo de caracterizarlo . Consulte la tabla a continuación para obtener una explicación de cada uno.

ObjetivoExplicación
Análisis anticonductualEl malware intenta evitar su detección obstaculizando el análisis del comportamiento mediante herramientas como entornos sandbox o depuradores.
Análisis antiestáticoEl malware intenta obstruir o agregar complejidad al análisis estático , lo que hace que sea más difícil para los profesionales de seguridad identificar y comprender sus comportamientos e intenciones maliciosas.
RecopilaciónEl malware se centra en identificar y recopilar información de la máquina o red de destino.
Comando y controlEl malware suele establecer comunicación con los sistemas comprometidos mediante diversos métodos, como servidores de comando y control, redes peer-to-peer u otros. Esta comunicación permite al malware controlar los sistemas comprometidos, lo que permite a los atacantes ejecutar comandos, extraer datos o realizar otras actividades maliciosas.
Acceso a credencialesEl objetivo principal del malware es robar credenciales de cuentas, como nombres de usuario y contraseñas.
Evasión de defensaEl malware tiene como objetivo eludir y eludir los diversos mecanismos de detección y seguridad presentes en el sistema para evitar ser detectado o mitigado.
DescubrimientoMalware busca recopilar información detallada sobre la configuración y la instalación del sistema o del entorno de red, incluido el hardware, el software y la infraestructura de red.
EjecuciónEl malware está diseñado para ejecutar comandos o código no autorizado en un sistema informático específico sin el consentimiento del usuario. Esto puede incluir una amplia gama de actividades dañinas, como robar información personal, dañar archivos o acceder al sistema sin autorización.
ExfiltraciónEl malware está diseñado para infiltrarse en sistemas o redes informáticas y robar y extraer datos confidenciales. Esto puede incluir información personal, datos financieros y cualquier otro dato valioso almacenado en el sistema o red objetivo.
ImpactoEl malware tiene como objetivo manipular, interrumpir o dañar los sistemas y datos informáticos. Puede acceder a los ordenadores a través de correos electrónicos infectados, sitios web comprometidos y otros medios engañosos, lo que provoca pérdidas financieras, violaciones de la privacidad e inestabilidad del sistema.
Movimiento lateralEl malware busca propagarse a través de la red, ya sea de forma activa mediante el acceso a la máquina o de forma pasiva, como por ejemplo a través de correos electrónicos maliciosos.
PersistenciaEl malware se desarrolla intencionalmente con la capacidad de permanecer sin ser detectado y operativo en un sistema informático durante un período prolongado.
Escalada de privilegiosEl malware busca infiltrarse en un sistema informático o red para obtener permisos o control elevados. Una vez dentro del entorno objetivo, el malware puede intentar aumentar sus privilegios, acceder a información confidencial o tomar el control de los recursos del sistema con fines maliciosos.

Micro objetivo

 Los micro objetivos se asocian con micro comportamientos, que se refieren a una o varias acciones de software potencialmente malicioso que no son  necesariamente maliciosas y que pueden tener diversos objetivos. Algunos ejemplos de binarios son los de las aplicaciones de mensajería. Sin embargo, es importante tener en cuenta que estos comportamientos suelen ser objeto de abuso.  Por eso, CAPA podría haber detectado este comportamiento.

MicroobjetivoDescripción
PROCESOexhibir comportamientos relacionados con procesos tales como, entre otros, crear proceso, establecer contexto de hilo, finalizar proceso y verificar mutex.
MEMORIAexhibiendo comportamientos tales como, pero no limitados a, asignar memoria, cambiar la protección de la memoria y liberar memoria.
COMUNICACIÓNexhibiendo comportamientos tales como (no limitado a, DNS , FTP , HTTP , ICMP, SMTP ) tráfico de red.
DATOSexhibiendo comportamientos tales como, entre otros, verificar cadenas, comprimir, decodificar y codificar datos

El resultado final de CAPA, Objetivo y Microobjetivo se muestran solo en la columna Objetivo .

Comportamientos de MBC

La columna «Comportamientos de MBC» contiene comportamientos y microcomportamientos con o sin sus métodos e identificadores. Consulte el enlace «Resumen de MBC» para obtener una lista completa del contenido de MBC .

A continuación se muestra una versión compilada de Comportamientos/Microcomportamientos y su Identificador.

ObjetivoComportamientoIdentificadoresExplicación
ANÁLISIS ANTICONDUCTUALDetección de máquinas virtualesB0009El malware verifica si se ejecuta en un entorno virtual. Durante el reconocimiento del sistema, examina diversos artefactos del usuario y del sistema.
ANÁLISIS ANTIESTÁTICOOfuscación de código ejecutableB0032El código ejecutable se ha ocultado intencionalmente para evitar el análisis de código estático. Este comportamiento se relaciona específicamente con el código ejecutable de una muestra de malware, incluidas sus secciones de datos y texto.
EJECUCIÓNIntérprete de comandos y secuencias de comandosE1059El malware puede explotar intérpretes de comandos y scripts para ejecutar comandos, scripts o binarios maliciosos. Se dirige a intérpretes integrados como cmd.exe o PowerShell en Windows o Bash en sistemas tipo Unix. Los atacantes también pueden usar otros lenguajes de scripting como Python, Perl o JavaScript.
DESCUBRIMIENTODescubrimiento de archivos y directoriosE1083El malware tiene la capacidad de buscar archivos específicos en ubicaciones particulares enumerando archivos y directorios.
ANÁLISIS ANTIESTÁTICO , EVASIÓN DE DEFENSAArchivos o información ofuscadosE1027El malware puede ofuscar archivos o información mediante codificación, cifrado o cualquier otro método, lo que dificulta su análisis. También puede codificar o cifrar muestras de malware.

Microcomportamiento

El término «comportamientos de bajo nivel» en el análisis de malware se refiere a acciones que el malware exhibe y que no son necesariamente maliciosas, sino que pueden tener diversos objetivos. Estos comportamientos suelen documentarse como «microcomportamientos» en el análisis de las Características del Comportamiento del Malware ( MBC ). Ejemplos de estos comportamientos de bajo nivel incluyen la creación de sockets TCP y la evaluación de condiciones específicas dentro de cadenas. Es importante  destacar que el hecho de que un comportamiento se clasifique como de bajo nivel no significa que sea inofensivo,  ya que podría formar parte de un plan malicioso más amplio.

MicroobjetivoMicrocomportamientosIdentificadoresExplicación
MEMORIAAsignar memoriaC0007El malware utiliza con frecuencia la asignación de memoria como parte de su estrategia para descomprimirse y ejecutar sus actividades maliciosas.
PROCESOCrear procesoC0017El malware crea un proceso mediante WMI o shellcode. También puede crear un proceso suspendido.
COMUNICACIÓNComunicación HTTPC0002El malware es capaz de iniciar comunicaciones HTTP .
DATOSCadena de comprobaciónC0019El malware puede inspeccionar una cadena para identificar características específicas, como contenido ASCII, números de tarjetas de crédito y longitud de la cadena.
DATOSCodificar datosC0026El malware tiene la capacidad de codificar datos utilizando base64 y XOR .
SISTEMA DE ARCHIVOSCrear directorioC0046El malware puede crear un directorio.
SISTEMA DE ARCHIVOSEliminar archivoC0047El malware tiene la capacidad de eliminar un archivo.
SISTEMA DE ARCHIVOSLeer archivoC0051El malware puede leer un archivo.
SISTEMA DE ARCHIVOSEscribe archivoC0052El malware tiene la capacidad de escribir en un archivo.

Tenga en cuenta que en el resultado final de CAPA, el comportamiento y el microcomportamiento se muestran solo en la columna Comportamiento .

Métodos

Por último, revisemos los MÉTODOS . A continuación, se muestran algunos métodos incluidos en los resultados del ejemplo anterior. Los métodos están vinculados a los comportamientos; por lo tanto, para verlos todos, consulte cada comportamiento/microcomportamiento específico de interés.

ComportamientoMétodos o subtécnicasIdentificadorExplicación
Ofuscación de código ejecutableOfuscación de argumentosB0032.020Los argumentos numéricos o de cadena simples para las llamadas API se calculan en tiempo de ejecución, lo que dificulta el análisis.
Ofuscación de código ejecutableCadenas de pilaB0032.017Construye y descifra cadenas en la pila en cada uso, luego deséchalas para evitar referencias obvias.
Comunicación HTTPLeer encabezadoC0002.014Encabezado de lectura HTTP .
Codificar datosBase64C0026.001El malware puede codificar datos utilizando Base64.
Codificar datosXORC0026.002El malware puede utilizar XOR para codificar datos.
Archivos o información ofuscadosAlgoritmo de codificación estándarE1027.m02La codificación de muestras de malware, archivos u otra información utiliza un algoritmo estándar (por ejemplo, base64).

Ahora que tenemos una buena visión general y comprendemos el contenido del MBC , deberíamos poder explicar el resultado de la muestra anterior. Por lo tanto, hagamos un breve resumen usando uno de los resultados. ¿Le parece bien?

Aquí está la explicación del resultado anterior. Consulte la tabla a continuación.

EtiquetaValorExplicación
Objetivo del MBCDATOSexhibiendo comportamientos tales como, pero no limitados a, verificar cadenas, comprimir, decodificar y codificar datos.
Comportamiento del MBCCodificar datosEl malware tiene la capacidad de codificar datos utilizando base64 y XOR .
MétodoBase64El malware puede codificar datos utilizando Base64.
IdentificadorC0026.001El identificador transmite información sobre un comportamiento. También funciona como etiqueta.

Conociendo esta información, ¡podemos simplemente decir que este archivo puede usar el esquema de codificación base64!

Responda las siguientes preguntas

¿Qué sirve como catálogo de objetivos y comportamientos del malware?

Malware Behavior Catalogue

 ¿Qué campo se basa en las tácticas ATT&CK en el contexto del comportamiento del malware?

Objective

¿Cuál es el identificador del microcomportamiento «Crear proceso «?

C0017

¿Cuál es el comportamiento con un identificador  B0009 ?

Lab Machine Detection

El malware puede utilizarse para ofuscar datos mediante base64 y XOR. ¿Cuál es el comportamiento microeconómico asociado a esto?

Encode Data

¿A qué microcomportamiento se refiere » El malware es capaz de iniciar comunicaciones HTTP «?

HTTP Communication

Análisis de los resultados de CAPA (Parte 3): Espacios de nombres

Dividiremos la discusión en dos temas principales: Capacidad y Espacio de nombres .  En esta tarea, nos centraremos en el análisis del  Espacio de nombres.  

A continuación, encontrará el capa.exeresultado. Tenga en cuenta que también puede verlo en la Tarea 2. Haga clic en » Ver terminal» a continuación.

El contenido de este bloque se representa en el siguiente formato.

FormatoMuestraExplicación
Capacidad(Nombre de la regla) :: TLN(Espacio de nombres de nivel superior) / Espacio de nombrescadenas de referencia anti- VM ::Anti-Analysis/anti- vm / vm -detectionReferencia anti- cadenas de VM = Capacidad (nombre de la regla) Anti-análisis = TLN o espacio de nombres de nivel superior anti- vm / vm -detection = espacio de nombres

Espacios de nombres

CAPA utiliza espacios de nombres para agrupar elementos con el mismo propósito. 

Espacio de nombres de nivel superior (TLN)Explicación
antianálisisContiene un conjunto de reglas diseñadas específicamente para detectar comportamientos del malware que evaden el análisis. Estos comportamientos incluyen técnicas de ofuscación, empaquetado y antidepuración.
recopilaciónContiene un conjunto de reglas relacionadas con los datos que el malware puede enumerar y recopilar para exfiltración u otros fines. Considérelo como el aspecto de «recopilación de datos» del comportamiento del malware.
comunicaciónContiene un conjunto de reglas que rigen los diferentes comportamientos de comunicación del malware. Esto abarca cómo interactúa con las redes, incluyendo la transmisión y recepción de datos, las comunicaciones de comando y control, y otros comportamientos relacionados con la red.
compiladorContiene un conjunto de reglas y configuraciones para reconocer entornos de compilación o compiladores específicos empleados en la generación de ejecutables. Estos espacios de nombres sirven esencialmente como la «firma» única que identifica el proceso de compilación de un programa.
manipulación de datosContiene un conjunto de reglas que rigen los comportamientos involucrados en la alteración de datos dentro de archivos ejecutables. Este aspecto puede considerarse el componente de «transformación de datos» del comportamiento del malware, abarcando acciones como el cifrado de cadenas y la codificación de datos.

Ver más tablas

ejecutableContiene un conjunto de reglas relativas a los atributos de los archivos ejecutables. Estos atributos incluyen secciones PE o información de depuración asociada al ejecutable.
interacción con el anfitriónContiene un conjunto de reglas relacionadas con los comportamientos que implican interacciones con el sistema host. Esto abarca cómo el malware interactúa con su entorno. Específicamente, las reglas de este espacio de nombres pueden capturar comportamientos relacionados con la lectura, escritura o modificación de archivos en el disco, incluyendo la creación, eliminación o modificación de archivos y directorios.
impactoContiene un conjunto de reglas relacionadas con las posibles consecuencias o efectos del comportamiento de un programa. Considérelo como el aspecto que se centra en el posible daño que este malware puede causar. Puede incluir comportamientos relacionados con el acceso remoto, la exfiltración, la destrucción o la modificación de datos.
internoLas reglas del sistema no están diseñadas para el uso directo de los analistas ni para la generación de informes. Su propósito es el desarrollo y la ejecución de reglas internas de la herramienta CAPA.
bibliotecabloques de construcción para crear otras reglas
enlaceContiene reglas para identificar comportamientos que implican la vinculación o la carga dinámica de código o bibliotecas externas durante la ejecución del programa. Esta es su función principal y es crucial para la seguridad del programa. Comprender el comportamiento de la vinculación es esencial por varias razones. El malware a menudo depende de bibliotecas o componentes externos (como OpenSSL, Zlib u otras bibliotecas de terceros) para realizar tareas específicas. Detectar estas dependencias ayuda a los analistas a comprender las capacidades del malware. Las bibliotecas externas también introducen una superficie de ataque adicional. Si existe una vulnerabilidad en una biblioteca vinculada, el malware o los defensores pueden explotarla durante el análisis.
código de cargaContiene un conjunto de reglas y regulaciones relacionadas con los comportamientos asociados con la carga o ejecución dinámica de código durante la ejecución de un programa. Este concepto puede compararse con el aspecto de «inyección de código en tiempo de ejecución» del comportamiento del malware, que implica la introducción de código no autorizado durante la ejecución de un programa.
familia de malwareContiene un conjunto de reglas relacionadas con comportamientos vinculados a familias o grupos de malware específicos. Sirve para identificar las características distintivas o «firmas» asociadas a familias de malware conocidas, lo que permite una detección y clasificación más precisa de amenazas potenciales.
viveroEste es un escenario que contiene reglas para aquellos que no están del todo pulidos.
persistenciaContiene reglas relacionadas con los comportamientos asociados con el mantenimiento del acceso o la persistencia en un sistema comprometido. Este espacio de nombres se centra principalmente en comprender cómo el malware puede establecerse y mantenerse presente en un entorno comprometido, lo que le permite persistir y realizar actividades maliciosas durante un período prolongado.
tiempo de ejecuciónContiene un conjunto de reglas que buscan identificar el lenguaje o la plataforma en la que se ejecuta el programa.
segmentacióContiene un conjunto de reglas relacionadas con los comportamientos exhibidos por los programas que interactúan con los cajeros automáticos.

Veamos cómo funciona esto consultando la tabla a continuación.

Espacio de nombres de nivel superior (TLN)Espacios de nombresArchivo YAML de reglasExplicación
Antianálisisanti- vm / detección de vmreferencia-anti- vm -strings-targeting-virtualbox.yml   referencia-anti- vm -strings-targeting-virtualpc.ymlEl espacio de nombres «anti- vm / vm -detection» contiene reglas para detectar entornos de máquinas virtuales ( VM ). Estas reglas se centran en identificar cadenas o patrones específicos que el malware suele usar para detectar máquinas virtuales en ejecución. Mediante estas reglas, CAPA puede identificar si el malware busca claves de registro específicas de VMware, la presencia de herramientas de VMware u otros elementos relacionados con las VM .
 ofuscaciónofuscado con dotfuscator.yml   ofuscado con smartassembly.ymlEl malware suele emplear técnicas de ofuscación para dificultar el análisis. Estas incluyen métodos como el cifrado de cadenas, la ofuscación de código, el empaquetado y trucos antidepuración. El espacio de nombres de ofuscación aborda estas técnicas, que ocultan u ocultan el verdadero propósito del código.

Para esto, solo usamos Anti-Analysis como TLN (espacio de nombres de nivel superior). Bajo este TLN, agrupamos espacios de nombres, como anti- vm / vm -detection  y ofuscación . Cada espacio de nombres contiene un conjunto de reglas que también están agrupadas. Para anti- vm / vm -detection, tenemos reglas y su archivo de configuración, como:

  • referencia-anti- vm -strings-targeting-virtualbox.yml
  • referencia-anti- vm -strings-targeting-virtualpc.ym l

Lo mismo ocurre con el espacio de nombres de ofuscación . Tenemos reglas agrupadas, como:

  • ofuscado con dotfuscator.yml
  • ofuscado con smartassembly.yml

Nuevamente, tenga en cuenta que esto todavía está bajo antianálisis de TLN .

Consulte también la siguiente ilustración.

Además de lo mencionado en la tabla anterior, existen algunos espacios de nombres adicionales en Anti-Analysis con sus reglas correspondientes. Si desea obtener más información, consulte este enlace .

Utilice este enlace si está interesado en otros TLN o espacios de nombres de nivel superior, como colección, compilador, persistencia , enlace e impacto.

Responda las siguientes preguntas

¿Qué espacio de nombres de nivel superior contiene un conjunto de reglas diseñadas específicamente para detectar comportamientos, incluidas técnicas de ofuscación, empaquetado y anti-depuración, que exhibe el malware para evadir el análisis ?

anti-analysis

¿Qué espacio de nombres contiene reglas para detectar entornos de máquinas virtuales (VM) de laboratorio ? Tenga en cuenta que este no es el TLN ni el espacio de nombres de nivel superior.

anti-vm/vm-detection

¿Qué espacio de nombres de nivel superior contiene reglas relacionadas con comportamientos asociados al mantenimiento del acceso o la persistencia dentro de un sistema comprometido ? Este espacio de nombres se centra en comprender cómo el malware puede establecer y mantener una presencia dentro de un entorno comprometido, lo que le permite persistir y llevar a cabo actividades maliciosas durante un período prolongado.

persistence

¿Qué espacio de nombres aborda técnicas como el cifrado de cadenas, la ofuscación de código, el empaquetado y los trucos anti-depuración , que ocultan u oscurecen el verdadero propósito del código?

obfuscation

¿Qué espacio de nombres de nivel superior sirve como campo de pruebas para reglas que aún no están del todo pulidas?

Nursery

Análisis de los resultados de CAPA Parte 4: Capacidad

En esta tarea, continuaremos la discusión de la tarea anterior.

Capacidad

A continuación se muestra una tabla con la capacidad y su TLN, espacio de nombres y las reglas asociadas al archivo YAML . Por favor, échale un vistazo.

CapacidadEspacio de nombres de nivel superior (TLN)Espacios de nombresArchivo YAML de reglasNotas
cadenas de referencia anti- VMAntianálisisanti- vm / detección de vmreferencia-anti- vm -strings.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
cadenas de referencia anti- VM dirigidas a VMWareAntianálisisanti- vm / detección de vmreferencia-anti- vm -strings-targeting-vmware.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
cadenas de referencia anti- VM dirigidas a VirtualBoxAntianálisisanti- vm / detección de vmreferencia-anti- vm -strings-targeting-virtualbox.ymlPuede consultar el TLN (espacio de nombres de nivel superior).
cadena de agente de usuario HTTP de referenciaComunicaciónhttp /clientereferencia- http -user-agent-string.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí )
comprobar el código de estado HTTPComunicaciónhttpcomprobar- http -status-code.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí

Ver más capacidades

cadena de referencia Base64Manipulación de datoscodificación/base64cadena de referencia base64.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
codificar datos usando XORManipulación de datoscodificación/ XORcodificar datos usando xor .ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
Contiene una sección de almacenamiento local de subprocesos (.tls)Ejecutablepe /sección/tlssección-tls-de-almacenamiento-local-de-un-hilo.ymlPuede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas.
obtener la ruta de archivo comúnInteracción con el anfitriónsistema de archivosobtener-ruta-de-archivo-común.ymlPuede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas.
crear directorioInteracción con el anfitriónsistema de archivos/crearcrear-directorio.ymlPuede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas.
eliminar archivoInteracción con el anfitriónsistema de archivos/eliminareliminar-archivo.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
leer archivo en WindowsInteracción con el anfitriónsistema de archivos/lecturaleer-archivo-en-windows.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
escribir archivo en WindowsInteracción con el anfitriónsistema de archivos/escrituraescribir-archivo-en-windows.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
obtener el valor de almacenamiento local del hiloInteracción con el anfitriónprocesoobtener-valor-de-almacenamiento-local-del-hilo.ymlEsta regla se encuentra en TLN Nursery ,  un escenario para reglas sin pulir.
asignar o cambiar memoria RWXInteracción con el anfitriónprocesar/inyectarasignar-o-cambiar-memoria-rwx.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
crear proceso en WindowsInteracción con el anfitriónproceso de creacióncrear-proceso-en-windows.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
cadenas de criptomonedas de referenciaImpactoimpacto/criptomonedacadena-de-criptomonedas-de-referencia.ymlEsta regla se encuentra en TLN Nursery ,  un escenario para reglas sin pulir.
Función de enlace en tiempo de ejecución en WindowsEnlacevinculación en tiempo de ejecuciónfunción-de-enlace-en-tiempo-de-ejecución-en-windows.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
analizar encabezado PEcódigo de cargacódigo de carga/ peanalizar -pe -header.yml   resolver-función-mediante-análisis -pe -exports.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
Resolver la función analizando las exportaciones de PEcódigo de cargacódigo de carga/ pefunción de resolución mediante análisis de pe- exports.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
ejecutar expresión de PowerShellcódigo de cargacódigo de carga/ PowerShellejecutar- powershell -expression.ymlPara consultar todas las reglas de este espacio de nombres, haga clic aquí
programar tarea a través de atpersistenciatareas programadasprogramar-tarea-vía-at.ymlPuede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas.
programar tareas mediante schtaskspersistenciatareas programadasprogramar-tarea-vía-schtasks.ymlPuede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas.

Para explicar esto con más detalle, revisemos la primera capacidad en la tabla, “ cadenas de referencia anti- VM ” .

  • Observamos que las reglas relacionadas en formato YML son reference-anti -vm -strings.yml
  • Esto se encuentra bajo el espacio de nombres anti- vm / vm -detection
  • que también se encuentra bajo el Anti-análisis del espacio de nombres de nivel superior

Esto indica que CAPA pudo identificar que el software potencialmente malicioso busca claves de registro específicas de VMware , la presencia de herramientas de VMware u otros elementos relacionados con la máquina virtual mediante el archivo YAML de la regla reference-anti -vm -strings.yml . El malware suele realizar este comportamiento para evitar su detección. Por eso CAPA lo detectó.

Veamos otro ejemplo. Veamos » programar tarea mediante schtasks » .

  • Observamos que las reglas relacionadas en formato YML son schedule-task-via-schtasks.yml *
  • Esto se encuentra bajo el espacio de nombres tareas programadas
  • que también está bajo la persistencia del espacio de nombres de nivel superior

Esto indica que CAPA pudo identificar comportamientos relacionados con las tareas programadas en el sistema operativo Windows. Podría haber reconocido patrones que indican que el ejecutable se registra como una tarea programada para mantener la persistencia mediante la regla definida en schedule-task-via-schtasks.yml.

¡Espera! ¿Has notado algo?

¡Exacto! El elemento de Capacidad tiene el mismo nombre que los archivos YML de Reglas, con un guion (-) entre los espacios. Es sencillo, ya que Capacidad es el nombre de la regla.

Ahora, queremos mencionar algunas excepciones. Si la capacidad o las reglas no se encuentran en su espacio de nombres, tomemos las cadenas de criptomonedas de referencia de la capacidad de la tabla anterior; esto debería estar en el espacio de nombres de nivel superior de Impact , ¿verdad? Sin embargo, si revisa las carpetas, no encontrará las reglas correspondientes. Se encontrarán en el TLN de Nursery . Este es el marcador de posición para las reglas que aún no están completamente pulidas.

Ahora que tenemos una buena visión general y comprendemos el contenido de Capacidad y Espacio de nombres, deberíamos poder explicar el resultado de ejemplo de las tareas anteriores. Por lo tanto, hagamos un breve resumen usando uno de los resultados. ¿De acuerdo?

Aquí está la explicación del resultado anterior. Consulte la tabla a continuación.

EtiquetaValorExplicación
Capacidadcadena base64 de referenciaEl malware tiene la capacidad de codificar datos utilizando un esquema base64.
Espacio de nombres de nivel superiormanipulación de datosContiene un conjunto de reglas que rigen los comportamientos involucrados en la alteración de datos dentro de archivos ejecutables. Este aspecto puede considerarse el componente de «transformación de datos» del comportamiento del malware, abarcando acciones como el cifrado de cadenas y la codificación de datos.
Espacio de nombrescodificación/base64Este espacio de nombres consta de reglas para codificar y decodificar datos utilizando Base64 y XOR
¿Regla del archivo YAML coincide?cadena de referencia base64.ymlRecuerde que el nombre de la capacidad es también el nombre de la regla con un guion adicional (-) entre los espacios.

¡Conociendo esta información, podemos decir que este archivo puede usar el esquema de codificación base64!

¡Ahora hemos terminado de diseccionar los resultados de la muestra ejecutada de la tarea anterior!

Responda las siguientes preguntas

¿Qué archivo YAML de reglas coincidió si la capacidad o el nombre de la regla es verificar el código de estado HTTP ?

check-http-status-code.yml

¿Cuál es el nombre de la capacidad si el archivo YAML de la regla es reference-anti-vm-strings.yml?

reference anti-VM strings

¿Qué TLN o espacio de nombres de nivel superior incluye la expresión de PowerShell de ejecución de nombre de capacidad o regla ?

load-code

Verifique las condiciones dentro del check-for-windows-sandbox-via-registry.ymlarchivo de reglas de este enlace (se abre en una pestaña nueva) . ¿Cuál es el valor de la API que termina en Exestá buscando?

RegOpenKeyEx

¡Más información, más diversión!

¿No te interesa saber qué coincidió exactamente en la regla? ¡Pues a mí sí!

En esta tarea, intentaremos determinar el motivo de la activación de las reglas y las condiciones implicadas.  -vv  Para ello, utilizaremos el parámetro **muy detallado**.

OpciónDescripciónSintaxis de muestra
-vo–verboseHabilitar documento con resultados detalladoscapa.exe -v .\cryptbot.bin 
-vvo–vverboseHabilitar documento con resultados muy detallados)capa.exe -vv .\cryptbot.bin 

¡Vamos a ejecutarlo!

Esto nos dará resultados más detallados; sin embargo, tomará bastante tiempo. Ya procesamos esto y le pusimos nombre al archivo cryptbot_vv.txten » C:\Users\Administrator\Desktop\capa». Recuerda que no necesitas esperar a que la herramienta termine de ejecutarse; lo hicimos para que puedas familiarizarte con su funcionamiento y experimentar con sus parámetros.

Abra otra terminal de PowerShell y mire dentro del archivo usando el comando Get-Content cryptbot_vv.txt.

Terminal

PSC:\Users\Administrator\Desktop\capa> Get-Content.\cryptbot_vv.txt

Entonces, ¿abriste el archivo? ¿Tienes más de tres mil líneas similares a esta?

Acceder a esta enorme cantidad de información mediante una terminal o un editor de texto será un desafío .

Para analizar este resultado fácilmente, necesitamos hacer dos cosas. Primero, usaremos el parámetro -j y  -vvy dirigiremos el resultado a un archivo .json . El comando seríacapa.bin -j -vv .\cryptbot.bin > cryptbot_vv.json

Nuevamente, esto llevará bastante tiempo, similar a los comandos anteriores que ejecutamos. Lo procesamos y creamos un archivo llamado  cryptbot_vv.json ubicado en » C:\Users\ Administrator\Desktop\capa «. Además, adjuntamos el archivo a esta tarea.  Recuerde que no necesita esperar  a que la herramienta termine de ejecutarse; lo hicimos para que pueda familiarizarse con su funcionamiento y experimentar con  sus parámetros. 

Podemos comenzar con nuestro siguiente paso.

Explorador web CAPA

El segundo paso es subir el archivo a CAPA Explorer Web . Podemos usar la versión en línea (en este enlace ) o la versión sin conexión que ya está en la máquina virtual. Hay un navegador Google Chrome en el escritorio llamado  capa_web_explorer_offline.html . También puedes acceder a él usando un marcador de Chrome. Ten en cuenta  que la página local puede tardar hasta un minuto en cargarse en Chrome en la máquina de destino.

¡Ahora deberíamos tener acceso a la página de inicio! 

Busca el botón «Subir desde local» en la  parte inferior izquierda de la página y selecciona el archivo  cryptbot_vv.json en C:\Users\ Administrator\Desktop\capa . Una vez subido, deberías obtener un resultado similar.  

¿No se ve genial y más fácil de usar? ¡Apuesto a que sí!

Ahora es el momento de explorar esta excelente adición a la herramienta. Revisaremos algunas funciones y comprobaremos qué elementos de la regla coincidieron con precisión. Esto nos dará una mejor idea de su funcionamiento.

Analicemos nuestro primer ejemplo a continuación. Sabemos que la capacidad era hacer  referencia a cadenas anti- VM dirigidas a VMWare,  y el archivo de configuración de la regla o archivo YAML correspondiente es  anti- VM -Strings-targeting-VMWare.yml.  Observe el recuadro en la imagen.

 A continuación , le mostraremos una descripción general del contenido de la regla . Concéntrese en las características , ya que CAPA utiliza las siguientes cadenas para comprobar si se encuentran dentro del archivo analizado. 

Ver regla

¿Lo viste? ¡Correcto! En las características, CAPA Web Explorer hace referencia a la cadena «/VMWare/i» . En resumen, CAPA indica que, en este espacio de nombres, podríamos identificar cadenas con el valor VMWare mediante las condiciones de la regla y expresiones regulares .

Veamos otro ejemplo.  Sabemos que la capacidad era  referenciar la tarea programada mediante schtasks , y la regla correspondiente era programar la tarea mediante schtasks.yml .  Observe el recuadro en la imagen. 

Lo mismo aplica a nuestro primer ejemplo; le mostraremos el resumen del contenido de la regla. Concéntrese en las características, ya que CAPA utiliza las siguientes cadenas para comprobar si hay cadenas en el archivo analizado.

Con esta función, CAPA Web Explorer hace referencia a la cadena «/schtasks/i  y /\/create /i» . En resumen, CAPA indica que, bajo este espacio de nombres, y mediante las condiciones de la regla y expresiones regulares, podemos identificar cadenas con el valor schtasks  y create . 

Cuadro de búsqueda global

Otra característica interesante de esta herramienta son sus opciones de filtro y el cuadro de búsqueda global, que son muy útiles.

Podríamos examinar rápidamente esta abrumadora información usando CAPA Web Explorer en comparación con  cualquier editor de texto. 

¡Siéntete libre de explorar más! 

Responda las siguientes preguntas

¿Qué parámetro permite generar el resultado de CAPA en un archivo .json ?

-j

¿Qué herramienta te permite explorar de forma interactiva los resultados de CAPA en tu navegador web?

CAPA Web Explorer

¿Qué función de este Explorador Web de CAPA le permite filtrar opciones o resultados?

Global Search Box

Conclusión

En esta sala, discutimos cómo se aprovecha CAPA y juega un papel crítico en la ciberseguridad al analizar software potencialmente malicioso o peligroso y buscar proactivamente amenazas potenciales utilizandoanálisis estáticoEsto se logra automatizando el proceso de detección de funcionalidades complejas dentro de los archivos ejecutables y presentando los resultados en un formato fácilmente comprensible para los expertos en seguridad. Esta simplificación de conceptos complejos de ingeniería inversa ayuda a comprender rápidamente el software potencialmente dañino, lo que, en última instancia, fortalece la respuesta ante incidentes y las estrategias de defensa. 

Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!

Deja una respuesta

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