Los hackers han estado utilizando registros de errores falsos para almacenar caracteres ASCII disfrazados de valores hexadecimales que decodifican a una carga útil maliciosa diseñada para preparar el terreno para ataques basados en scripts.
El truco es parte de una cadena más larga con comandos intermedios de PowerShell que finalmente entrega un script para fines de reconocimiento.
Leyendo entre lineas
El proveedor de detección de amenazas de MSP, Huntress Labs, descubrió un escenario de ataque en el que un actor de amenazas con persistencia en una máquina objetivo intentó ejecutar un truco inusual para continuar con su rutina de ataque.
El atacante ya había obtenido acceso al sistema de destino y logró persistencia. Desde esta posición, utilizaron un archivo llamado “a.chk” que imita un registro de errores de Windows para una aplicación. La última columna muestra lo que parecen ser valores hexadecimales.
Sin embargo, estas son representaciones decimales de caracteres ASCII. Una vez decodificados, crean un script que contacta al servidor de comando y control para el siguiente paso en el ataque.
Una mirada rápida al archivo de registro simulado probablemente no levantará ningún indicador ya que los datos incluyen marcas de tiempo y referencias para el número de versión interna de Windows, dice hoy en un informe John Ferrell, vicepresidente de ThreatOps en Huntress Labs.
“A primera vista, parece un registro para alguna aplicación. Tiene marcas de tiempo e incluye referencias a OS 6.2, el número de versión interna para Windows 8 y Window Server 2012 ”- John Ferrell
Una inspección más cercana revela el truco utilizado por el actor para extraer la porción relevante de datos (los caracteres numéricos) y construir la carga útil codificada. A continuación puede ver cómo los números se convierten en texto para formar el guión.
Ferrell explica que la carga útil se obtiene mediante una tarea programada que se hace pasar por una legítima en el host (solo una letra marca la diferencia) y comparte su descripción. Hay dos ejecutables involucrados, ambos con copias renombradas de archivos legítimos para que parezcan inocuos.
Usar nombres de archivo legítimos
Uno se llama “BfeOnService.exe” y es una copia de “mshta.exe”, una utilidad que ejecuta aplicaciones HTML de Microsoft (HTA) que se ha abusado de la implementación de archivos HTA maliciosos. En este caso, ejecuta un VBScript para iniciar PowerShell y ejecutar un comando en él.
El otro tiene el nombre engine.exe “y es una copia de” powershell.exe “. Su propósito es extraer los números ASCII en el registro falso y convertirlos para obtener la carga útil. Así es como funcionan:
Ferrell señala que la secuencia de comandos decodificada de esta manera aplica un parche en memoria a la interfaz de escaneo de antimalware (AMSI) para evitarlo. AMSI ayuda a los programas antivirus a detectar ataques basados en scripts.
Se ejecuta un segundo comando que actúa como un descargador para recuperar otro comando de PowerShell con la misma función. Al final de la cadena hay una carga útil que recopila información sobre el sistema comprometido.
No está claro qué persigue el atacante, pero el último script recopila detalles sobre los navegadores instalados, los productos de seguridad y preparación de impuestos generales y específicos (Lacerte, ProSeries, Kaspersky, Comodo, Defender) y el software de punto de venta.
Si bien esto está lejos de ser un ataque sofisticado, muestra que los ciberdelincuentes explorarán todas las vías para establecerse en una red objetivo y desarrollar su ataque de maneras creativas que probablemente den sus frutos en algunos casos.