[Informe de Operación] De Phishing SSA a AdaptixC2: una Intrusión Multi-RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Un actor de amenaza llevó a cabo una intrusión de commodity en capas comenzando con un correo electrónico de phishing temático sobre la Administración del Seguro Social de EE.UU. La operación se basó en AdaptixC2 como el principal marco de comando y control, utilizó XWorm como canal de acceso secundario y para la exfiltración basada en Telegram, y desplegó ScreenConnect para apoyar la actividad manual. La campaña también mostró una fuerte disciplina operativa mediante el uso de engaño de nombre de archivo RTLO y múltiples rutas de persistencia diseñadas para sobrevivir a una remediación parcial.
Investigación
La investigación tuvo lugar en un entorno de Deception.Pro utilizando una estación de trabajo de engaño. Debido a que la inspección TLS estaba habilitada, los investigadores pudieron recuperar el tráfico de baliza en texto claro, URLs de descarga de cargas útiles y apretones de manos de retransmisión de ScreenConnect. Esa visibilidad hizo posible atribuir la intrusión a marcos específicos con alta confianza en lugar de depender solo de suposiciones basadas en comportamientos o huellas digitales.
Mitigación
Las organizaciones deberían reducir riesgos habilitando la inspección TLS para el tráfico de comando y control cifrado y desplegando EDR capaz de detectar certutilbasado en la preparación y ejecución sospechosa de PowerShell. Se debe hacer cumplir la visibilidad de la extensión de archivos para debilitar trucos de nombre de archivo basados en RTLO, y se deben monitorear de cerca las escrituras de claves de ejecución en el registro en ubicaciones públicas o escribibles por el usuario. Los equipos también deberían inventariar y alertar sobre herramientas de gestión remota no autorizadas como ScreenConnect, especialmente cuando se instalan a través de msiexec.
Respuesta
Si se detecta esta actividad, aíslen los puntos finales afectados inmediatamente para cortar el tráfico de comando y control y prevenir más movimientos laterales a través de la enumeración SAMR o LSAD. Realice un barrido forense completo en busca de DLLs de XWorm y artefactos de AdaptixC2 en carpetas públicas y otros caminos comunes de preparación. Los investigadores también deberían revisar patrones de exfiltración relacionados con Telegram y auditar claves de persistencia en el registro que imitan nombres de actualizadores legítimos.
graph TB %% Sección de definiciones de clases classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef discovery fill:#ccffcc %% Definición de nodos %% Acceso inicial y ejecución action_phishing[«<b>Acción</b> – <b>T1566.002 Phishing: Enlace de Spearphishing</b><br/>La víctima recibe un correo electrónico falsificado supuestamente de la SSA,<br/>que contiene un enlace a un archivo RAR.»] class action_phishing action action_masquerade[«<b>Acción</b> – <b>T1036.008 Suplantación: Suplantación del tipo de archivo</b><br/>El atacante utiliza la técnica RTLO para disfrazar un archivo ejecutable PE32<br/>como un documento PDF (.fdp.exe).»] class action_masquerade action action_user_exec[«<b>Acción</b> – <b>T1204.002 Ejecución por el usuario: Archivo malicioso</b><br/>El usuario interactúa con el<br/>archivo malicioso disfrazado.»] class action_user_exec action %% Transferencia de herramientas y persistencia tool_certutil[«<b>Herramienta</b> – <b>Nombre: certutil.exe</b><br/><b>Descripción:</b> Utilidad nativa de Windows utilizada para<br/>descargar la carga útil de AdaptixC2.»] class tool_certutil tool action_ingress[«<b>Acción</b> – <b>T1105 Transferencia de herramientas al sistema</b><br/>La carga útil se descarga desde<br/>cloudpre-005[.]online.»] class action_ingress action action_persistence[«<b>Acción</b> – <b>T1547.001 Ejecución automática al iniciar o iniciar sesión:<br/>Claves Run del Registro / Carpeta Startup</b><br/>Crea claves de registro como PayloadService,<br/>JavaUpdater y Updater en C:\Users\Public\.»] class action_persistence action %% C2 y acceso remoto malware_adaptix[«<b>Malware</b> – <b>Nombre: AdaptixC2</b><br/><b>Descripción:</b> Agente beacon utilizado para<br/>operaciones de Comando y Control (C2).»] class malware_adaptix malware action_c2_web[«<b>Acción</b> – <b>T1071.001 Protocolo de capa de aplicación:<br/>Protocolos web</b><br/>AdaptixC2 se comunica mediante beaconing<br/>con URL web específicas.»] class action_c2_web action tool_screenconnect[«<b>Herramienta</b> – <b>Nombre: ScreenConnect</b><br/><b>Descripción:</b> Herramienta de acceso remoto desplegada<br/>para control interactivo.»] class tool_screenconnect tool action_remote_access[«<b>Acción</b> – <b>T1219 Herramientas de acceso remoto</b><br/>Despliegue de dos clientes independientes<br/>para mantener acceso interactivo.»] class action_remote_access action %% Exfiltración y reconocimiento malware_xworm[«<b>Malware</b> – <b>Nombre: XWorm</b><br/><b>Descripción:</b> Malware utilizado para retransmitir<br/>datos robados mediante Telegram.»] class malware_xworm malware action_exfil[«<b>Acción</b> – <b>T1567 Exfiltración a través de servicio web</b><br/>Los datos se exfiltran utilizando la<br/>API de Telegram Bot.»] class action_exfil action action_discovery[«<b>Acción</b> – <b>T1069.002 Descubrimiento de grupos de permisos:<br/>Grupos de dominio</b><br/>Enumeración del entorno de dominio mediante<br/>SAMR y LSAD RPC.»] class action_discovery discovery %% Conexiones action_phishing –>|conduce_a| action_masquerade action_masquerade –>|conduce_a| action_user_exec action_user_exec –>|activa| tool_certutil tool_certutil –>|ejecuta| action_ingress action_ingress –>|instala| malware_adaptix malware_adaptix –>|establece| action_persistence malware_adaptix –>|utiliza| action_c2_web action_remote_access –>|utiliza| tool_screenconnect malware_adaptix –>|despliega| action_remote_access malware_adaptix –>|opera| malware_xworm malware_xworm –>|realiza| action_exfil malware_adaptix –>|realiza| action_discovery
Flujo de Ataque
Detecciones
Puntos de Persistencia Posibles [ASEPs – Software/Colmena NTUSER] (vía evento_registro)
Ver
Uso de Certutil para Codificación de Datos y Operaciones de Certificados (vía línea_comando)
Ver
Ejecución Sospechosa desde Perfil de Usuario Público (vía creación_proceso)
Ver
Software Alternativo de Acceso / Gestión Remota (vía creación_proceso)
Ver
Un Archivo fue Extraído a un Directorio Sospechoso Usando Powershell (vía powershell)
Ver
Archivos Sospechosos en Perfil de Usuario Público (vía evento_archivo)
Ver
Posible Intento de Comunicación de Búsqueda de Dominio IP (vía dns)
Ver
Posible Servicio DNS Dinámico fue Contactado (vía dns)
Ver
COIs (HashSha256) para detectar: [Informe de Operación] De SSA Phish a AdaptixC2: Una Intrusión Multi-RAT
Ver
COIs (HashMd5) para detectar: [Informe de Operación] De SSA Phish a AdaptixC2: Una Intrusión Multi-RAT
Ver
COIs (SourceIP) para detectar: [Informe de Operación] De SSA Phish a AdaptixC2: Una Intrusión Multi-RAT
Ver
COIs (DestinationIP) para detectar: [Informe de Operación] De SSA Phish a AdaptixC2: Una Intrusión Multi-RAT
Ver
Detección de Comunicación de Comando y Control AdaptixC2 [Conexión de Red de Windows]
Ver
Detectar Despliegue de AdaptixC2 y ScreenConnect via Certutil y Msiexec [Creación de Proceso de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Comprobación de Telemetría y Línea Base debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para desencadenar 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 y Comandos de Ataque: El adversario ha establecido con éxito un punto de apoyo en la máquina objetivo a través de un enlace de spearphishing. Para mantener el control y recibir instrucciones, el agente AdaptixC2 intenta «registrarse» con su servidor de comando y control. El agente está programado para conectarse a un URI codificado (
98.81.111.167/updates/check.php) o una IP de reserva (23.20.229.225) a través del puerto 443. Simulando estos intentos exactos de conexión, validamos si la regla de detección de firewall/red identifica correctamente estos patrones maliciosos conocidos. -
Script de Prueba de Regresión: Este script usa PowerShell para simular dos intentos de conexión distintos: uno dirigido al patrón de URL específico y otro dirigido a la dirección IP específica.
# Simulación de Comunicación C2 AdaptixC2 Write-Host "[+] Iniciando Simulación de AdaptixC2..." -ForegroundColor Cyan # Escenario 1: Conexión al patrón de URL malicioso específico Write-Host "[+] Intentando conexión a URL maliciosa: 98.81.111.167/updates/check.php" -ForegroundColor Yellow try { # Usamos -ErrorAction SilentlyContinue porque es probable que la IP no resuelva o responda, # pero el intento de conexión en sí generará la telemetría. Invoke-WebRequest -Uri "http://98.81.111.167/updates/check.php" -Method Get -ErrorAction SilentlyContinue } catch { Write-Host "[!] Conexión fallida (esperado), pero debe generarse telemetría." -ForegroundColor Gray } # Escenario 2: Conexión a la IP maliciosa específica en el puerto 443 Write-Host "[+] Intentando conexión a IP maliciosa: 23.20.229.225 en el puerto 443" -ForegroundColor Yellow try { $tcpClient = New-Object System.Net.Sockets.TcpClient $connection = $tcpClient.BeginConnect("23.20.229.225", 443, $null, $null) $success = $connection.AsyncWaitHandle.WaitOne(5000, $false) if ($success) { Write-Host "[+] Conexión exitosa (poco probable en prueba real)." -ForegroundColor Green } else { Write-Host "[!] Tiempo de espera de conexión agotado (esperado), pero debe generarse telemetría." -ForegroundColor Gray } $tcpClient.Close() } catch { Write-Host "[!] Error durante el intento de conexión TCP." -ForegroundColor Red } Write-Host "[+] Simulación Completa." -ForegroundColor Cyan -
Comandos de Limpieza:
# No se crean artefactos persistentes con esta simulación ya que solo genera tráfico de red. Write-Host "[+] No se requiere limpieza. Las conexiones de red fueron transitorias." -ForegroundColor Green