ProcessDoppelgänging: nueva técnica de evasión de Antivirus

Un equipo de investigadores de seguridad informática ha descubierto un nuevo malware de técnicas de evasión que podría ayudar a otros autores de malware a derrotar la mayoría de las soluciones de antivirus modernos y herramientas del forense

El apodado proceso Doppelgänging es un nuevo código inyectado sin archivos cuya técnica tiene ventajas en las funciones Preconstruidos de Windows y una implementación sin documentos de los procesos cargados de Windows

Los investigadores de seguridad informática de Ensilo Tal Liberman and Eugene Kogan quienes descubrieron este ataque, presentaron sus hallazgos hoy en la conferencia llevada cabo en Londres en el Black Hat 2017 Security conference.

Funciona en todas las versiones de Windows

Aparentemente el ataque proceso Doppelgänging funciona en todas las versiones modernas de sistema operativo de Microsoft Windows empezando por Windows vista hasta la versión de Windows 10.

Tal Liberman, la cabeza del equipo de investigación de EnSilo comunicó que esta invasión del malware es similar al proceso Hollowing, un método que se introdujo hace años por atacantes para vencer las capacidades de mitigación de los productos de seguridad informática.

En el proceso del Hollowing, los hackers remplazan la memoria de procesos legítimos con un código malicioso para que el segundo código se ejecute en lugar del original engañando a las herramientas de monitoreo y al antivirus haciéndoles creer que el proceso original está siendo ejecutado.

Desde que los antivirus modernos y productos de seguridad informática han sido mejorados para detectar procesos de ataque como Hollowing, el uso de esta técnica no es tan buena idea.

Por otra parte, el proceso Doppelgänging es un enfoque completamente diferente que logra lo mismo, abusando de las transacciones de NTFS de Windows y una implementación obsoleta del cargador del proceso, que originalmente fue diseñado por Windows XP, pero cargado a través de las versiones posteriores de Windows.

¿Cómo funciona el ataque del Doppelgänging?

Antes de adentrarnos en cómo esta inyección del código funciona,  necesitas entender lo que es una transacción NTFS de Windows y como un hacker puede aprovecharlo para llevar a cabo sus acciones.

La transacción NTFS es una función de Windows que trae el concepto de transacciones atómicas al archivo del sistema NTFS, permitiendo que archivos y directorios sean creados modificados renombrados y eliminados automáticamente

La transacción NTFS es un espacio apartado que permite que los desarrolladores de la aplicación de Windows, escriban las rutinas de un archivo output que están aseguradas que van a salir completamente exitosas o a fallar absolutamente, nos menciona Jim Gil, un experto de seguridad informática de International Institute of Cyber Security (IICS).

Según el investigador, ProcessDoppelgänging es un ataque sin archivos y funciona en cuatro pasos que mencionamos a continuación:

  1. Transact- procesa una ejecución legitima a la transacción NTFS y luego lo sobre-escribe con un archivo malicioso
  2. Load- crea una sección de memoria desde el archivo malicioso
  3. Rollback- reduce la transacción, (deliberadamente hace que falle), resultando en que se tengan que quitar todos los cambios en la ejecución legitima como si nunca hubieran existido
  4. Animate- trae al doppelganger (la copia) a la vida. Utiliza la vieja implementación del cargador de procesos de Windows para crear procesos con la memoria previamente creada (en el paso 2), que es maliciosa y jamás fue guardada en el disco, “haciéndola invisible para la mayoría de las herramientas de grabación tales como EDRs modernos”.

El ProcessDoppelgänging  evade la detección de la mayoría de los antivirus

Liberman comentó en The Hacker News que durante su investigación probaron el ataque en productos de seguridad informática de Windows Defender, KasperskyLabs, ESET NOD32, Symantec, Trend Micro, Avast, McAfee, AVG, Panda, e incluso en herramientas avanzadas del forense.

Para demostrarlo, los investigadores utilizaron Mimikatz, una herramienta post-exploratoria que ayuda a extraer los accesos de los sistemas afectados, con ProcessDoppelgänging para realizar una detección antivirus.

Cuando los investigadores ejecutaron Mimikatz en un sistema operacional de Windows, Symantec antivirus solution, encontró la herramienta inmediatamente, como lo podemos ver a continuación:

Sin embargo, Mimikatzs se ejecutó sigilosamente, sin que el antivirus diera aviso alguno cuando se estuviera ejecutando usando el  ProcessDoppelgänging, mostrado en la imagen inicial de este artículo.

Liberman comentó que el ProcessDoppelgänging funciona incluso en la última versión de Windows 10, exceptuando Windows 10 Redstone y  FallCreatorsUpdate, lanzados a principios de este año.

Pero debido a un virus diferente en Windows 10 Redstome  y  FallCreatorsUpdate, usar ProcessDoppelgänging ocasiona BSOD (bluescreen of death), que colisiona las computadoras de los usuarios.

Irónicamente, el virus fue parchado por Microsoft en las actualizaciones posteriores, permitiendo que el  ProcessDoppelgänging, corra en las versiones más recientes de Windows 10 acuerdo a los expertos de seguridad informática de webimprints.

No espero que Microsoft intervenga rápidamente con un parche que pueda hacer que los softwares se apoyan en versiones implementadas inestables, pero sí que las compañías de antivirus puedan mejorar sus productos para detectar programas maliciosos  que estén utilizando ProcessDoppelgänging o ataques similares.

Esta no es la primera vez que investigadores de EnSilo han descubierto malwares de técnicas de evasión. Anteriormente descubrieron y demostraron AtomBombing technique que abusa también de unan debilidad en el diseño del sistema operativo de Windows.

En septiembre, los investigadores de EnSilo, divulgaron un error de 17 años en la programación de Microsoft Windows kernel que previene que los software de seguridad detecten malware en tiempo de ejecución cuando se baja al sistema de memoria.