Guía completa sobre Ofuscación de malware en 2023

En el mundo de la ciberseguridad, la evolución constante de las técnicas de ataque ha llevado a los delincuentes cibernéticos a buscar formas cada vez más ingeniosas y sofisticadas de sortear las defensas de sus objetivos. Una de las estrategias más destacadas en su arsenal es la «ofuscación de malware». Esta técnica se ha convertido en una pieza fundamental en el kit de herramientas de los atacantes, permitiéndoles camuflar su código malicioso de manera que sea difícil de detectar y analizar por las soluciones de seguridad tradicionales. En este artículo, exploraremos en profundidad cómo los delincuentes utilizan la ofuscación de malware y las herramientas que emplean para llevar a cabo sus ataques con éxito.

Entendiendo la Ofuscación de Malware

La ofuscación de malware es el proceso de alterar el código malicioso con el objetivo de hacerlo más difícil de entender, analizar y detectar por las soluciones de seguridad. Los atacantes utilizan diversas técnicas para lograr este propósito, incluyendo la manipulación de estructuras de código, la inserción de instrucciones falsas y la utilización de algoritmos de cifrado. El objetivo final es crear una versión del malware que aún sea funcional pero que presente un aspecto completamente diferente al código original, lo que dificulta enormemente su detección.

Técnicas de Ofuscación de Malware

1. Ofuscación de Código

Una de las técnicas más comunes de ofuscación de malware implica cambiar la estructura del código para dificultar su comprensión. Esto puede incluir la reorganización de bloques de código, la introducción de saltos condicionales adicionales y la adición de instrucciones irrelevantes. Los atacantes también pueden usar nombres de variables y funciones confusas para hacer que el código sea más oscuro y menos legible.

2. Cifrado y Descifrado Dinámico

Otra táctica efectiva es el cifrado y descifrado dinámico del malware. En lugar de incluir el código malicioso en su forma ejecutable directa, los atacantes almacenan el malware cifrado en el sistema objetivo. Luego, utilizan una parte del código legítimo para descifrar y ejecutar dinámicamente el malware en tiempo de ejecución. Esto dificulta la detección, ya que el código malicioso en su forma cifrada es prácticamente indistinguible de otros datos en el sistema.

3. Polimorfismo

El polimorfismo es una técnica de ofuscación que implica generar variantes únicas del malware en cada infección. Los atacantes utilizan generadores de código para crear versiones ligeramente diferentes del malware, manteniendo su funcionalidad básica pero cambiando detalles sutiles del código. Esto hace que cada instancia del malware sea única, lo que dificulta enormemente la detección basada en firmas.

4. Empaquetado y Compresión

El empaquetado y la compresión son técnicas que implican la encapsulación del código malicioso en una capa externa. Esto puede ser una capa autoextraíble que contiene el malware real, o incluso una capa que descomprime y ejecuta el malware en memoria en tiempo de ejecución. Estas técnicas no solo dificultan la detección, sino que también pueden evadir la inspección estática de archivos.

La mayoria de las siguientes herramientas no funcionan bien, ya que las firmas de los antivirus se van actualizando, lo mejor que puedas hacer es usar estas herramientas pero modificar los paylods en texto plano, por ejemplo a dia de hoy agosto de 2023, hoaxshell, una herramienta muy sonada estos ultimos meses como la herramienta indetectable, ya windows defender la detecta.

Esta parte la puedes ver el texto original en el siguiente articulo: https://infayer.com/archivos/1917

que consiste en generar un payload en texto plano en vez de estar en base64 y luego hacer una tan simple modificacion como «aei» cambiarlo a «a’e’i» y asi el windows defender no detecta el malware.

i»ex «pwd»
i»e»x «pwd»
i»e»x» «pwd»
ie»x» «pwd»
iex» «pwd»
i»»e»x»» «pwd»
ie»»x» «pwd»

i»ex «p»wd»
i»e»x «p»w»d»
i»e»x» «p»w»d»»
ie»x» «pw»d"«»
iex» «p"«w"«d"«»
i»»e»x»» «p"«w"«d»»
ie»»x» «p"«w»d"«»

Para conocer todo sobre la ofuscacion de malware con Powershell ver el siguiente repositorio: https://github.com/t3l3machus/PowerShell-Obfuscation-Bible

Herramientas automatizadas para Ofuscar malware

Para ofuscar Macros de office: https://github.com/bonnetn/vba-obfuscator

  1. Veil-Evasion: Una de las herramientas más conocidas, Veil-Evasion genera payloads de malware ofuscados que pueden evadir soluciones de seguridad tradicionales. Utiliza técnicas como el cifrado y el polimorfismo para generar ejecutables que son difíciles de detectar.
  2. Metasploit Framework: Además de ser una herramienta ampliamente utilizada para pruebas de penetración, Metasploit también proporciona funcionalidades para la generación de payloads ofuscados. Permite a los atacantes personalizar sus payloads con técnicas de ofuscación.
  3. Shellter: Shellter es un programa que permite inyectar código malicioso en ejecutables legítimos, lo que facilita la ofuscación al ocultar el malware dentro de aplicaciones aparentemente normales.
  4. Veil es una herramienta para Linux que permite generar payloads ofuscados de metasploit (framework de código abierto con un conjunto de herramientas para explotar vulnerabilidades). Otras herramientas similares a Veil pueden ser GreatSCTUnicornShelter, etc.
  5. Py2Exe es una extensión de Python que convierte los scripts de Python en programas ejecutables de Windows, capaces de ejecutarse sin necesidad de una instalación de Python. Esta herramienta funciona muy bien para bypasear antivirus en una máquina Windows. Además, se puede utilizar junto con Msfvenom para convertir un payload generado con algún encoder en un ejecutable de Windows.
  6. Invoke-Obfuscation es un ofuscador de scripts de Powershell. 
  7. ConfuserEx: Esta es una herramienta de ofuscación de código .NET que ayuda a los atacantes a proteger sus malware escritos en lenguajes .NET. ConfuserEx utiliza una variedad de técnicas de ofuscación para dificultar el análisis y la detección del malware.
  8. UPX (Ultimate Packer for eXecutables): Aunque originalmente fue diseñado como una herramienta de compresión, UPX también puede ser utilizado para ofuscar malware. Comprime los ejecutables y los desempaqueta en memoria en tiempo de ejecución.
  9. PyArmor: Esta herramienta se centra en la ofuscación de código Python, protegiendo scripts y programas contra análisis inverso y modificaciones no autorizadas.
  10. AESCrypt: Si bien originalmente es una herramienta de cifrado, AESCrypt también se puede usar para ofuscar archivos maliciosos al cifrarlos antes de la entrega.

y mas herramientas de ofuscación

  1. EggShell: Es un framework de administración remota para iOS que permite a los atacantes controlar dispositivos móviles. Proporciona opciones de ofuscación para evitar la detección.
  2. Rubeus: Esta herramienta permite a los atacantes robar tickets Kerberos y llevar a cabo ataques de Pass-the-Ticket en entornos Windows. Ofrece opciones de ofuscación para evadir detección.
  3. PeCloak.py: Diseñada para evadir análisis estático, esta herramienta Python ofusca ejecutables al modificar las secciones y los encabezados de los archivos PE.
  4. BDFProxy: Es una herramienta que ofusca el tráfico de red para evadir la detección de malware. Puede ser utilizada para manipular y modificar el tráfico HTTP y HTTPS.
  5. QuasarRAT: Un troyano remoto que proporciona acceso a sistemas comprometidos. Ofrece opciones de ofuscación para evitar la detección de soluciones de seguridad.
  6. Phantom-Evasion: Similar a Veil-Evasion, esta herramienta permite a los atacantes generar payloads ofuscados que pueden evadir detección. Es compatible con varias técnicas de ofuscación.
  7. Invoke-Obfuscation: Una herramienta de ofuscación de PowerShell que permite a los atacantes transformar scripts legítimos en formas ofuscadas que evaden la detección.
  8. CloakifyFactory: Esta herramienta permite a los atacantes ocultar datos en diferentes tipos de archivos, como imágenes o texto. Esto podría utilizarse para ocultar malware en apariencia inocente.
  9. Anti-Disassembler: Diseñada para plataformas ARM, esta herramienta altera el flujo de control de los programas y dificulta el análisis dinámico.
  10. Mimikatz: Mientras su funcionalidad principal es robar credenciales en sistemas Windows, Mimikatz también ofrece técnicas de ofuscación para evadir detección.
  11. Hershell: Es un backdoor de código abierto que permite a los atacantes controlar sistemas remotos. Ofrece características de ofuscación para pasar desapercibido.
  12. YARA: Aunque originalmente es una herramienta para crear reglas de detección, YARA también puede ser usada por atacantes para buscar patrones específicos en archivos y ofuscarlos para evitar la detección.
  13. APKTool: Esta herramienta de ingeniería inversa de Android permite a los atacantes descompilar, modificar y volver a compilar aplicaciones. Puede ser utilizado para ofuscar malware en aplicaciones Android.

Conclusiones

También cabe mencionar la existencia de varios scripts que permiten bypasear la seguridad de la mayoría de las versiones de Windows Defender utilizando ofuscación:

  • Hoaxshellscript que te permite obtener una shell reversa ofuscada.
  • Mimikatz Ofuscatorscript para ofuscar la herramienta Mimikatz (robo de credenciales).
Scroll al inicio