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ón | Descripción | Sintaxis de muestra |
| -ho–help | Mostrar este mensaje de ayuda y salir. | capa -h |
| -vo–verbose | Habilitar documento de resultados detallados. | capa.exe .\cryptbot.bin -v |
| -vvo–vverbose | Habilitar 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.
| Formato | Muestra | Explicación |
| Táctica ATT&CK :: Técnica ATT&CK :: Identificador de técnica | Evasió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 MAEC | Descripción |
| Lanzacohetes | Exhibe comportamientos que desencadenan acciones específicas similares al comportamiento del malware. |
| Descargador | Exhibe 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.
| Formato | Muestra | Explicació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.
| Objetivo | Explicación |
| Análisis anticonductual | El malware intenta evitar su detección obstaculizando el análisis del comportamiento mediante herramientas como entornos sandbox o depuradores. |
| Análisis antiestático | El 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ón | El malware se centra en identificar y recopilar información de la máquina o red de destino. |
| Comando y control | El 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 credenciales | El objetivo principal del malware es robar credenciales de cuentas, como nombres de usuario y contraseñas. |
| Evasión de defensa | El 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. |
| Descubrimiento | Malware 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ón | El 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ón | El 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. |
| Impacto | El 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 lateral | El 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. |
| Persistencia | El 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 privilegios | El 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.
| Microobjetivo | Descripción |
| PROCESO | exhibir comportamientos relacionados con procesos tales como, entre otros, crear proceso, establecer contexto de hilo, finalizar proceso y verificar mutex. |
| MEMORIA | exhibiendo comportamientos tales como, pero no limitados a, asignar memoria, cambiar la protección de la memoria y liberar memoria. |
| COMUNICACIÓN | exhibiendo comportamientos tales como (no limitado a, DNS , FTP , HTTP , ICMP, SMTP ) tráfico de red. |
| DATOS | exhibiendo 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.
| Objetivo | Comportamiento | Identificadores | Explicación |
| ANÁLISIS ANTICONDUCTUAL | Detección de máquinas virtuales | B0009 | El 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ÁTICO | Ofuscación de código ejecutable | B0032 | El 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ÓN | Intérprete de comandos y secuencias de comandos | E1059 | El 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. |
| DESCUBRIMIENTO | Descubrimiento de archivos y directorios | E1083 | El malware tiene la capacidad de buscar archivos específicos en ubicaciones particulares enumerando archivos y directorios. |
| ANÁLISIS ANTIESTÁTICO , EVASIÓN DE DEFENSA | Archivos o información ofuscados | E1027 | El 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.
| Microobjetivo | Microcomportamientos | Identificadores | Explicación |
| MEMORIA | Asignar memoria | C0007 | El malware utiliza con frecuencia la asignación de memoria como parte de su estrategia para descomprimirse y ejecutar sus actividades maliciosas. |
| PROCESO | Crear proceso | C0017 | El malware crea un proceso mediante WMI o shellcode. También puede crear un proceso suspendido. |
| COMUNICACIÓN | Comunicación HTTP | C0002 | El malware es capaz de iniciar comunicaciones HTTP . |
| DATOS | Cadena de comprobación | C0019 | El 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. |
| DATOS | Codificar datos | C0026 | El malware tiene la capacidad de codificar datos utilizando base64 y XOR . |
| SISTEMA DE ARCHIVOS | Crear directorio | C0046 | El malware puede crear un directorio. |
| SISTEMA DE ARCHIVOS | Eliminar archivo | C0047 | El malware tiene la capacidad de eliminar un archivo. |
| SISTEMA DE ARCHIVOS | Leer archivo | C0051 | El malware puede leer un archivo. |
| SISTEMA DE ARCHIVOS | Escribe archivo | C0052 | El 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.
| Comportamiento | Métodos o subtécnicas | Identificador | Explicación |
| Ofuscación de código ejecutable | Ofuscación de argumentos | B0032.020 | Los 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 ejecutable | Cadenas de pila | B0032.017 | Construye y descifra cadenas en la pila en cada uso, luego deséchalas para evitar referencias obvias. |
| Comunicación HTTP | Leer encabezado | C0002.014 | Encabezado de lectura HTTP . |
| Codificar datos | Base64 | C0026.001 | El malware puede codificar datos utilizando Base64. |
| Codificar datos | XOR | C0026.002 | El malware puede utilizar XOR para codificar datos. |
| Archivos o información ofuscados | Algoritmo de codificación estándar | E1027.m02 | La 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.
| Etiqueta | Valor | Explicación |
| Objetivo del MBC | DATOS | exhibiendo comportamientos tales como, pero no limitados a, verificar cadenas, comprimir, decodificar y codificar datos. |
| Comportamiento del MBC | Codificar datos | El malware tiene la capacidad de codificar datos utilizando base64 y XOR . |
| Método | Base64 | El malware puede codificar datos utilizando Base64. |
| Identificador | C0026.001 | El 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.
| Formato | Muestra | Explicación |
| Capacidad(Nombre de la regla) :: TLN(Espacio de nombres de nivel superior) / Espacio de nombres | cadenas de referencia anti- VM ::Anti-Analysis/anti- vm / vm -detection | Referencia 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álisis | Contiene 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ón | Contiene 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ón | Contiene 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. |
| compilador | Contiene 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 datos | Contiene 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
| ejecutable | Contiene 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ón | Contiene 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. |
| impacto | Contiene 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. |
| interno | Las 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. |
| biblioteca | bloques de construcción para crear otras reglas |
| enlace | Contiene 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 carga | Contiene 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 malware | Contiene 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. |
| vivero | Este es un escenario que contiene reglas para aquellos que no están del todo pulidos. |
| persistencia | Contiene 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ón | Contiene 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 nombres | Archivo YAML de reglas | Explicación |
| Antianálisis | anti- vm / detección de vm | referencia-anti- vm -strings-targeting-virtualbox.yml referencia-anti- vm -strings-targeting-virtualpc.yml | El 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ón | ofuscado con dotfuscator.yml ofuscado con smartassembly.yml | El 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.
| Capacidad | Espacio de nombres de nivel superior (TLN) | Espacios de nombres | Archivo YAML de reglas | Notas |
| cadenas de referencia anti- VM | Antianálisis | anti- vm / detección de vm | referencia-anti- vm -strings.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| cadenas de referencia anti- VM dirigidas a VMWare | Antianálisis | anti- vm / detección de vm | referencia-anti- vm -strings-targeting-vmware.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| cadenas de referencia anti- VM dirigidas a VirtualBox | Antianálisis | anti- vm / detección de vm | referencia-anti- vm -strings-targeting-virtualbox.yml | Puede consultar el TLN (espacio de nombres de nivel superior). |
| cadena de agente de usuario HTTP de referencia | Comunicación | http /cliente | referencia- http -user-agent-string.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí ) |
| comprobar el código de estado HTTP | Comunicación | http | comprobar- http -status-code.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
Ver más capacidades
| cadena de referencia Base64 | Manipulación de datos | codificación/base64 | cadena de referencia base64.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| codificar datos usando XOR | Manipulación de datos | codificación/ XOR | codificar datos usando xor .yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| Contiene una sección de almacenamiento local de subprocesos (.tls) | Ejecutable | pe /sección/tls | sección-tls-de-almacenamiento-local-de-un-hilo.yml | Puede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas. |
| obtener la ruta de archivo común | Interacción con el anfitrión | sistema de archivos | obtener-ruta-de-archivo-común.yml | Puede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas. |
| crear directorio | Interacción con el anfitrión | sistema de archivos/crear | crear-directorio.yml | Puede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas. |
| eliminar archivo | Interacción con el anfitrión | sistema de archivos/eliminar | eliminar-archivo.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| leer archivo en Windows | Interacción con el anfitrión | sistema de archivos/lectura | leer-archivo-en-windows.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| escribir archivo en Windows | Interacción con el anfitrión | sistema de archivos/escritura | escribir-archivo-en-windows.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| obtener el valor de almacenamiento local del hilo | Interacción con el anfitrión | proceso | obtener-valor-de-almacenamiento-local-del-hilo.yml | Esta regla se encuentra en TLN Nursery , un escenario para reglas sin pulir. |
| asignar o cambiar memoria RWX | Interacción con el anfitrión | procesar/inyectar | asignar-o-cambiar-memoria-rwx.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| crear proceso en Windows | Interacción con el anfitrión | proceso de creación | crear-proceso-en-windows.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| cadenas de criptomonedas de referencia | Impacto | impacto/criptomoneda | cadena-de-criptomonedas-de-referencia.yml | Esta regla se encuentra en TLN Nursery , un escenario para reglas sin pulir. |
| Función de enlace en tiempo de ejecución en Windows | Enlace | vinculación en tiempo de ejecución | función-de-enlace-en-tiempo-de-ejecución-en-windows.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| analizar encabezado PE | código de carga | código de carga/ pe | analizar -pe -header.yml resolver-función-mediante-análisis -pe -exports.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| Resolver la función analizando las exportaciones de PE | código de carga | código de carga/ pe | función de resolución mediante análisis de pe- exports.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| ejecutar expresión de PowerShell | código de carga | código de carga/ PowerShell | ejecutar- powershell -expression.yml | Para consultar todas las reglas de este espacio de nombres, haga clic aquí |
| programar tarea a través de at | persistencia | tareas programadas | programar-tarea-vía-at.yml | Puede consultar el TLN (espacio de nombres de nivel superior) para obtener más reglas. |
| programar tareas mediante schtasks | persistencia | tareas programadas | programar-tarea-vía-schtasks.yml | Puede 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.
| Etiqueta | Valor | Explicación |
| Capacidad | cadena base64 de referencia | El malware tiene la capacidad de codificar datos utilizando un esquema base64. |
| Espacio de nombres de nivel superior | manipulación de datos | Contiene 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 nombres | codificación/base64 | Este espacio de nombres consta de reglas para codificar y decodificar datos utilizando Base64 y XOR |
| ¿Regla del archivo YAML coincide? | cadena de referencia base64.yml | Recuerde 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ón | Descripción | Sintaxis de muestra |
| -vo–verbose | Habilitar documento con resultados detallados | capa.exe -v .\cryptbot.bin |
| -vvo–vverbose | Habilitar 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!!!