[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.
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