BotHelper RAT proporciona cargas útiles cifradas para la vigilancia en vivo de pantallas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una cadena de infección de Windows de múltiples etapas utiliza un lanzador nativo para recuperar una carga útil cifrada que finalmente despliega una herramienta de acceso remoto .NET previamente no documentada llamada BotHelper RAT. El RAT admite vigilancia de pantalla en vivo, monitoreo del portapapeles, ejecución de comandos de shell y entrega de complementos adicionales. El ataque está diseñado para la furtividad mediante la descifrado en memoria y la suplantación de procesos legítimos de Microsoft Edge.
Investigación
Point Wild analizó la cadena de infección e identificó un lanzador nativo x64 que perfila el host antes de descargar un archivo cifrado desde una URL designada. La investigación encontró que el lanzador desactiva la validación del certificado TLS y descifra la carga útil de la siguiente etapa íntegramente en memoria para reducir la detección basada en disco. BotHelper RAT luego establece persistencia a través de tareas programadas y parchea la Interfaz de Escaneo Antimalware (AMSI).
Mitigación
La mitigación debería priorizar el bloqueo del lanzador inicial y la infraestructura C2 asociada. Los controles de seguridad deben detectar la creación no autorizada de tareas programadas y la suplantación de procesos sospechosos, incluidas las instancias de msedge_proxy.exe ejecutándose desde el directorio Temp. Las organizaciones también deberían monitorear los intentos de parcheo de AMSI y conexiones TLS salientes inusuales a dominios previamente desconocidos o no confiables.
Respuesta
Cuando se detecta actividad de BotHelper RAT, aísle el punto final afectado para detener la ejecución de comandos adicionales y la exfiltración de datos. Elimine las tareas programadas maliciosas y los archivos descargados del directorio temporal del usuario. Realice forense de memoria para identificar componentes adicionales en memoria e investigar evidencia de robo de portapapeles, monitoreo de pantalla en vivo o capturas de pantalla.
Flujo de Ataque
Detecciones
Schtasks apunta a directorio/binario/script sospechoso (vía cmdline)
Tarea programada sospechosa (vía auditoría)
Comando y Control sospechoso por solicitud DNS de dominio de nivel superior (TLD) inusual (vía dns)
IOCs (HashSha256) para detectar: BotHelper RAT: De carga útil cifrada a vigilancia de pantalla en vivo
IOCs (SourceIP) para detectar: BotHelper RAT: De carga útil cifrada a vigilancia de pantalla en vivo
IOCs (DestinationIP) para detectar: BotHelper RAT: De carga útil cifrada a vigilancia de pantalla en vivo
Detectar descifrado de bucle XOR en carga útil de BotHelper RAT [Windows Sysmon]
Tarea programada detectada para persistencia de BotHelper RAT [Evento del Registro de Windows]
Detectar ejecución de BotHelper RAT y msedge_proxy.exe [Creación de Procesos de Windows]
Ejecución de Simulación
-
Narrativa del Ataque y Comandos: El atacante ha obtenido acceso inicial y ahora busca mantener una posición. Para evadir la detección por herramientas de seguridad que buscan balizas «siempre activas», deciden usar la utilidad
schtasks.exepara programar una carga útil maliciosa. Siguiendo el patrón de BotHelper RAT, configuran la tarea para activarse cada 30 minutos. Esto permite que el malware «duerma» la mayor parte del tiempo, reduciendo la huella en el tráfico de red y el monitoreo de procesos, asegurando al mismo tiempo que la conexión al servidor C2 se restablezca con frecuencia. -
Script de Prueba de Regresión:
# Script de simulación para imitar el mecanismo de persistencia de BotHelper RAT $taskName = "BotHelperUpdater" $payload = "C:WindowsSystem32calc.exe" # Usando calc.exe como proxy seguro para la carga útil de RAT Write-Host "[+] Simulando persistencia de BotHelper RAT..." # Este comando está diseñado para coincidir con la lógica de detección: /create, /sc y MINUTE=30 schtasks /create /tn "$taskName" /tr "$payload" /sc minute /mo 30 /f if ($LASTEXITCODE -eq 0) { Write-Host "[SUCCESS] Tarea creada. Verifique SIEM para detección." } else { Write-Host "[FAILURE] Fallo en la creación de tarea." } -
Comandos de Limpieza:
# Remover la tarea de persistencia simulada schtasks /delete /tn "BotHelperUpdater" /f Write-Host "[+] Limpieza completa. Tarea simulada eliminada."