Seleccionar página

Rompiendo el molde: Deteniendo el código de un hacker ep. 6 – Worok

Introducción

¿Qué enemigo es el más invencible y qué ataque es el más inevitable? Worok, un formidable adversario en materia de malware, nos ha dado la respuesta: un enemigo disfrazado delante de ti, y un ataque expuesto delante de tus narices, sin que te des cuenta y te aplaste.

Desde su aparición a finales de 2020, hemos comprobado que opera principalmente en Asia, dirigiéndose a conocidas empresas y gobiernos locales, con preferencia por los sectores de telecomunicaciones, banca, marítimo, energético y militar, entre otros. Su orientación es como la de TA428, que es más familiar. Sin embargo, sigue habiendo diferencias en su modus operandi: a través de la esteganografía para extraer cargas útiles maliciosas ocultas en archivos PNG, Worok se camufla mejor.

Romper las defensas sin ser detectado y extraer datos de forma imponente son su especialidad.

Este mes de febrero, tras un paréntesis de seis meses, la versión actualizada de Worok volvió a escena. Y sólo recientemente hemos empezado a espiar varias partes de su cadena de ataque, identificando su «color protector».

Vulnerabilidad

Comencemos con un rápido repaso del modus operandi de Worok: La vulnerabilidad ProxyShell fue explotada para obtener acceso, seguido por el despliegue de herramientas de detección comunes, incluyendo Mimikatz, EarthWorm, ReGeorg y NBTscan. Luego viene el último y más crucial eslabón de la cadena de ataque: la instalación de programas personalizados que puede dividirse en dos etapas:

1.La primera etapa, obtener PNGLoad. En 2021, esto fue realizado por CLRLoad (un cargador de C++); en 2022, es realizado principalmente por PowHeartBeat (un backdoor de PowerShell). Lo que provoca la sustitución es el cambio de la ubicación de la carga útil de PNGLoad. Cuando estaba en el directorio legal del disco en forma de archivos DLL, CLRLoad decodifica todo el directorio, escanea los archivos uno por uno y luego utiliza un mutex para comprobar su estado de ejecución. Cuando la carga útil está en el servidor de C&C remoto, PowHeartBeat pasa por dos capas de descifrado y descompresión para obtener los datos y comandos cifrados, luego se comunica con el servidor de C&C a través de HTTP o ICMP, recibe la carga útil y devuelve la entrada de la puerta trasera.

En comparación con CLRLoad, PowHeartBeat ofusca varias técnicas para evadir la detección con mayor facilidad, lo cual es una mejora notable para Worok – una pena enorme para nosotros que no hayamos podido encontrar ningún código directo de PNGLoad después de esto.

2. La segunda etapa, cargar archivos PNG con información maliciosa. Esto lo realiza PNGLoad (un cargador de C#). Después de la ofuscación por parte de .NET Reactor, PNGLoad también se disfraza como un ejecutable .NET legítimo en los sistemas comprometidos.

A continuación, recorre la puerta trasera utilizando su propiedad MainPath para buscar todos los archivos con extensión ‘.png’, encontrando el contenido esteganográfico en cada archivo y comprobando: Primero, obtiene los bits menos significativos de los valores R (rojo), G (verde), B (azul) y A (alfa) de cada píxel y los reúne en un buffer. En segundo lugar, si los primeros 8 bytes del área coinciden con el número mágico, y los siguientes 8 bytes del valor de control no están vacíos, se supera la comprobación. Finalmente, el resto puede ser descifrado por XOR multibyte, y descomprimido por gzip con la clave en la propiedad PNGLoad SecretKeyBytes, dando como resultado un script PowerShell malicioso que se ejecuta inmediatamente.

No hemos podido obtener los archivos ‘.png’ utilizados con PNGLoad. De todos modos, por la información que tenemos, es probable que estos archivos estén mezclados con otros de su tipo. Y para camuflarse en secreto, Worok utiliza objetos de mapa de bits en C#, que sólo obtiene la información de píxeles del archivo, no los metadatos, lo que significa que Worok puede ocultar su carga maliciosa en una imagen PNG válida y de aspecto inocente a la vista de todos.

Remediación

Hasta ahora, aunque nuestra investigación sobre Worok no es muy exhaustiva, según su trayectoria, podemos reforzar la seguridad de las siguientes maneras:

  • Gestión de la subida y bajada de archivos
  • Confidencialidad de la información de los archivos, como la ruta, la longitud, la hora de creación, las horas de acceso y el contenido
  • Restricciones en los permisos de borrado, renombrado y traslado de archivos

Esperamos que en un futuro próximo, podamos captar más información valiosa y crucial para romper la invencibilidad de este enemigo, y hacer que «Worok» deje de «funcionar».