Resumen
Basic Pentesting es la primera máquina de mi serie Camino a la eJPT. Es un excelente punto de partida porque toca varias áreas que aparecen en el examen: enumeración de servicios (SMB, HTTP), fuzzing de directorios, bruteforce de SSH y crackeo de claves privadas SSH. Si estás empezando con TryHackMe y la eJPT, esta máquina es obligatoria.
| Atributo | Valor |
|---|---|
| Plataforma | TryHackMe |
| Dificultad | Fácil |
| OS | Linux |
| Sala | Basic Pentesting |
| Skills | Enum SMB, Fuzzing web, SSH bruteforce, Crackeo de claves SSH |
Versión en video
Si prefieres seguir el walkthrough paso a paso, continúa leyendo. El video cubre el mismo proceso en formato visual.
Herramientas usadas
nmap— enumeración de puertos y serviciosenum4linux— enumeración de SMBgobuster— fuzzing de directorios webhydra— bruteforce de SSHssh2john+john— extracción y crackeo del hash de la clave SSH
Resumen de la solución
- Nmap revela puertos SSH, HTTP, SMB y un puerto adicional
- Enumeración SMB con
enum4linuxrevela dos usuarios:janykay - Fuzzing web con
gobusterdescubre un directorio/developmentcon pistas - Bruteforce SSH con
hydrasobre el usuariojanobtiene credenciales - Dentro del sistema, se accede al
id_rsadekay(root-equivalent) - La clave está protegida con passphrase, se crackea con
johny se obtiene acceso final
Reconocimiento
Verificación de conectividad
ping -c 1 10.X.X.X
TTL=60 → la máquina objetivo es Linux. Esto descarta exploits típicos de Windows como SMB EternalBlue y orienta la estrategia hacia enumeración de servicios Unix.
Escaneo de puertos con Nmap
Primer barrido a todos los puertos TCP:
nmap 10.X.X.X -n -Pn -sS -p- --min-rate=5000 -oG allTCPports
Justificación de los flags:
-nevita resolución DNS, hace el escaneo más rápido-Pnasume el host como activo, evita el ping previo (algunos firewalls bloquean ICMP)-sSSYN scan — sigiloso, no completa la conexión TCP--min-rate=5000fuerza una velocidad mínima de 5000 paquetes/seg-oGsalida grepeable, útil para extraer puertos abiertos a otro escaneo
Una vez identificados los puertos abiertos, escaneo dirigido con detección de versiones y scripts default:
nmap 10.X.X.X -n -Pn -sS -sVC -p22,80,139,445,8009,8080 --min-rate=5000 -oN basicscan.txt
Hallazgos clave:
- 22/tcp — OpenSSH (vector potencial de bruteforce)
- 80/tcp — Apache (revisar contenido y fuzzing)
- 139/445 tcp — SMB Samba (enumeración con
enum4linux)- 8080/tcp — Apache Tomcat (posible login admin)
Enumeración SMB con enum4linux
SMB es uno de los vectores más rentables en máquinas Linux mal configuradas. Usuarios y shares mal protegidos suelen filtrar información sensible.
enum4linux -a 10.X.X.X
Hallazgo crítico: dos usuarios del sistema:
jankay
Esto cambia el plan: ya tenemos nombres de usuario, lo que abre la puerta a bruteforce SSH dirigido.
Enumeración del servicio web
Antes de saltar al bruteforce, revisamos la web por si hay credenciales o pistas en texto plano.
whatweb
whatweb http://10.X.X.X
Identifica el stack: Apache + tecnologías estándar. Sin nada llamativo a primera vista.
Fuzzing con gobuster
gobuster dir -u http://10.X.X.X \
-w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt \
-t 50 -x php,txt,html
Hallazgo: directorio /development accesible.
Dentro encontramos dev.txt con un mensaje firmado por dos personas, J y K — coincide con los usuarios encontrados por SMB. Las notas mencionan que J está usando una contraseña débil.
Razonamiento: este es el patrón clásico de “información que el equipo de desarrollo deja por error”. La pista está clara:
jantiene contraseña débil → bruteforce SSH dirigido a ese usuario.
Explotación
Vector de ataque
Con los hallazgos anteriores, el plan es:
- Bruteforce SSH al usuario
janconhydray un wordlist común - Una vez dentro, pivotear hacia
kay(probablemente el usuario con más privilegios, según la firma del documento)
Bruteforce SSH con Hydra
hydra -l jan -P /usr/share/wordlists/rockyou.txt ssh://10.X.X.X -t 4
Justificación de los flags:
-l janusuario único (no-Lque sería lista de usuarios)-P rockyou.txtel wordlist más común para passwords débiles-t 44 tareas en paralelo (más alto puede causar bloqueos del servidor SSH)
Credenciales obtenidas:
jan:armando
Acceso inicial vía SSH
ssh jan@10.X.X.X
Ya dentro del sistema con permisos limitados de jan.
Post-explotación
Identidad y contexto
id
uname -a
hostname
uid=1001(jan) gid=1001(jan) groups=1001(jan)
Linux basic-pentesting 4.4.0-...
jan es un usuario estándar sin grupos privilegiados visibles. Toca enumerar el sistema en busca del camino hacia kay o root.
Enumeración del sistema
Revisión de directorios home y archivos accesibles:
ls -la /home/
ls -la /home/kay/
ls -la /home/kay/.ssh/
Hallazgo crítico: la carpeta
.sshdekaytiene permisos de lectura para otros usuarios, lo que nos permite leer elid_rsa(clave privada SSH).
cat /home/kay/.ssh/id_rsa
Copio la clave completa a mi máquina atacante para procesarla.
Escalada de privilegios
Vector identificado
La clave privada de kay está accesible, pero está protegida con passphrase. Si logro crackear la passphrase, tendré acceso SSH directo como kay. Esto es una escalada lateral, pero kay tiene permisos elevados que jan no tiene (lo confirmaremos después).
Extracción del hash con ssh2john
john no puede atacar directamente claves SSH cifradas; primero necesitamos extraer el hash en un formato que entienda:
ssh2john id_rsa > kay_hash
Crackeo con John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt kay_hash
Passphrase obtenida:
beeswax
Acceso final como kay
chmod 600 id_rsa
ssh -i id_rsa kay@10.X.X.X
Al ingresar la passphrase, obtenemos shell como kay.
Captura del flag
cat /home/kay/pass.bak
Flag final:
[contenido de pass.bak]
Lecciones aprendidas
- SMB es oro en máquinas Linux —
enum4linuxdebería ser de tus primeros movimientos cuando aparezcan los puertos 139/445. La lista de usuarios obtenida cambió todo el plan. - Las pistas en archivos
.txtson intencionales — En CTFs, archivos comodev.txt,notes.md,todo.txtsiempre contienen información clave. No los pases por alto. - Permisos mal configurados en
.ssh— Una clave privada legible por otros usuarios es una vulnerabilidad común en entornos reales mal administrados. Siempre revisa/home/*/.ssh/. - Las passphrases de claves SSH se crackean —
ssh2john+johnes la combinación estándar. Una passphrase débil derrota completamente la protección del cifrado de la clave.
Para la eJPT
Esta máquina ejercita habilidades directamente evaluadas en la eJPT:
- Enumeración con Nmap (sintaxis y flags clave)
- Enumeración SMB con
enum4linux - Fuzzing de directorios con
gobuster - Bruteforce con
hydra - Manipulación de hashes y crackeo con
john
Tiempo aproximado de resolución: 30-45 minutos para alguien familiarizado con las herramientas.