¿Qué es HackerOne?
HackerOne es la plataforma de bug bounty más grande del mundo. Conecta a empresas que quieren mejorar su seguridad con hackers éticos que buscan y reportan vulnerabilidades a cambio de recompensas monetarias. Empresas como Google, Microsoft, GitHub y muchas más tienen programas activos en esta plataforma.
Crear tu cuenta
- Ve a hackerone.com y regístrate
- Completa tu perfil con información real (las empresas valoran la transparencia)
- Verifica tu identidad para poder recibir pagos
- Configura la autenticación de dos factores (2FA) — es obligatoria
Entender la reputación y la señal
HackerOne usa un sistema de reputación que determina tu acceso a programas:
- Reputation: Sube cuando tus reportes son aceptados, baja cuando son cerrados como N/A o duplicados
- Signal: Mide la calidad de tus reportes (porcentaje de reportes válidos vs. inválidos)
- Impact: Refleja la severidad de las vulnerabilidades que encuentras
¿Por qué importa la reputación?
- Los programas privados (que suelen tener menos competencia y mejores recompensas) requieren un mínimo de reputación para acceder
- Una señal alta demuestra que envías reportes de calidad
- Comenzarás con 100 puntos de reputación
Elegir tu primer programa
Programas públicos vs. privados
- Públicos: Cualquiera puede participar. Más competencia, pero ideales para empezar
- Privados: Solo por invitación. Menos competencia, generalmente mejores recompensas
Criterios para elegir un buen primer programa
✅ Programa con scope amplio (muchos dominios/endpoints)
✅ Tiempo de respuesta rápido (< 7 días)
✅ Bounty table clara con montos definidos
✅ Programa activo (reportes resueltos recientemente)
❌ Evita programas que solo ofrecen "kudos" (sin pago)
❌ Evita programas con scope muy limitado
Leer el scope es obligatorio
Antes de tocar cualquier cosa, lee las reglas del programa:
- In scope: Los dominios y funcionalidades que puedes probar
- Out of scope: Lo que NO debes tocar (pueden banearte si lo haces)
- Exclusiones: Tipos de vulnerabilidades que no aceptan
- Reglas de engagement: Limites de rate, no acceder a datos de otros usuarios reales, etc.
Escribir un buen reporte
Un buen reporte es la diferencia entre que tu vulnerabilidad sea aceptada o rechazada. Estructura tu reporte así:
1. Título claro y descriptivo
❌ "Bug en el login"
✅ "IDOR en /api/v2/users/{id}/orders permite acceder a pedidos de otros usuarios"
2. Descripción del problema
Explica qué encontraste, dónde y por qué es un problema de seguridad. Sé específico.
3. Pasos de reproducción
1. Crear dos cuentas: Account A (atacante) y Account B (víctima)
2. Iniciar sesión con Account B y crear un pedido
3. Iniciar sesión con Account A
4. Enviar la siguiente petición HTTP:
GET /api/v2/users/ACCOUNT_B_ID/orders
Authorization: Bearer ACCOUNT_A_TOKEN
5. Observar que se devuelven los pedidos de Account B
4. Impacto
Describe qué podría hacer un atacante real con esta vulnerabilidad. Cuantifica si es posible: "Afecta a los X usuarios de la plataforma", "Permite acceder a datos financieros", etc.
5. Evidencias
Incluye capturas de pantalla, peticiones/respuestas HTTP y, si es posible, un video o GIF demostrativo.
Errores comunes de principiantes
- No leer el scope: Reportar vulnerabilidades en dominios fuera de scope
- Reportar issues de baja calidad: Self-XSS, missing headers sin impacto, etc.
- Reportes vagos: Sin pasos de reproducción claros
- Duplicados: No investigar si la vulnerabilidad ya fue reportada
- Ser impaciente: El triaje puede tardar días o semanas
- Automatizar sin entender: Lanzar escáneres sin comprender los resultados
- No actualizar el reporte: Si el equipo pide más información, responde rápido
Tus primeras semanas
- Semana 1: Configura tu entorno, estudia el scope de 2-3 programas
- Semana 2: Haz reconocimiento manual, navega la aplicación como un usuario normal
- Semana 3: Empieza a probar funcionalidades específicas (registro, perfil, APIs)
- Semana 4: Si encuentras algo, escribe un reporte detallado y envíalo
Conclusión
La clave para tener éxito en HackerOne no es ser el hacker más técnico, sino ser el más metódico y persistente. Empieza con programas accesibles, aprende de cada reporte (aceptado o rechazado), y mejora constantemente tu metodología. Cada vulnerabilidad que encuentres te enseñará algo nuevo.