top of page

La técnica de información o archivos ofuscados MITRE ATT&CK T1027


Picus Labs analizó millones de técnicas adversarias y publicó el Informe rojo 2021 y las 10 técnicas MITRE ATT&CK más frecuentes utilizadas por los adversarios. Continuamos con nuestra serie de blogs sobre las técnicas en la lista Top Ten .


Este es el sexto blog de la serie, y explicamos la técnica de información o archivos ofuscados T1027 del marco MITRE ATT&CK. En el Red Report 2021, esta técnica es la sexta técnica ATT&CK más utilizada.


MITRE ATT&CK T1027 Archivos o información ofuscados


Los adversarios ofuscan el contenido de un ejecutable o archivo cifrándolos, codificándolos, comprimiéndolos u oscureciéndolos en el sistema o en tránsito [1]. Este es un comportamiento adversario común que se puede usar para eludir las defensas en múltiples plataformas y la red.


¿Cuáles son los métodos comunes de ofuscación?


Los adversarios ofuscan archivos, códigos, comandos, configuraciones y otra información maliciosos para evitar que los controles de seguridad los detecten. Los métodos de ofuscación más comunes son:


  • Cambiar la forma de los datos: este método incluye mecanismos que transforman los datos para evitar la detección, como la compresión, el archivo, el empaquetado y el archivo. Algunos de estos mecanismos requieren la interacción del usuario para revertir los datos a su forma original, como enviar una contraseña para abrir un archivo protegido por contraseña.

  • Cambiar el tamaño de los datos: este método incluye mecanismos, como el relleno binario , que aumentan el tamaño de un archivo malicioso sin afectar su funcionalidad y comportamiento. El objetivo es evadir las herramientas de seguridad que no están configuradas para escanear archivos más grandes que un tamaño específico.

  • Ocultar datos maliciosos: estos mecanismos ocultan los datos maliciosos en archivos aparentemente benignos. Antes de ocultarse en un archivo, los datos se pueden dividir para disminuir su tasa de detección. La esteganografía y el contrabando de HTML son algunos ejemplos de este método.

  • Ofuscación o eliminación de indicadores: este método incluye mecanismos que se utilizan para ofuscar o eliminar indicadores de compromiso de archivos maliciosos para evitar la detección. Las firmas de archivos, las variables de entorno, los caracteres, los nombres de las secciones y otras semánticas específicas de la plataforma, el idioma o la aplicación son algunos indicadores ofuscados o eliminados por los atacantes para eludir las detecciones basadas en firmas.


Subtécnica 1: T1027.001 Relleno binario


El relleno binario agrega datos basura al binario de malware original para alterar la representación en disco del malware sin afectar su funcionalidad o comportamiento [2]. Los adversarios usan el relleno binario para eludir ciertos escáneres de seguridad que ignoran los archivos más grandes que un tamaño específico y evitan los controles estáticos basados ​​en hash.


Uso adversario de relleno binario


El objetivo principal de la técnica de relleno binario es aumentar el tamaño del binario de malware para superar los límites de tamaño de las herramientas de seguridad y evitarlas.


Algunas herramientas de seguridad no están diseñadas ni configuradas para analizar archivos de gran tamaño. Picus Labs examinó las herramientas antivirus y antimalware locales y en la nube actuales. Encontramos los valores de tamaño de archivo máximo predeterminados de 25 MB, 100 MB, 120 MB, 150 MB y 200 MB. Las herramientas antivirus y antimalware no analizarán los archivos que superen el tamaño de archivo máximo. Por supuesto, estas herramientas también permiten a los usuarios cambiar o eliminar el límite de tamaño.


Figura 1: Ejemplo de límite de tamaño de archivo para análisis de malware



Además, el tamaño máximo de archivo que pueden analizar los servicios de análisis de archivos públicos también es limitado. Por ejemplo, el límite actual de carga de archivos de VirusTotal es de 650 MB.


En general, los adversarios desarrollan funciones para generar datos basura. Por ejemplo, el ransomware Cerber utilizó una función para concatenar una cadena (N4mQj8624F9Npw10s61F) 4 782 969 millones de veces (3^14) y guardar los 95 MB de salida en un archivo [3]. Por lo tanto, Cerber empleó relleno binario al agregar 95 MB de datos basura a su carga útil original de 254 KB.


El segundo objetivo del relleno binario es cambiar los valores hash del binario de malware para eludir las firmas antivirus estáticas y las listas de bloqueo basadas en hash.


Subtécnica 2: Paquete de software T1027.002


El paquete de software es un método que combina la compresión y el cifrado de software para reducir su tamaño y evitar que se realice ingeniería inversa. Los adversarios utilizan paquetes de software para ocultar software malicioso y evitar la detección basada en firmas cambiando la firma del archivo [4].


Uso adversario del paquete de software


Los empaquetadores son utilidades que se utilizan para empaquetar software. En la mayoría de los casos, los empacadores se pueden clasificar libremente en tres categorías:


  • Los empaquetadores de compresión se utilizan para distribuir ejecutables en un formato comprimido, principalmente para reducir el tamaño del archivo.

  • Los empaquetadores de cifrado se utilizan para cifrar u ofuscar el ejecutable distribuido para evitar que los usuarios finales realicen ingeniería inversa.

  • Los empaquetadores híbridos se utilizan para comprimir y cifrar archivos ejecutables.


Por ejemplo, MPRESS y UPX son dos ejemplos de empaquetadores de compresión, que se usan legítimamente para reducir el tamaño de archivo de los ejecutables. Sin embargo, los desarrolladores de malware abusan de ellos para evitar las detecciones basadas en firmas. Además, los empaquetadores pueden ralentizar significativamente el análisis manual de malware, lo que podría permitir que el malware dure más tiempo. VMProtect , ASPack , Themida , Exe Packer y Morphine son algunos otros empaquetadores comunes.


Hay algunos indicadores que indican que un ejecutable está empaquetado:


Nombres de sección: la mayoría de los empacadores asignarán sus propios nombres de sección a las secciones dentro del binario. Por ejemplo,


  • UPX utiliza UPX0, UPX1


  • MPRESS utiliza MPRESS1, MPRESS2


  • VMProtect usa vmp0 y vmp1 como nombres de sección [5].


Valores de entropía: La entropía de un archivo es una medida de la aleatoriedad de los caracteres contenidos en el archivo. Cuando un archivo está comprimido o encriptado, tendrá una alta entropía.


Tabla de importación: la tabla de importación de un archivo empaquetado incluye muy pocas funciones, como VirtualProtect , GetProcAddress y LoadLibraryA , porque el archivo empaquetado oculta la mayoría de las funciones y deja solo aquellas que se requieren durante el proceso de desempaquetado.


Para disminuir la tasa de detección, los adversarios también usan versiones modificadas de empaquetadores. Por ejemplo, el malware Ares usaba un UPX modificado ; reemplazó los nombres de sección UPX predeterminados (UPX0, UPX1, ...) con nombres de sección estándar como .text, .data y .rdata [6].


Subtécnica 3: T1027.003 Esteganografía


La esteganografía es una técnica para ocultar datos secretos dentro de un archivo o mensaje no secreto para evitar la detección. Por lo tanto, la existencia del mensaje secreto es frecuentemente difícil de detectar. La esteganografía se puede utilizar para ocultar casi cualquier tipo de archivo digital dentro de otro archivo digital, incluidos archivos de imagen, video, audio o texto.


La esteganografía proviene de dos palabras griegas: steganos , que significa "cubierto", y graphia , que significa "escritura". La esteganografía es una práctica antigua que se ha utilizado de muchas formas para mantener ocultas las conversaciones durante miles de años.


Aunque tanto la criptografía como la esteganografía comparten el propósito casi idéntico de proteger un mensaje o información de terceros, utilizan enfoques completamente diferentes para proteger la información. En criptografía, el contenido está oculto y todos saben que hay un mensaje secreto en el contenido oculto. Sin embargo, en la esteganografía, solo el remitente y el destinatario conocen la existencia del mensaje secreto. La esteganografía digital moderna utiliza tanto la esteganografía como la criptografía. Por ejemplo, la información que se ocultará primero se cifra u ofusca en algunos algoritmos y luego se inserta en el archivo de portada.


Uso adversario de la esteganografía


Los adversarios utilizan la esteganografía para evitar la detección de información oculta.


Muchos controles de seguridad permiten formatos de archivo de imagen. Incrustar cargas útiles maliciosas con esteganografía en imágenes y alojarlas en plataformas de alojamiento de imágenes legítimas o en sitios web comprometidos permite a los adversarios eludir los controles de seguridad. La descarga de imágenes de estos sitios web no levanta sospechas. Por lo tanto, los adversarios suelen ocultar cargas útiles maliciosas en archivos de imagen.


  • El malware TEARDROP utilizado en la violación de SolarWinds se lee del archivo gracious_truth.jpg que incluye una carga útil maliciosa [7].

  • El troyano de acceso remoto ObliqueRAT incorpora sus cargas útiles como archivos de imagen aparentemente inocentes que se ocultan en sitios web comprometidos [8]. En detalle, un archivo .ZIP que contiene la carga útil de ObliqueRAT se incrustó en un archivo de imagen BMP.

  • El cargador ICEDID se conecta a su servidor de comando y control para descargar un archivo PNG que contiene datos cifrados RC4 del malware ICEDID [9]. El cargador descifrará los datos y los inyectará en una instancia de svchost.exe.

  • Remcos RAT emplea un algoritmo de esteganografía personalizado para ocultar su carga útil en un archivo PNG y aloja las cargas útiles en una plataforma legítima de alojamiento de imágenes, Imgur [10].

Subtécnica 4: T1027.004 Compilar después de la entrega


La técnica Compile After Delivery consiste en entregar archivos maliciosos a las víctimas como código sin compilar para hacer que los archivos sean difíciles de descubrir y analizar [11]. Las cargas maliciosas como archivos de código fuente basados ​​en texto pueden eludir las protecciones dirigidas a ejecutables/binarios. Antes de la ejecución, estas cargas útiles deben compilarse, por lo general mediante utilidades nativas como csc.exe o GCC/MinGW .


Uso adversario de la compilación después de la entrega


MuddyWater hace uso de un programa llamado csc.exe , que está incluido en el marco .NET y puede usarse para compilar un ejecutable desde el código C# [12]. El csc.exe es el compilador de línea de comandos de Visual C# que está integrado en el tiempo de ejecución de .NET Framework. Esto significa que un atacante no tiene que transferir un ejecutable compilado a la computadora de destino; en cambio, el atacante puede obtener el código fuente y compilarlo en la máquina de destino.


El ejecutable .NET del grupo Gamaredon utiliza técnicas de ofuscación, como la inserción de código no deseado y la ofuscación de cadenas. En su cuerpo, contiene un código fuente codificado en base64 de un descargador. Decodifica el código fuente y lo compila directamente en el sistema, utilizando el Microsoft integrado. Clase CSharp.CSharpCodeProvider [13].


El webshell de SuperNova utilizado en la infracción de SolarWinds aprovechó el mecanismo CSharpCodeProvider para la compilación en memoria de ensamblados .NET [14].


El ransomware Sequre compila su código fuente con csc.exe [15].


Subtécnica 5: T1027.005 Eliminación del indicador de las herramientas


Si los adversarios determinan que su herramienta maliciosa fue detectada debido a algunos indicadores, eliminan estos indicadores de la herramienta. Luego, usan la versión actualizada que ya no es detectada por los controles de seguridad del objetivo. Este método se clasifica como Eliminación de indicadores de herramientas en el marco MITRE ATT&CK [16].


Uso adversario de eliminación de indicadores de herramientas


Un ejemplo típico de esta técnica es cambiar las firmas de archivo de un archivo de malware. Supongamos que un atacante se dio cuenta de que el malware se detectó debido a la firma de su archivo. Luego, el atacante modificará el archivo para evitar esa firma y usará esta versión actualizada en ataques posteriores. Por ejemplo, algunos actores de amenazas usan el método hashbusting para ofuscar el malware cambiándolo sutilmente sobre la marcha. Por lo tanto, cada muestra tiene una suma de verificación diferente.


  • El troyano bancario Qakbot utiliza este método para hacer que el hash SHA256 de cada carga útil descargada de los servidores C2 sea único [17].

  • Los actores de amenazas TEMP.Veles modificaron continuamente los archivos binarios del software cryptcat de código abierto para disminuir las tasas de detección de AV [18].

  • El grupo de amenazas Turla codifica el nombre mutex y la tubería con nombre -cadenas que podrían usarse como IoC- en las nuevas versiones del malware Gazer [19]. Además, los nombres de los archivos de registro estaban codificados en binario en las versiones anteriores, pero en las nuevas versiones se usaron nombres de archivos aleatorios.

  • Patchwork modificó la puerta trasera de NDiskMonitor agregando cuatro bytes adicionales de letras mayúsculas y minúsculas aleatorias después de los datos con referencia a PE en la superposición para cambiar los valores hash del archivo [20]. Estos bytes adicionales no cambian la funcionalidad de NDiskMonitor, ya que el cargador de Windows PE ni siquiera los cargará en la memoria.

Subtécnica 6: T1027.006 contrabando de HTML


El contrabando de HTML oculta cargas maliciosas dentro de archivos HTML a través de JavaScript Blobs y/o atributos de descarga de HTML5. Mediante el uso de la técnica de contrabando de HTML, los adversarios pueden evadir los filtros de contenido de los controles de seguridad ocultando cargas maliciosas dentro de archivos HTML aparentemente benignos [21].


Uso adversario de contrabando de HTML


HTML5 introdujo el atributo de descarga para la etiqueta de anclaje ( <a> ). El atributo de descarga indica que cuando un usuario hace clic en el hipervínculo, se descargará el destino (el archivo especificado en el atributo href).


<a href='/files/malwarefile.doc ' download=' myfile.doc '>Haga clic</a>


También se puede crear un atributo de descarga utilizando JavaScript en lugar de HTML:


var myAnchor = document.createElement('a'); myAnchor.download = ' myfile.doc ';


Los adversarios combinan el atributo de descarga con JavaScript Blobs (Binary Large Object). Los documentos HTML tienen la capacidad de almacenar grandes objetos binarios denominados Blobs de JavaScript [21]. Un blob es un objeto similar a un archivo de datos sin procesar e inmutables, y se puede leer como texto o como datos binarios [22]. Los adversarios pueden usar blobs en archivos HTML para almacenar sus cargas maliciosas. Dado que el contenido final puede tener tipos MIME benignos como texto/sin formato y/o texto/html, es posible que los filtros de contenido web no identifiquen archivos maliciosos de contrabando dentro de archivos HTML/JS [21].


Un Blob se puede construir localmente usando JavaScript puro [23], [24]:


var myBlob = new Blob([datos maliciosos ], {tipo: 'texto/simple'});


Esta línea crea un Blob de tipo MIME text/plain y lo rellena con los datos contenidos en la variable malwareData. Luego, usando URL.creaateObjectURL , podemos generar una URL a partir del objeto Blob y asociarla con un punto de anclaje y un nombre de archivo con el atributo de descarga:


var myUrl = ventana.URL.createObjectURL(blob); var myAnchor = document.createElement( 'a' ); myAnchor.href = myUrl; myAnchor.download = 'myfile.doc' ;




Como ejemplo, el grupo de amenazas NOBELIUM implementa efectivamente el contrabando de HTML [23]. Su herramienta EnvyScout es un gotero de malware utilizado por NOBELIM para desofuscar y escribir un archivo ISO malicioso en el disco. EnvyScout lleva una carga útil en forma de blob cifrado. Esta carga útil se decodifica mediante XOR para cada letra con una clave de un solo byte, lo que da como resultado una carga útil Base64 que posteriormente se decodifica y se escribe en el disco.


Las URL de datos también permiten a los desarrolladores de malware incrustar pequeños archivos maliciosos en línea en los documentos. Por ejemplo, una carga útil maliciosa codificada en base64 se puede almacenar en una URL de datos con el siguiente formato:


datos:[<texto/simple>][;base64],< carga útil maliciosa codificada en base64 >


Dado que el tipo MIME de esta URL de datos es texto/sin formato, puede evadir algunos filtros de contenido.


Referencias


[1] "Archivos o información ofuscados". https://attack.mitre.org/techniques/T1027/ .


[2] J. Segura, “Cerber ransomware entregado en formato de diferente orden de magnitud”, 09-ago-2017. https://blog.malwarebytes.com/threat-analysis/2017/08/cerber-ransomware-delivered-format- different-order-magnitude/ .


[3] "Archivos o información ofuscados: paquete de software". https://attack.mitre.org/techniques/T1027/002/ .


[4] T. Mathison, "Desempaquetado manual de malware", 23 de noviembre de 2020. https://tdmathison.github.io/posts/Manually-unpacking-malware/ .


[5] "Ares - Análisis técnico". https://www.zscaler.com/blogs/security-research/ares-malware-grandson-kronos-banking-trojan .


[6] S. Özarslan, "Tácticas, técnicas y procedimientos (TTP) utilizados en SolarWinds Breach". https://www.picussecurity.com/resource/blog/ttps-used-in-the-solarwinds-breach .


[7] L. O'Donnell, "Las imágenes del sitio web comprometido camuflan el malware ObliqueRAT", Threatpost, 2 de marzo de 2021. https://threatpost.com/website-images-obliquerat-malware/164395/ .


[8] "TA551 distribuye nuevo malware ICEDID". https://success.trendmicro.com/solution/000283386 .


[9] https://www.bitdefender.com/files/News/CaseStudies/study/390/Bitdefender-PR-Whitepaper-Remcos-creat5080-en-EN-GenericUse.pdf.


[10] "Archivos o información ofuscados: compilar después de la entrega". https://attack.mitre.org/techniques/T1027/004/ .


[11] https://www.clearskysec.com/wp-content/uploads/2018/11/MuddyWater-Operations-in-Lebanon-and-Oman.pdf.


[12] “Grupo Gamaredon crece su juego”, 11-jun-2020. https://www.welivesecurity.com/2020/06/11/gamaredon-group-grows-its-game/ .


[13] M. Figueroa, “SolarWinds”, 24-dic-2020. https://www.sentinelone.com/labs/solarwinds-understanding-detecting-the-supernova-webshell-trojan/ .


[14] "Sequre Ransomware compila su propio código fuente". https://labs.vipre.com/sequre-ransomware-compiles-its-own-source-code/ .


[15] "Archivos o información ofuscados: eliminación de indicadores de herramientas". https://attack.mitre.org/techniques/T1027/005/ .


[16] “Troyano bancario Qakbot”. https://blog.cyberint.com/qakbot-banking-trojan .


[17] "Atribución de TRITON: el laboratorio propiedad del gobierno ruso probablemente creó herramientas de intrusión personalizadas para los atacantes de TRITON". https://www.mandiant.com/resources/triton-attribution-russian-government-owned-lab-most-likely-built-tools .


[18] https://www.welivesecurity.com/wp-content/uploads/2017/08/eset-gazer.pdf.


[19] https://documents.trendmicro.com/assets/tech-brief-untangling-the-patchwork-cyberespionage-group.pdf.


[20] "Archivos o información ofuscados: contrabando de HTML". https://attack.mitre.org/techniques/T1027/006/ .


[21] "Mancha". https://developer.mozilla.org/en-US/docs/Web/API/Blob .


[22] Microsoft Threat Intelligence Center (MSTIC), "Desglosando el último conjunto de herramientas de etapa inicial de NOBELIUM", 28 de mayo de 2021. https://www.microsoft.com/security/blog/2021/05/28/breaking-down-nobeliums-latest-early-stage-toolset/ .


[23] Outflank, "explicación del contrabando de HTML". http://www.outflank.nl/publications .


[24] H. Carvey, "Indicadores de movimiento lateral usando at.exe en sistemas Windows 7". https://www.secureworks.com/blog/where-you-at-indicators-of-lateral-movement-using-at-exe-on-windows-7-systems .



0 comentarios
bottom of page