Los investigadores de seguridad notaron una campaña maliciosa que usaba registros de eventos de Windows para almacenar malware, una técnica que no se había documentado públicamente previamente para ataques en la naturaleza.
El método permitió al actor de amenazas detrás del ataque plantar malware sin archivos en el sistema de archivos en un ataque lleno de técnicas y módulos diseñados para mantener la actividad lo más sigilosa posible.
Agregar cargas útiles a los registros de eventos de Windows
Los investigadores de Kaspersky recolectaron una muestra del malware después de que un producto de la empresa equipado con tecnología para la detección basada en el comportamiento y el control de anomalías lo identificara como una amenaza en la computadora de un cliente.
La investigación reveló que el malware formaba parte de una campaña «muy específica» y se basaba en un gran conjunto de herramientas, tanto personalizadas como disponibles comercialmente.
Una de las partes más interesantes del ataque es inyectar cargas útiles de shellcode en los registros de eventos de Windows para los Servicios de administración de claves (KMS), una acción completada por un cuentagotas de malware personalizado.
Denis Legezo, investigador principal de seguridad de Kaspersky, dice que este método se ha utilizado «por primera vez ‘en la naturaleza’ durante la campaña maliciosa».
El cuentagotas copia el archivo legítimo de manejo de errores del sistema operativo WerFault.exe en ‘ C:\Windows\Tasks ‘ y luego coloca un recurso binario encriptado en ‘ wer.dll ‘ (Informe de errores de Windows) en la misma ubicación, para el secuestro del orden de búsqueda de DLL para cargar código malicioso.
El secuestro de DLL es una técnica de piratería que explota programas legítimos con controles insuficientes para cargar en la memoria una biblioteca de vínculos dinámicos (DLL) maliciosa desde una ruta arbitraria.
Legezo dice que el propósito del cuentagotas es cargar en el disco para el proceso de carga lateral y buscar registros particulares en los registros de eventos (categoría 0x4142 – ‘AB’ en ASCII. Si no se encuentra dicho registro, escribe fragmentos de 8 KB de Shellcode encriptado, que luego se combinan para formar el código para el siguiente escenario.
«El wer.dll eliminado es un cargador y no haría ningún daño sin el shellcode oculto en los registros de eventos de Windows»
Denis Legezo, investigador principal de seguridad en Kaspersky
Es probable que la nueva técnica analizada por Kaspersky esté en camino de volverse más popular ya que Soumyadeep Basu, actualmente pasante del equipo rojo de Mandiant, creó y publicó en GitHub el código fuente para inyectar cargas útiles en los registros de eventos de Windows .
Actor técnicamente avanzado
Según las diversas técnicas y módulos (suites de pruebas de penetración, envoltorios antidetección personalizados, troyanos de etapa final) utilizados en la campaña, Legezo señala que toda la campaña «se ve impresionante».
Le dijo a BleepingComputer que «el actor detrás de la campaña es bastante hábil por sí mismo, o al menos tiene un buen conjunto de herramientas comerciales bastante profundas», lo que indica un adversario de nivel APT.
Entre las herramientas utilizadas en el ataque se encuentran los marcos comerciales de pruebas de penetración Cobalt Strike y NetSPI (el antiguo SilentBreak).