Elegir tu sistema operativo
El primer paso es elegir un sistema operativo que te permita trabajar cómodamente con herramientas de seguridad. Las opciones más populares son:
Kali Linux
La distribución más conocida para pentesting. Viene preinstalada con cientos de herramientas de seguridad. Es ideal si quieres empezar rápido sin configurar demasiado.
# Actualizar Kali después de instalarlo
sudo apt update && sudo apt upgrade -y
Parrot OS
Similar a Kali pero más ligero y orientado a privacidad. Incluye herramientas de desarrollo además de las de seguridad. Una buena alternativa si tu equipo tiene recursos limitados.
Ubuntu/Debian + herramientas manuales
Si prefieres control total sobre tu entorno, puedes partir de un Ubuntu limpio e instalar solo lo que necesites. Esta opción es ideal para entornos en la nube (VPS).
Máquinas virtuales vs. instalación nativa
Si usas Windows o macOS como sistema principal, puedes correr cualquiera de los anteriores en una VM con VirtualBox o VMware. La ventaja es el aislamiento; la desventaja es el rendimiento.
Herramientas esenciales
Burp Suite
Es la herramienta fundamental para bug bounty. Funciona como proxy interceptor y te permite analizar, modificar y repetir peticiones HTTP.
# La versión Community es gratuita
# Descárgala desde portswigger.net
# La versión Pro (~$449/año) vale cada centavo si te dedicas a esto
Extensiones imprescindibles de Burp:
- Autorize: Pruebas automáticas de autorización
- Logger++: Logging avanzado de peticiones
- Param Miner: Descubrimiento de parámetros ocultos
- Turbo Intruder: Fuzzing de alta velocidad
Herramientas de reconocimiento
# Subfinder - Enumeración de subdominios
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# httpx - Verificación de hosts activos
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
# Nuclei - Escáner de vulnerabilidades con plantillas
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# ffuf - Fuzzer web rápido
go install github.com/ffuf/ffuf/v2@latest
# Amass - Enumeración avanzada de subdominios
go install -v github.com/owasp-amass/amass/v4/...@master
Herramientas adicionales útiles
# gau - Obtener URLs conocidas de una aplicación
go install github.com/lc/gau/v2/cmd/gau@latest
# waybackurls - URLs históricas desde Wayback Machine
go install github.com/tomnomnom/waybackurls@latest
# gf - Filtrar patrones en URLs (XSS, SSRF, SQLi, etc.)
go install github.com/tomnomnom/gf@latest
# qsreplace - Reemplazar valores de query strings
go install github.com/tomnomnom/qsreplace@latest
Extensiones de navegador
Instala estas extensiones en Firefox o Chrome:
- FoxyProxy: Gestionar proxies fácilmente (cambiar entre Burp y conexión directa)
- Wappalyzer: Identificar tecnologías usadas en un sitio
- Cookie Editor: Ver y modificar cookies
- HackBar: Barra de herramientas para inyecciones rápidas
Tomar notas y organización
Notion o Obsidian
Mantener notas organizadas es crucial. Crea una estructura como esta:
📁 Bug Bounty
📁 Programas
📁 Programa_X
📄 Scope y reglas
📄 Recon (subdominios, endpoints)
📄 Vulnerabilidades encontradas
📄 Reportes enviados
📁 Técnicas
📄 IDOR
📄 XSS
📄 SSRF
📁 Herramientas
📄 Cheatsheets
📄 Scripts propios
Organizar targets
Para cada programa crea un directorio con esta estructura:
mkdir -p ~/bounty/programa_x/{recon,vulns,screenshots,notes}
# recon/ → Resultados de subdominios, puertos, URLs
# vulns/ → Evidencias de vulnerabilidades
# screenshots/ → Capturas de pantalla
# notes/ → Notas generales
Automatización básica
Crea un script de reconocimiento inicial que ejecutes para cada nuevo target:
#!/bin/bash
# recon.sh - Reconocimiento básico automatizado
DOMAIN=$1
OUTPUT=~/bounty/$DOMAIN/recon
mkdir -p $OUTPUT
echo "[*] Enumerando subdominios..."
subfinder -d $DOMAIN -silent | sort -u > $OUTPUT/subdomains.txt
echo "[*] Verificando hosts activos..."
cat $OUTPUT/subdomains.txt | httpx -silent > $OUTPUT/alive.txt
echo "[*] Obteniendo URLs conocidas..."
cat $OUTPUT/alive.txt | gau --threads 5 > $OUTPUT/urls.txt
echo "[*] Escaneando con Nuclei..."
nuclei -l $OUTPUT/alive.txt -severity medium,high,critical -o $OUTPUT/nuclei.txt
echo "[+] Reconocimiento completado para $DOMAIN"
echo "[+] Subdominios: $(wc -l < $OUTPUT/subdomains.txt)"
echo "[+] Hosts activos: $(wc -l < $OUTPUT/alive.txt)"
echo "[+] URLs recopiladas: $(wc -l < $OUTPUT/urls.txt)"
chmod +x recon.sh
./recon.sh target.com
Configuración del proxy
Configura tu navegador para enviar tráfico a través de Burp Suite:
- Abre Burp Suite y ve a Proxy > Options
- Verifica que escucha en
127.0.0.1:8080
- Configura FoxyProxy para enviar tráfico a ese puerto
- Importa el certificado CA de Burp para interceptar HTTPS
Conclusión
No necesitas todas las herramientas desde el primer día. Empieza con Burp Suite, subfinder y httpx. Añade herramientas a medida que las necesites. Lo más importante es desarrollar una metodología consistente y mantener tus notas organizadas. El entorno perfecto es el que te permite ser eficiente y no perder tiempo buscando resultados anteriores.