ErrTraffic: Dentro de un Creciente Marco de Distribución de Malware ClickFix
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
ErrTraffic es un marco de JavaScript malicioso ofrecido a través de un modelo de malware como servicio. Principalmente, se inyecta en sitios web de WordPress comprometidos para entregar páginas de ingeniería social estilo ClickFix y cargas útiles de malware posteriores. El marco también utiliza la técnica EtherHiding para descubrir infraestructura de comando y control a través de contratos inteligentes en blockchain.
Investigación
Los investigadores de Sekoia TDR identificaron dos clústeres de actividad separados, denominados clúster “Analytics” y clúster “Beer”. Su investigación reveló varias rutas de despliegue, incluyendo puertas traseras PHP de WordPress, ataques de relleno de credenciales para el acceso inicial y campañas de malvertising que se hicieron pasar por plataformas de IA. El análisis forense también mostró claras diferencias en el estilo de codificación, uso de comandos y patrones de infraestructura entre los dos clústeres.
Mitigación
Las organizaciones deben reforzar la higiene de las credenciales y aplicar autenticación multifactor para reducir el riesgo de comprometer el administrador de WordPress. También es esencial la actualización regular de los plugins de WordPress, especialmente para fallos conocidos como CVE-2020-25213. Los defensores deben monitorizar el comportamiento sospechoso de PowerShell y el tráfico de salida inusual hacia servicios de RPC de blockchain o dominios de nivel superior poco comunes.
Respuesta
Si se detectan indicadores de ErrTraffic, los servidores web afectados deben aislarse inmediatamente y todas las cuentas de WordPress deben revisarse para detectar accesos no autorizados de administrador. Se debe llevar a cabo un barrido forense completo para identificar MU-plugins ocultos y archivos PHP no autorizados. Se deben revocar las credenciales potencialmente expuestas, y todas las claves API y secretos administrativos deben rotarse.
graph TB %% Definición de clases classDef reconnaissance fill:#f9f,stroke:#333,stroke-width:2px classDef execution fill:#ff9,stroke:#333,stroke-width:2px classDef persistence fill:#9f9,stroke:#333,stroke-width:2px classDef command_control fill:#9cf,stroke:#333,stroke-width:2px classDef delivery fill:#f96,stroke:#333,stroke-width:2px %% Sección de reconocimiento y acceso inicial recon_cred[«<b>Técnica</b> – <b>T1589.001 Recopilar información de identidad de la víctima: Credenciales</b><br/>Descripción: Uso de credenciales de administrador robadas<br/>para acceder a sitios WordPress.»] class recon_cred reconnaissance recon_drive_by[«<b>Técnica</b> – <b>T1189 Compromiso mediante navegación</b><br/>Descripción: Uso de publicidad maliciosa para redirigir usuarios<br/>a sitios web que imitan plataformas de IA como ChatGPT.»] class recon_drive_by reconnaissance %% Sección de ejecución exec_clickfix[«<b>Técnica</b> – <b>T1204.004 Ejecución del usuario: Copiar y pegar malicioso</b><br/>Descripción: Uso de la técnica ClickFix con mensajes de error falsos<br/>como BSOD o reCAPTCHA para engañar a usuarios y ejecutar comandos PowerShell.»] class exec_clickfix execution %% Sección de persistencia y C2 pers_webshell[«<b>Técnica</b> – <b>T1505.003 Componente de software del servidor: Web Shell</b><br/>Descripción: Implementación de puertas traseras PHP como<br/>session-manager.php MU-Plugin o Responsive Webshell.»] class pers_webshell persistence pers_valid_acc[«<b>Técnica</b> – <b>T1078 Cuentas válidas</b><br/>Descripción: Mantiene el acceso mediante el panel de administración WordPress comprometido<br/>usando credenciales legítimas.»] class pers_valid_acc persistence c2_etherhiding[«<b>Técnica</b> – <b>EtherHiding</b><br/>Descripción: Facilita la comunicación con infraestructura C2<br/>mediante contratos inteligentes de blockchain como Dead Drop Resolver.»] class c2_etherhiding command_control %% Sección de entrega de carga útil y acceso a credenciales del_ingress[«<b>Técnica</b> – <b>T1105 Transferencia de herramientas de entrada</b><br/>Descripción: Uso de PowerShell para descargar y extraer<br/>binarios maliciosos mediante 7z.»] class del_ingress delivery acc_cred_access[«<b>Técnica</b> – <b>T1539 Acceso a credenciales</b><br/>Descripción: Familias de malware exfiltran credenciales robadas,<br/>cookies de sesión web y datos sensibles de WooCommerce.»] class acc_cred_access delivery malware_stealer[«<b>Malware</b> – <b>Vidar o Stealc</b><br/>Descripción: Infostealers utilizados para exfiltrar datos<br/>hacia dominios controlados por atacantes.»] class malware_stealer delivery %% Flujo de conexiones recon_cred –>|conduce_a| exec_clickfix recon_drive_by –>|conduce_a| exec_clickfix exec_clickfix –>|activa| pers_webshell exec_clickfix –>|activa| pers_valid_acc pers_webshell –>|facilita| c2_etherhiding pers_valid_acc –>|facilita| c2_etherhiding c2_etherhiding –>|envía_comandos| del_ingress del_ingress –>|implementa| malware_stealer malware_stealer –>|realiza| acc_cred_access
Flujo de Ataque
Ejecución de Simulación
Prerrequisito: La comprobación previa de Telemetría & Baseline debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica adversaria (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa de Ataque y Comandos: Un atacante ha engañado exitosamente a un usuario para que haga clic en un botón de «Reparar» en un sitio web malicioso. Esto activa un comando PowerShell diseñado para descargar y descifrar una carga útil. Para evadir la detección simple basada en cadenas, el script utiliza la des-cifrado XOR. El adversario utiliza el encabezado específico ErrTraffic
<# Verificación de Código: 656560395146 #>para evitar ciertos controles internos o como marcador para su propio marco. El script utiliza[convert]::ToInt32para procesar las claves XOR y el-bxoroperador para descifrar los bytes de la carga útil. -
Script de Prueba de Regresión:
# Simulación de la rutina de descifrado de la carga útil de ErrTraffic ClickFix en PowerShell $header = "<# Verificación de Código: 656560395146 #>" $encodedPayload = @(10, 20, 30, 40) $key = [convert]::ToInt32("5") Write-Host "Inicializando descifrado de carga útil..." $decrypted = foreach ($byte in $encodedPayload) { $byte -bxor $key } Write-Host "Descifrado completo." -
Comandos de Limpieza:
# No se hacen cambios permanentes con el script de simulación. # Simplemente limpia la consola. Clear-Host