7 consejos para convertirte en un cazador de recompensas por errores exitoso
25 de enero de 2024
0 minutos de lecturaLa búsqueda de recompensas por errores es un proceso en el que investigadores de seguridad o hackers buscan e identifican activamente vulnerabilidades de seguridad o «bugs» en aplicaciones web, dispositivos IoT, aplicaciones móviles e incluso contratos inteligentes. Estas vulnerabilidades pueden ir desde problemas relativamente simples, como el cross-site scripting (XSS) o la inyección SQL, hasta debilidades más complejas y críticas que podrían poner en riesgo la seguridad y la privacidad de los datos de los usuarios.
¿Cómo funciona la búsqueda de vulnerabilidades?
La búsqueda de vulnerabilidades permite a los investigadores de seguridad identificarlas y reportarlas de manera responsable y ética. El objetivo principal es ayudar a las organizaciones a mejorar su seguridad, identificando y corrigiendo vulnerabilidades antes de que hackers maliciosos puedan aprovecharlas. Esto suele hacerse de dos maneras:
Programas de divulgación de vulnerabilidades: Cuando un investigador de seguridad descubre una vulnerabilidad, la reporta a la organización o empresa propietaria del sistema afectado, en lugar de aprovecharla o hacerla pública. Así, la organización tiene la oportunidad de corregir el problema antes de que alguien pueda usarlo con fines maliciosos. La divulgación responsable suele describirse como un proceso de «si ves algo, repórtalo». Se trata únicamente de un canal de comunicación entre hackers y organizaciones. Por lo general, este enfoque no recompensa al hacker por su trabajo.
Programas de recompensas por errores: Al igual que en un programa de divulgación responsable, los hackers descubren una vulnerabilidad y la reportan a la organización propietaria del sistema afectado, sin hacerla pública. A cambio, reciben una recompensa económica, a menudo llamada bounty, por su trabajo. Las recompensas se otorgan por hallazgos únicos. En otras palabras, si varias personas reportan la misma vulnerabilidad, solo quien la reporte primero recibirá la recompensa.
Mi recomendación personal para quienes recién empiezan a buscar vulnerabilidades es comenzar con un programa de divulgación de vulnerabilidades (VDP) antes de unirse a un programa de recompensas por errores, por varias razones.
En primer lugar, participar en un programa público de recompensas por errores pone en desventaja a los hackers principiantes, porque estos programas tienen mucha participación y suelen atraer a hackers con más experiencia. Esto reduce las posibilidades de encontrar vulnerabilidades válidas y aumenta las probabilidades de enviar un reporte duplicado. En otras palabras, es más probable que encuentres un hallazgo válido en un VDP que en un programa de recompensas por errores.
En segundo lugar, los VDP te permiten crear tu propia metodología de pruebas y descubrir cuáles son tus fortalezas. Buscar vulnerabilidades en un VDP te ayudará a familiarizarte con distintos tipos de vulnerabilidades, aprender a abordarlos y conocer los fundamentos del reconocimiento y la automatización.
La idea de buscar vulnerabilidades en un VDP en lugar de un programa de recompensas por errores es aprender mientras lo haces y, al mismo tiempo, tener una experiencia positiva que te ayude a mantener el impulso. Así que, si estás leyendo esta publicación y recién empiezas con las recompensas por errores, ¡tenlo en cuenta!
Ahora que conocemos las ventajas y desventajas de los programas de recompensas por errores y los programas de divulgación de vulnerabilidades, hablemos de los 10 mejores consejos para convertirte en un cazador de recompensas exitoso:
7 consejos para buscar recompensas por errores
Encuentra tu especialidad
Encontrar tu especialidad influye mucho en tu éxito como hacker. Puede estar relacionada con los distintos stacks tecnológicos en los que buscas vulnerabilidades o con los tipos de vulnerabilidades que más disfrutas buscar. Por ejemplo, a mí me gusta buscar vulnerabilidades de cross-site scripting (XSS), falsificación de solicitudes del lado del servidor (SSRF) y referencia directa insegura a objetos (IDOR). Aunque puedes encontrar estos tipos de vulnerabilidades en cualquier stack tecnológico, suelo evitar la mayoría de las aplicaciones desarrolladas en .NET.
Así que descubre qué te apasiona más, aprende todo lo que puedas sobre ese tema y valida tu especialidad buscando estas vulnerabilidades específicas en objetivos reales.
No dejes de aprender
La maldición (¿o bendición?) del hacking es que siempre tienes que aprender nuevas técnicas y mantenerte al día con las últimas tecnologías. A medida que surgen nuevas tecnologías y frameworks, tendrás que aprender nuevas formas de vulnerarlos. A menudo, la causa raíz de muchas vulnerabilidades es muy similar a la de investigaciones anteriores, pero cada una ofrece formas creativas de profundizar en ellas.
Mantente al día con las nuevas tecnologías y las investigaciones de seguridad presentadas en conferencias, y sigue perfeccionando tus habilidades y ampliando tus conocimientos a medida que avanzas en tu camino como hacker.
Sé constante
Como en cualquier aspecto de la vida, ¡la constancia es clave! Habrá momentos en los que te resulte difícil encontrar vulnerabilidades, y eso puede desanimarte. Pero recuerda que es parte del proceso y que todos los hackers pasan por esta etapa.
Aprovecha esta experiencia para reevaluar tu estrategia y ampliar tus conocimientos. Ser constante dará frutos a largo plazo, sobre todo cuando vuelvas a encontrar más vulnerabilidades.
Colabora y únete a la comunidad
Unirte a una comunidad te ayuda a conectar con personas afines y te da acceso a una red de colegas de quienes puedes aprender. Colaborar con las personas adecuadas te permitirá ver cómo otras personas abordan situaciones similares y cómo las resuelven. Por ejemplo, puedes aprender cómo abordan un tipo específico de vulnerabilidad o cómo la buscan en determinadas funcionalidades.
Estas comunidades pueden ser locales o en línea. Crea una cuenta en Twitter y sigue a hackers que te inspiren. Busca servidores de Discord que te interesen. ¡Asiste a una conferencia de seguridad local y haz contactos!
Automatiza las tareas tediosas (sé eficiente)
La automatización puede ahorrarnos mucho tiempo en las tareas tediosas. Automatizar estas tareas no significa necesariamente que debas reemplazar todo tu flujo de trabajo con herramientas y scripts personalizados; significa encontrar formas de ser más eficiente. Crear atajos de teclado, alias de bash o scripts personalizados no solo te ayudará a ser más productivo, sino que también te permitirá enfocarte en las tareas más importantes.
Si usas una herramienta de línea de comandos específica más de unas cuantas veces al día, crea un alias o un script para no tener que volver a escribir la misma sintaxis una y otra vez.
Sal de tu zona de confort
Es natural buscar comodidad, pero superar esos límites puede llevarte a descubrir temas nuevos e inesperados que te apasionen. Salir de tu zona de confort te abrirá nuevas oportunidades para aprender habilidades que te ayudarán en tu camino como hacker.
Si llega un momento en que te aburres o te cansas de tu «especialidad» actual, no tengas miedo de cambiar de rumbo y explorar un tema completamente nuevo. Yo empecé buscando vulnerabilidades en grandes aplicaciones web, después aprendí sobre reconocimiento y automatización, y hace poco empecé a buscar vulnerabilidades en aplicaciones de escritorio y móviles.
Tómate un descanso
¡Este último consejo es muy importante! El éxito puede ser adictivo y es fácil perder de vista otros aspectos de la vida. Así que no tengas miedo de tomarte un tiempo para cuidarte. Un descanso también te permitirá procesar toda la información que has aprendido o encontrar soluciones para las vulnerabilidades en las que estás trabajando.
Así que no tengas miedo de alejarte de la computadora. Dedica tiempo a disfrutar de la vida, ya sea por unas horas, unos días o incluso una semana entera. Pero recuerda volver y retomar donde lo dejaste.
