02.-Meterpreter
Meterpreter es un payload avanzado de tipo shellcode presente en Metasploit.
Es extensible de manera dinámica mediante la inyección de librerías DLLs, lo que permite cargar módulos en el equipo comprometido en caso de que sean necesarios para una acción específica en la fase de Postexplotación.
Además, Meterpreter se ejecuta enteramente en memoria, sin dejar ningún tipo de traza en disco. También puede inyectarse en distintos procesos, siempre que se disponga de privilegios elevados para modificar el contexto del proceso en el que se inyecta.
Normalmente, Meterpreter se utiliza seleccionándolo como payload en la explotación de sistemas Windows, aunque también existen versiones para Java y Android.
Comandos más utilizados en Meterpreter¶
Comandos básicos y manipulación del sistema de archivos¶
Estos comandos permiten acceder al sistema de archivos del equipo remoto:
ls
→ Lista archivos y directorios en el equipo remoto.mkdir <directorio>
→ Crea un directorio en el sistema de archivos remoto.upload <archivo>
→ Transfiere un archivo al sistema remoto.download <archivo>
→ Descarga un archivo del equipo remoto.background
→ Pone la sesión de Meterpreter en segundo plano y regresa a la consola de Metasploit.
Comandos del sistema¶
Estos comandos permiten interactuar con los procesos del sistema e incluso generar nuevos procesos:
getpid
→ Indica el proceso en el que está inyectado Meterpreter.ps
→ Lista todos los procesos del sistema remoto.migrate <ID_proceso>
→ Migra Meterpreter a otro proceso (por ejemplo,explorer.exe
para mantenerse activo).execute <comando>
→ Ejecuta un comando en el sistema remoto.getuid
→ Muestra el contexto del usuario con el que se está ejecutando Meterpreter.
Comandos de red¶
Se utilizan para obtener información de la red del equipo remoto:
ipconfig
→ Muestra las propiedades de red del equipo remoto.netstat
→ Muestra las conexiones establecidas actualmente en formatoIP:Puerto origen → IP:Puerto destino
.
Carga dinámica de módulos¶
Permite cargar módulos adicionales en Meterpreter según sea necesario:
load kiwi
→ Carga el módulo Mimikatz para extraer información sensible de la memoria RAM de Windows (hashes, credenciales en claro, tokens, etc.).load incognito
→ Carga el módulo Incognito, que permite impersonar usuarios con sesiones iniciadas en el equipo remoto utilizando tickets de Kerberos.load priv
→ Carga un módulo para realizar técnicas de elevación de privilegios.load sniffer
→ Carga un módulo para capturar y monitorizar la actividad en red del sistema remoto (las capturas pueden analizarse con Wireshark).
Keylogger¶
Permite capturar las pulsaciones del teclado en la máquina remota:
keyscan_start
→ Inicia el Keylogger.keyscan_dump
→ Vuelca las pulsaciones de teclado capturadas desde el último volcado.keyscan_stop
→ Detiene el Keylogger.
Elevación de privilegios¶
getsystem
→ Utiliza diferentes técnicas para intentar una elevación de privilegios en sistemas Microsoft Windows.
Volcado de hashes¶
Si se dispone de acceso privilegiado, permite extraer los hashes de las contraseñas de los usuarios en Windows.
hashdump
→ Extrae los hashes de los usuarios de Windows. Estos hashes pueden ser crackeados o reutilizados para autenticación con la técnica Pass the Hash.
Borrado de huellas¶
Elimina rastros que pudieran haber quedado en el equipo remoto. Se requiere acceso privilegiado.
clearev
→ Borra los registros de eventos de Windows para dificultar la detección del ataque.
Para saber más
Para más información sobre Meterpreter, puedes consultar su documentación oficial. También puedes ver este vídeo tutorial donde se muestra el uso básico de Meterpreter.
Autoevaluación¶
Indica si las siguientes afirmaciones son verdaderas o falsas:
- Dependiendo del sistema operativo de la víctima, podremos cargar *shellcodes* que nos permitan realizar acciones más avanzadas.
- ✅ Verdadero. En sistemas Windows, existen shellcodes mucho más avanzadas que en sistemas Linux.
- Meterpreter es una *shellcode* monolítica, es decir, se inyecta con todas sus opciones predefinidas.
- ❌ Falso. Meterpreter permite la carga dinámica de módulos.
- Meterpreter solo puede utilizarse en sistemas Microsoft Windows.
- ❌ Falso. También existen versiones para Java y Android, aunque con menos funcionalidades que en Windows.