Este repositorio contiene una implementación básica de un Troyano de Acceso Remoto (RAT) en Python, diseñado estrictamente con fines educativos y para investigación en análisis de malware. Demuestra los conceptos fundamentales de la arquitectura Cliente-Servidor utilizada en frameworks C2 (Comando y Control).
Este proyecto forma parte de un portafolio de ciberseguridad que demuestra comprensión de:
- 📡 Programación de Sockets (TCP/IP)
- 💻 Ejecución Remota de Comandos
- 📂 Manipulación del Sistema de Archivos
- 🛡️ Técnicas de Evasión y Ofuscación (aplicación teórica)
Important
Esta herramienta es SOLO PARA FINES EDUCATIVOS.
El autor no aprueba el uso de este software para fines maliciosos. El uso de estas herramientas para atacar objetivos sin el consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final obedecer todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no son responsables de ningún mal uso o daño causado por este programa.
El proyecto está estructurado siguiendo estándares profesionales de DevSecOps:
/
├── configs/ # Plantillas de configuración
├── scripts/ # Scripts de automatización y construcción
├── src/
│ ├── payload/ # Payload del lado del cliente (Objetivo)
│ └── server/ # Listener del lado del servidor (Atacante)
├── tests/ # Pruebas unitarias y de seguridad
└── README.md # Documentación
- Servidor (C2): Escucha conexiones entrantes y emite comandos.
- Payload (Bot): Se conecta al servidor y ejecuta las instrucciones recibidas.
- Python 3.8+
- Entorno Virtual (recomendado)
Este repositorio utiliza una estrategia de Diferenciación de Entornos:
- GitHub (Público): Escaparate para portafolio. Contiene la estructura, documentación, diagramas y pseudocódigo educativo para evitar la distribución de malware funcional.
- GitLab (Privado): Laboratorio de desarrollo. Contiene la implementación completa, payloads funcionales, tests automatizados y el pipeline de CI/CD con análisis estático de seguridad (SAST).
Important
El repositorio completo con todo el código funcional está disponible en GitLab para acceso completo.
https://gitlab.com/group-cybersecurity-lab/Troyano-lab.git
-
Configurar entorno:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt # (si aplica)
-
Configurar Conexión: Edita
configs/config.yamlo modifica la dirección IP ensrc/payload/troyano.pypara que apunte a tu listener.
-
Iniciar el Listener:
python src/server/server.py
-
Ejecutar Payload (en VM/Objetivo):
python src/payload/troyano.py
-
Comandos Disponibles:
cd <ruta>: Cambiar directoriodownload <archivo>: Descargar archivo del objetivo<cmd>: Ejecutar comando del sistema (ej.dir,whoami)exit: Cerrar conexión
Este proyecto utiliza GitLab CI/CD para pruebas automatizadas y análisis de seguridad.
- Pruebas Unitarias: Verifica la lógica de conexión (mocked).
- SAST: Pruebas de Seguridad de Aplicaciones Estáticas usando
banditpara identificar vulnerabilidades en el código.
Para ejecutar pruebas localmente:
python -m unittest discover tests/Para la investigación sobre evasión de AV, el payload puede ser ofuscado usando pyarmor.
Nota: Las técnicas detalladas de ofuscación están reservadas para el repositorio privado de GitLab.
# Ejemplo de comando
pyarmor gen src/payload/troyano.py