xspy intercepta y registra la pulsación de teclas (keylogging)
xspy intercepta y registra la pulsación de teclas (keylogging)
xspy es una herramienta clásica de auditoría de seguridad para sistemas Linux/Unix basada en el servidor gráfico X Window System (X11). Su función principal es interceptar y registrar la pulsación de teclas (keylogging) enviadas a la ventana activa dentro de una sesión X11 a la que se tiene acceso.
¿Cómo funciona xspy?
La herramienta aprovecha el modelo de diseño subyacente del servidor X11. En X11, por defecto, cualquier aplicación conectada al servidor X puede solicitar eventos de entrada global a través de la API de Xlib o XInput, incluyendo eventos del teclado.
Requisito:
xspyrequiere que el usuario atacante o auditor ya tenga acceso a la sesión gráfica del objetivo o permisos suficientes para interactuar con el socket del servidor X (por ejemplo, mediante la variable de entornoDISPLAYo acceso a.Xauthority).Vulnerabilidad: Demuestra la falta de aislamiento estricto de entrada entre procesos dentro de sesiones X11 tradicionales (a diferencia de entornos modernos basados en Wayland).
Instalación y Uso Básico
En las distribuciones modernas de Kali Linux, xspy no siempre viene preinstalado en el metapaquete por defecto, pero se encuentra disponible en los repositorios oficiales.
1. Instalación
sudo apt update
sudo apt install xspy
2. Ejecución básica
Para iniciar el registro de pulsaciones de teclas en la pantalla por defecto (:0.0):
xspy
Si deseas especificar una pantalla remota o un display alternativo:
xspy -display :0.0
Opciones y Parámetros Principales
| Opción | Descripción |
-display <host:display> | Especifica el servidor X objetivo al que conectarse. |
-delay <ms> | Configura el intervalo de tiempo entre la comprobación de eventos. |
-file <path> | Redirige la salida a un archivo específico en lugar de stdout. |
Mitigación y Contexto Actual
Migración a Wayland: En la actualidad, los entornos de escritorio modernos (GNOME, KDE) utilizan Wayland en lugar de X11 para la gestión de ventanas. Wayland aísla completamente la entrada del teclado de cada cliente por diseño, impidiendo que utilidades como
xspyoxinputcapturen teclas globales sin permisos explícitos del compositor.Restricción de permisos X11: En servidores X11 tradicionales, se debe limitar el acceso al socket mediante herramientas de control como
xhosto restringir el archivo~/.Xauthority.