⚠️ AVISO LEGAL Y ÉTICO: Este proyecto es de uso estrictamente educativo y para investigación en ciberseguridad defensiva. Su ejecución en sistemas, dispositivos o redes sin la autorización explícita del propietario es ilegal y constituye un delito. El autor no se responsabiliza por ningún uso indebido de este software fuera de entornos controlados y autorizados. — Extracto del LICENSE (GPL-3.0)
Este proyecto es un framework de captura de pulsaciones de teclado (keylogger) desarrollado en Python 3.9+, orientado a laboratorios de investigación en ciberseguridad, análisis de ingeniería social y comprensión de vectores de exfiltración de datos en entornos controlados.
El sistema utiliza un sistema de modos de operación CLI que permite simular comportamientos de exfiltración vía SMTP, replicando técnicas utilizadas por amenazas avanzadas (APT) para el estudio de medidas defensivas.
- Modos de Ejecución CLI:
dry-run(seguro),test(simulación) yactive. - Captura de Eventos: Intercepción de keystrokes en tiempo real mediante APIs del SO.
- Exfiltración SMTP: Canal de envío automatizado de logs a servidores de laboratorio.
- Control de Calidad: Integración con
flake8(linting) ybandit(seguridad). - Arquitectura Modular: Separación clara entre motor, ejemplos y documentación.
| Categoría | Tecnología | Propósito |
|---|---|---|
| Lenguaje | Python 3.9+ | Lógica principal del framework |
| Captura | pynput / keyboard |
Intercepción de eventos de teclado |
| Exfiltración | smtplib |
Envío de datos vía correo SMTP |
| CI/CD | GitHub Actions | Pipeline automatizado de calidad |
| SAST | bandit |
Análisis estático de seguridad |
| Pruebas | pytest |
Suite de tests funcionales |
git clone https://github.com/devsebastian44/Keylogger.git
cd Keylogger# Crear y activar
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windowspip install -r requirements.txtCopia el archivo de ejemplo y configura tus credenciales de laboratorio:
cp .env.example .envPara una correcta resolución de dependencias internas, se recomienda ejecutar el proyecto como un módulo desde la raíz:
python -m src.main --mode dry-runpython -m src.main --mode testpython -m src.main --mode active --output logs/sesion.logPara asegurar la integridad del código, puedes ejecutar las siguientes herramientas:
Ejecutar Tests:
python -m pytestAnálisis de Seguridad:
bandit -r src/Validación de Estilo:
flake8 .¡Las contribuciones son bienvenidas! Sigue estos pasos para colaborar:
- Haz un Fork del proyecto.
- Crea una rama para tu mejora (
git checkout -b feature/NuevaMejora). - Realiza tus cambios siguiendo los Conventional Commits.
- Envía un Pull Request para revisión.
Keylogger/
├── src/ # Lógica principal y entry point
├── tests/ # Pruebas automatizadas (Mocks)
├── docs/ # Documentación técnica y ética
├── diagrams/ # Diagramas de arquitectura
├── .github/workflows/ # Pipeline de CI/CD
└── requirements.txt # Dependencias del proyecto
Distribuido bajo la licencia GNU GPL-3.0. Ver LICENSE para más detalles.
Copyright © 2025 Sebastián Zhunaula (devsebastian44)