Parte: 3 — Hacking ético y pentesting: metodología · Fuente: Kennedy et al. - "Metasploit: The Penetration Tester's Guide"; Peter Kim - "The Hacker Playbook 3" ⏱️ Duración estimada: 120 min · Nivel: Avanzado
El alumno dominará Meterpreter, el payload avanzado de Metasploit que se ejecuta en memoria, y las tareas fundamentales de post-explotación: reconocimiento del sistema comprometido, migración de proceso, recolección de credenciales y uso de módulos post para automatizar enumeración interna. La post-explotación es la fase donde se demuestra el impacto real de una vulnerabilidad ante un cliente o evaluador.
Al finalizar, el alumno podrá:
post.getsystem y evaluar honestamente cuándo esta técnica funciona y cuándo no.| # | Tema | Por qué importa |
|---|---|---|
| 1 | Arquitectura de Meterpreter (ejecución en memoria) | No escribe en disco por defecto, lo que reduce su huella forense |
| 2 | Comandos de sistema, archivos y procesos | Permiten navegar y extraer información sin subir herramientas externas |
| 3 | migrate y estabilidad de la sesión |
La sesión puede perderse si el proceso vulnerable se cierra |
| 4 | Recolección de credenciales (hashdump, kiwi) |
Es el hallazgo de mayor impacto que se documenta en un informe |
| 5 | Módulos post | Automatizan enumeración local y sugerencias de escalada |
| 6 | getsystem y elevación de privilegios |
Determina el alcance real que se puede reportar como impacto |
| 7 | Loot y evidencias en la base de datos | El informe final necesita pruebas verificables, no solo afirmaciones |
| 8 | Manejo responsable de datos sensibles extraídos | Las credenciales de un cliente exigen custodia y destrucción controlada |
stdapi, priv, kiwi). Característica clave: no escribe en disco por defecto, lo que dificulta su detección por antivirus tradicionales basados en archivos.migrate: comando que mueve la sesión de Meterpreter a otro proceso en ejecución. Característica clave: aporta estabilidad y en ocasiones permite heredar el contexto de privilegios de un proceso más privilegiado.hashdump: comando que vuelca los hashes de contraseñas almacenados localmente (SAM en Windows, /etc/shadow equivalente en Linux vía módulos). Característica clave: requiere privilegios elevados (SYSTEM o root) para ejecutarse con éxito.post/multi/recon/local_exploit_suggester analiza el sistema y sugiere rutas de escalada de privilegios conocidas.hashdump y kiwi, que son específicos de Windows).sessions -l antes de iniciar el laboratorio.loot/) para almacenar los archivos descargados durante la práctica.⚠️ Nota ética — lectura obligatoria: volcar credenciales, extraer contraseñas en memoria y recolectar información de un sistema comprometido son acciones altamente intrusivas y sensibles. Se ejecutan exclusivamente sobre sistemas de laboratorio propios (VMs propias, Metasploitable, rangos controlados) o dentro del alcance de un contrato de pentesting con reglas de engagement firmadas. Las credenciales o datos obtenidos en un engagement real se tratan como información estrictamente confidencial: se almacenan cifradas, se usan únicamente dentro del alcance autorizado y se destruyen de forma verificable al finalizar el compromiso, según lo acordado contractualmente con el cliente. Extraer o conservar credenciales de sistemas sin autorización es ilegal y además constituye una falta grave de ética profesional.
Con una sesión Meterpreter activa (confirmada con sessions -i 1):
sysinfo, getuid, ps.pwd, ls, y descarga un archivo de interés: download /etc/passwd loot/passwd (o su equivalente en Windows).migrate -N explorer.exe (Windows) o al PID de un proceso persistente en Linux.msfconsole (con la sesión en background, background primero): run post/multi/recon/local_exploit_suggester.run post/windows/gather/enum_logged_on_users.getsystem, y si tiene éxito, vuelca los hashes locales: hashdump.load kiwi seguido de creds_all.msfconsole todo el loot y credenciales acumulados en el workspace: loot y creds.screenshot y guárdala junto al resto de evidencia recolectada.local_exploit_suggester y elige una de las rutas de escalada sugeridas, explicando por qué aplicaría en ese sistema.download y verifica su integridad comparándolo en tu máquina Kali.hashdump para funcionar y qué ocurre si se ejecuta sin ellos.Reto: Desde una sesión Meterpreter activa en el laboratorio propio, recolectar evidencia verificable de impacto: información del sistema, al menos un archivo descargado, y, si el nivel de privilegio obtenido lo permite, un volcado de hashes o credenciales.
Criterio de aceptación: se presenta la salida de sysinfo/getuid del objetivo, un archivo efectivamente descargado a la máquina atacante, y al menos una entrada visible en loot o creds dentro del workspace de Metasploit. Se documenta explícitamente si hubo elevación exitosa con getsystem y, si no la hubo, se explica por qué. Todo el ejercicio se realiza en un entorno propio o autorizado.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
getsystem falla en todos los intentos |
No existe una ruta de escalada conocida disponible; ejecutar local_exploit_suggester para identificar alternativas |
hashdump devuelve "Insufficient privileges" |
La sesión no corre como SYSTEM/root; intentar elevar primero con getsystem o un exploit local |
| La sesión Meterpreter se cae al detener el servicio explotado | No se realizó migrate; migrar a un proceso estable apenas se obtiene la sesión |
load kiwi falla con error de arquitectura |
El proceso migrado no coincide en arquitectura (x86 vs x64) con el payload cargado; migrar a un proceso de la arquitectura correcta |
No aparece nada en loot tras ejecutar un módulo post |
El módulo no guarda loot por diseño, o guardó en notes; revisar ambos comandos desde msfconsole |
download falla con permisos denegados |
El usuario actual no tiene acceso al archivo; intentar migrar a un proceso con más privilegios primero |
La sesión se vuelve inestable tras migrate |
Se migró a un proceso de corta duración (ej. un notepad.exe recién abierto); elegir un proceso del sistema estable y de larga vida |
❓ ¿Meterpreter está siempre disponible tras cualquier exploit?
No. Depende del exploit y de la plataforma objetivo. En Linux, en ocasiones solo se obtiene una shell de comandos simple, que puede intentar actualizarse a Meterpreter con sessions -u <id>.
❓ ¿Por qué es tan importante migrar de proceso?
Porque el proceso explotado inicialmente puede cerrarse (perdiendo la sesión) o pertenecer a un contexto de poco valor. Migrar a un proceso estable como explorer.exe en Windows mantiene el acceso durante toda la evaluación.
❓ ¿getsystem es en sí mismo un exploit?
No exactamente; usa varias técnicas conocidas de elevación local (impersonación de named pipes, duplicación de tokens) que funcionan solo si el sistema es susceptible a ellas. Si fallan, se requiere un exploit local específico sugerido por local_exploit_suggester.
❓ ¿Cómo debo tratar las credenciales que extraigo durante un pentest real? Como información altamente confidencial: se almacenan cifradas, se usan exclusivamente dentro del alcance autorizado del contrato, y se destruyen de forma verificable al cierre del engagement, tal como se especifique en las reglas de engagement acordadas con el cliente.
❓ ¿Es necesario documentar cada comando ejecutado durante la post-explotación? Sí. Un informe de pentesting profesional debe permitir reproducir cada hallazgo; documentar comandos exactos, marcas de tiempo y evidencia (loot) es lo que da credibilidad al reporte final.
❓ ¿Qué debería vigilar un equipo defensivo (EDR/SOC) para detectar Meterpreter?
Meterpreter vive en memoria y suele inyectarse en procesos legítimos, por lo que las firmas basadas en archivo fallan. Un EDR moderno detecta este comportamiento por inyección de código en procesos como explorer.exe, llamadas a la API de Windows típicas de reflective DLL injection, y patrones de tráfico de red cifrado hacia un handler externo con beacons periódicos.
❓ ¿hashdump deja algún rastro forense en el sistema objetivo?
Sí. Acceder a la SAM (Windows) o a los archivos equivalentes de credenciales suele generar eventos de acceso a proceso (lsass.exe) y de lectura de registro que un SIEM bien configurado puede correlacionar como actividad de credential dumping, incluso si Meterpreter no escribe archivos en disco.
hashdump y kiwi: https://attack.mitre.org/techniques/T1003/Clase 073 — Metasploit: explotación y payloads