Del dispositivo perimetral al compromiso empresarial: Intrusión en Linux en varias etapas vía F5 y Confluence
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Un actor de amenazas primero obtuvo acceso a través de un equilibrador de carga F5 BIG-IP expuesto, luego se trasladó a un servidor Linux interno y más tarde comprometió una instancia interna de Atlassian Confluence explotando una vulnerabilidad conocida. Desde allí, el atacante realizó un amplio reconocimiento, robó credenciales y lanzó ataques de retransmisión Kerberos y NTLM contra activos de dominio de Windows. La operación se basó en una combinación de herramientas de código abierto y scripts personalizados para escaneo, movimiento lateral y exfiltración de datos.
Investigación
La investigación de seguridad de Microsoft Defender rastreó la intrusión desde el dispositivo BIG-IP comprometido hasta el host Linux interno, donde los investigadores encontraron una herramienta de escaneo personalizado descargada desde una dirección IP maliciosa. El análisis también documentó el uso de utilidades como Nmap, gowitness y Responder durante el ataque. Los investigadores también descubrieron el robo de credenciales de archivos de configuración de Confluence, seguido de ataques de retransmisión dirigidos a los controladores de dominio y otros recursos de Windows.
Mitigación
Las organizaciones deben tratar los dispositivos perimetrales frente a Internet como activos de Nivel-0, aplicar gestión estricta de parches y del ciclo de vida para dispositivos obsoletos o no compatibles, y limitar la exposición de las interfaces de gestión. Las aplicaciones web internas deben endurecerse y actualizarse de inmediato contra vulnerabilidades conocidas. Controles de autenticación más fuertes, incluyendo deshabilitar NTLM donde sea posible y forzar la firma SMB, pueden ayudar a reducir el impacto de los ataques basados en retransmisión.
Respuesta
Los defensores deben alertar sobre inicios de sesión SSH inusuales desde direcciones IP inesperadas, monitorizar transferencias de archivos no autorizadas y la ejecución de utilidades de escaneo conocidas, y bloquear binarios ELF sospechosos. Los equipos de seguridad también deben rotar las credenciales potencialmente expuestas, aplicar el principio del menor privilegio para cuentas de servicio y verificar la integridad de las configuraciones de Confluence y Active Directory.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#c2e0ff classDef tool fill:#e6e6e6 classDef credential fill:#ffdd99 %% Step 1 u2013 Exploit Publicu2011Facing Application step1_exploit["<b>Technique</b> – <b>T1190 Exploit Publicu2011Facing Application</b><br/><b>Description</b>: Adversary exploits a vulnerability in an Internetu2011exposed service to gain initial access."] class step1_exploit technique %% Tool u2013 Vulnerable F5 BIGu2011IP tool_f5["<b>Tool</b> – <b>Name</b>: F5 BIGu2011IP load balancer (vulnerable)<br/><b>CVE</b>: CVEu20112025u201153521"] class tool_f5 tool %% Step 2 u2013 Exploitation of Remote Services step2_remote["<b>Technique</b> – <b>T1210 Exploitation of Remote Services</b><br/><b>Description</b>: Use the same vulnerability to execute code on the target system and move laterally."] class step2_remote technique %% Step 3 u2013 SSH Remote Services step3_ssh["<b>Technique</b> – <b>T1021.004 SSH</b><br/><b>Description</b>: Authenticate via SSH with a privileged account to an internal Linux host."] class step3_ssh technique %% Step 4 u2013 Remote Service Session Hijacking step4_hijack["<b>Technique</b> – <b>T1563.001 Remote Service Session Hijacking</b><br/><b>Description</b>: Maintain a live interactive SSH session for command execution."] class step4_hijack technique %% Step 5 u2013 Active Scanning (IP Blocks) step5_ipscan["<b>Technique</b> – <b>T1595.001 Scanning IP Blocks</b><br/><b>Description</b>: Run Nmap scripts to discover active hosts and open ports across internal subnets."] class step5_ipscan technique %% Tool u2013 Nmap tool_nmap["<b>Tool</b> – <b>Name</b>: Nmap<br/><b>Purpose</b>: Network discovery and port scanning"] class tool_nmap tool %% Step 6 u2013 Active Scanning (Vulnerability) step6_vulnscan["<b>Technique</b> – <b>T1595.002 Vulnerability Scanning</b><br/><b>Description</b>: Use custom scanner and gowitness to locate vulnerable internal applications such as Confluence."] class step6_vulnscan technique %% Tool u2013 gowitness tool_gowitness["<b>Tool</b> – <b>Name</b>: gowitness<br/><b>Purpose</b>: Capture screenshots of web services for enumeration"] class tool_gowitness tool %% Step 7 u2013 System Network Configuration Discovery step7_netconfig["<b>Technique</b> – <b>T1016 System Network Configuration Discovery</b><br/><b>Description</b>: Collect network configuration details to map the environment."] class step7_netconfig technique %% Step 8 u2013 File and Directory Discovery step8_filedisc["<b>Technique</b> – <b>T1083 File and Directory Discovery</b><br/><b>Description</b>: Enumerate files on the compromised Linux host and Confluence server (e.g., server.xml, confluence.cfg.xml)."] class step8_filedisc technique %% Step 9 u2013 Unsecured Credentials step9_creds["<b>Technique</b> – <b>T1552 Unsecured Credentials</b><br/><b>Description</b>: Extract service account credentials from configuration files."] class step9_creds technique %% Credential node cred_service["<b>Credential</b> – Harvested service account credentials"] class cred_service credential %% Step 10 u2013 Valid Accounts step10_valid["<b>Technique</b> – <b>T1078 Valid Accounts</b><br/><b>Description</b>: Reu2011use harvested Confluence credentials to authenticate to Active Directory services."] class step10_valid technique %% Step 11 u2013 Lateral Movement via Remote Services step11_lateral["<b>Technique</b> – <b>T1021 Remote Services</b><br/><b>Description</b>: Attempt NTLMu2011based lateral movement using enumeration and file sharing tools."] class step11_lateral technique %% Tools u2013 enum4linux, netexec, smbclient tool_enum4linux["<b>Tool</b> – <b>Name</b>: enum4linux<br/><b>Purpose</b>: Gather Windows enumeration data"] class tool_enum4linux tool tool_netexec["<b>Tool</b> – <b>Name</b>: netexec<br/><b>Purpose</b>: Execute commands over SMB"] class tool_netexec tool tool_smbclient["<b>Tool</b> – <b>Name</b>: smbclient<br/><b>Purpose</b>: Access SMB shares"] class tool_smbclient tool %% Step 12 u2013 Pass the Ticket (Kerberos/NTLM Relay) step12_passticket["<b>Technique</b> – <b>T1550.003 Pass the Ticket</b><br/><b>Description</b>: Perform Kerberos and NTLM relay attacks (e.g., PetitPotam) against domain controllers."] class step12_passticket technique %% Tool u2013 PetitPotam tool_petitpotam["<b>Tool</b> – <b>Name</b>: PetitPotam<br/><b>Purpose</b>: NTLM relay via Microsoft RPC"] class tool_petitpotam tool %% Step 13 u2013 Steal or Forge Kerberos Tickets step13_kerb["<b>Technique</b> – <b>T1558 Steal or Forge Kerberos Tickets</b><br/><b>Description</b>: Obtain privileged Kerberos tickets to further compromise AD."] class step13_kerb technique %% Step 14 u2013 Hijack Execution Flow (File Permissions) step14_perm["<b>Technique</b> – <b>T1574.005 Hijack Execution Flow: Executable Installer File Permissions Weakness</b><br/><b>Description</b>: Add executable permissions to malicious ELF binaries before execution."] class step14_perm technique %% Step 15 u2013 Deploy Web Shell step15_webshell["<b>Technique</b> – <b>T1505.003 Server Software Component: Web Shell</b><br/><b>Description</b>: Deploy a web shell on the Confluence server for persistence."] class step15_webshell technique %% Step 16 u2013 Application Layer Protocols (File Transfer & Web) step16_transfer["<b>Technique</b> – <b>T1071.002 Application Layer Protocol: File Transfer Protocols</b> & <b>T1071.001 Web Protocols</b><br/><b>Description</b>: Transfer tools and payloads via FTP and HTTP."] class step16_transfer technique %% Step 17 u2013 Exfiltration Over Alternative Protocol step17_exfil["<b>Technique</b> – <b>T1048 Exfiltration Over Alternative Protocol</b><br/><b>Description</b>: Exfiltrate data and tooling using nonu2011standard application protocols."] class step17_exfil technique %% Connections step1_exploit –>|exploits| tool_f5 step1_exploit –>|leads_to| step2_remote step2_remote –>|uses| step3_ssh step3_ssh –>|maintains| step4_hijack step4_hijack –>|enables| step5_ipscan step5_ipscan –>|uses| tool_nmap step5_ipscan –>|leads_to| step6_vulnscan step6_vulnscan –>|uses| tool_gowitness step6_vulnscan –>|leads_to| step7_netconfig step7_netconfig –>|leads_to| step8_filedisc step8_filedisc –>|leads_to| step9_creds step9_creds –>|produces| cred_service step9_creds –>|leads_to| step10_valid step10_valid –>|uses| cred_service step10_valid –>|enables| step11_lateral step11_lateral –>|uses| tool_enum4linux step11_lateral –>|uses| tool_netexec step11_lateral –>|uses| tool_smbclient step11_lateral –>|leads_to| step12_passticket step12_passticket –>|uses| tool_petitpotam step12_passticket –>|leads_to| step13_kerb step13_kerb –>|leads_to| step14_perm step14_perm –>|leads_to| step15_webshell step15_webshell –>|enables| step16_transfer step16_transfer –>|enables| step17_exfil %% Class assignments class step1_exploit,step2_remote,step3_ssh,step4_hijack,step5_ipscan,step6_vulnscan,step7_netconfig,step8_filedisc,step9_creds,step10_valid,step11_lateral,step12_passticket,step13_kerb,step14_perm,step15_webshell,step16_transfer,step17_exfil action class tool_f5,tool_nmap,tool_gowitness,tool_enum4linux,tool_netexec,tool_smbclient,tool_petitpotam tool class cred_service credential "
Flujo de Ataque
Detecciones
Posibles Comunicaciones C2 Sobre HTTP a IP Directa con Puerto Poco Común (a través de proxy)
Ver
Posible Manipulación de Cadenas Codificadas en Base64 (a través de la línea de comandos)
Ver
Se establecieron Permisos Peligrosos para un Binario/Script/Carpeta (a través de la línea de comandos)
Ver
Carga o Descarga Remota de Archivos a través de Herramientas Estándar (a través de la línea de comandos)
Ver
IOCs (HashSha256) para detectar: Desde el dispositivo perimetral hasta el compromiso empresarial: Intrusión Linux de múltiples etapas a través de F5 y Confluence
Ver
IOCs (SourceIP) para detectar: Desde el dispositivo perimetral hasta el compromiso empresarial: Intrusión Linux de múltiples etapas a través de F5 y Confluence
Ver
IOCs (Archivos) para detectar: Desde el dispositivo perimetral hasta el compromiso empresarial: Intrusión Linux de múltiples etapas a través de F5 y Confluence
Ver
IOCs (URL) para detectar: Desde el dispositivo perimetral hasta el compromiso empresarial: Intrusión Linux de múltiples etapas a través de F5 y Confluence
Ver
IOCs (DestinationIP) para detectar: Desde el dispositivo perimetral hasta el compromiso empresarial: Intrusión Linux de múltiples etapas a través de F5 y Confluence
Ver
Intrusión Linux de Múltiples Etapas a través de F5 BIG-IP y Confluence [Creación de Proceso en Linux]
Ver
Ejecución de Simulación
Prerrequisito: La Verificación Preliminar de Telemetría y Línea Base debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica adversaria (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. Ejemplos abstractos o no relacionados llevarán a un diagnóstico errado.
-
Narrativa del Ataque y Comandos:
-
Etapa 1 – Acceso SSH Privilegiado desde F5 BIG‑IP
- Un adversario ha obtenido credenciales para la cuenta privilegiada
cuenta_privilegiadaen un dispositivo F5 BIG‑IP. - Utilizando el servicio de gestión SSH del dispositivo, el atacante abre una sesión al host Linux objetivo, inyectando la variable de entorno
HOSTNAME=F5_BIG-IP_devicepara satisfacer la coincidencia deSourceHostName.
- Un adversario ha obtenido credenciales para la cuenta privilegiada
-
Etapa 2 – Reconocimiento de Red (nmap)
- Dentro de la sesión SSH, el atacante ejecuta
nmapcontra la subred interna para mapear hosts y servicios activos.
- Dentro de la sesión SSH, el atacante ejecuta
-
Etapa 3 – Reconocimiento de Servicios Web (gowitness)
- Después de identificar los servidores web, el atacante invoca
gowitnesspara capturar capturas de pantalla de endpoints HTTP/HTTPS.
- Después de identificar los servidores web, el atacante invoca
-
Evasión de Detección (Específico de la Regla)
- No se utiliza el módulo
ftplibde Python; por lo tanto, la cláusulaexclusion_ftpno se activa.
- No se utiliza el módulo
-
-
Script de Prueba de Regresión:
#!/usr/bin/env bash # # Simulación de Intrusión de Múltiples Etapas – activa la regla Sigma. # Prerrequisito: el usuario ejecutor debe tener derechos de sudo para establecer HOSTNAME para la sesión. # set -euo pipefail # ------------------------------------------------- # Etapa 1 – Simula inicio de sesión SSH privilegiado desde F5 # ------------------------------------------------- export HOSTNAME="F5_BIG-IP_device" export LOGNAME="privileged_account" export USER="privileged_account" echo "[*] Simulando sesión SSH privilegiada desde ${HOSTNAME} como ${USER}" # ------------------------------------------------- # Etapa 2 – Ejecutar nmap (descubrimiento de red) # ------------------------------------------------- echo "[*] Ejecutando escaneo nmap en subred interna 10.0.0.0/24" nmap -sn 10.0.0.0/24 # ------------------------------------------------- # Etapa 3 – Ejecutar gowitness (enumeración de servicios web) # ------------------------------------------------- echo "[*] Ejecutando gowitness contra los hosts web descubiertos" # Suponga que gowitness está instalado y en $PATH gowitness file -f /tmp/discovered_web_hosts.txt echo "[+] Simulación completa – la alerta esperada debería generarse." -
Comandos de Limpieza:
#!/usr/bin/env bash # # Limpieza para la simulación de intrusión de múltiples etapas # set -euo pipefail # Eliminar archivos temporales creados por gowitness rm -f /tmp/discovered_web_hosts.txt # Desestablecer variables de entorno usadas para la simulación unset HOSTNAME LOGNAME USER echo "[*] Limpieza completa."