Proyecto educativo en Python orientado al estudio de la monitorización de eventos de entrada en sistemas Linux y Windows, desarrollado para entornos de laboratorio y análisis defensivo. Una herramienta para entender las vulnerabilidades y fortalecer la seguridad.
Keylogger Phantom nace como un ejercicio académico cuyo objetivo principal es comprender cómo funcionan los sistemas de captura de eventos de teclado desde un punto de vista técnico, analítico y defensivo.
El proyecto se centra en el diseño de un generador configurable en Python que permite estudiar el comportamiento de agentes de monitorización en diferentes plataformas, siempre dentro de sistemas propios o entornos controlados. El conocimiento adquirido se aplica luego en la creación de medidas defensivas más efectivas.
El proyecto se divide claramente en dos partes independientes: el builder y el agente generado. Esta separación permite analizar cada fase del proceso de forma aislada y entender el ciclo completo de un sistema de monitorización.
El sistema está diseñado por módulos independientes que permiten activar o desactivar funcionalidades según el objetivo del análisis. Cada módulo se puede estudiar por separado.
Soporte para entornos Linux y Windows, permitiendo comparar diferencias de comportamiento entre sistemas operativos y sus respectivas APIs de entrada.
El builder y el agente final están completamente desacoplados, facilitando el mantenimiento, la comprensión del flujo completo y el análisis independiente de cada componente.
Diseñado exclusivamente para aprendizaje, análisis técnico y prácticas de ciberseguridad defensiva. Incluye documentación detallada de cada componente.
El proyecto incluye un sistema avanzado de captura de pantalla periódica que envía las imágenes directamente a un Cloudflare Worker para almacenamiento y análisis remoto.
El sistema toma capturas de pantalla a intervalos configurables (por defecto cada 30 segundos) utilizando múltiples métodos según la plataforma: mss, scrot, pyautogui o GDK para Linux.
Cada captura se envía automáticamente a un Cloudflare Worker configurado, que almacena las imágenes en R2 Storage o las procesa según las reglas definidas en el Worker.
El sistema prueba tres métodos diferentes para asegurar la entrega: multipart/form-data, bytes directos con headers, y codificación base64. Si uno falla, intenta con el siguiente.
Cada imagen incluye metadatos en los headers: nombre de máquina, método de captura usado, timestamp y tamaño. El Worker puede validar estas credenciales antes de aceptar la imagen.
Nota educativa: Esta funcionalidad se incluye para estudiar cómo los sistemas de monitorización pueden capturar y transmitir información visual de manera eficiente y segura usando servicios serverless modernos.
Una combinación de tecnologías modernas y conceptos avanzados para un estudio completo:
Lenguaje principal del proyecto, elegido por su versatilidad, amplias bibliotecas y facilidad para el análisis de sistemas.
Windows 11 y Ubuntu 24.04 LTS como plataformas de estudio principales.
Monitorización de eventos, multithreading, gestión de procesos, empaquetado y análisis de comportamiento.
pynput, threading, os, sys, platform, entre otras específicas de cada plataforma.
Importante: Este proyecto ha sido desarrollado exclusivamente con fines educativos y de investigación en seguridad defensiva.
Todas las pruebas se realizan en sistemas propios o entornos de laboratorio controlados. El código incluye salvaguardas técnicas que previenen su ejecución en sistemas no autorizados.
El uso de este tipo de herramientas en sistemas sin autorización expresa está prohibido y va en contra de los principios éticos y legales del proyecto.
El código fuente y la documentación técnica detallada están disponibles en el repositorio del proyecto. Se incluyen guías paso a paso, análisis de código y consideraciones de seguridad.
Nota: No se publican ejemplos funcionales con fines maliciosos. Todo el material está orientado a la educación.