Módulo 1 - ¿Qué es el Bug Bounty?
El Bug Bounty
En este Curso vamos a hablar sobre un tema emocionante y relevante en el mundo de la ciberseguridad: el Bug Bounty.
Antes de comenzar quiero decirte que NO IMPORTA si tu experiencia laboral, personal o profesional viene de un campo diferente, o si no tienes experiencia alguna, el Bug Bounty es un campo que tiene cabida para todos! y en este curso te vamos a acompañar desde Cero para que vayas creciendo en conocimiento y confianza; así que considérate más que Bienvenid@ a este curso.
El Bug Bounty es un programa que ofrece recompensas a hackers éticos por descubrir y reportar vulnerabilidades de seguridad importantes en sitios web y aplicaciones populares. Los hackers éticos, y pentesters, buscan activamente debilidades críticas en las aplicaciones, las documentan meticulosamente y las envían a la empresa, entidad correspondiente o programa de Bug Bounty para su validación. Si se verifica que la vulnerabilidad es legítima, explotable y cumple con los criterios de gravedad del programa, el hacker o consultor recibe una recompensa monetaria o un reconocimiento en especie (Gorras, Camisetas, Morrales, etc.).
Estoy emocionado de compartir este conocimiento con ustedes y espero que tengan una experiencia de aprendizaje gratificante y enriquecedora. La ciberseguridad es un tema cada vez más importante en nuestro mundo en línea, y estoy seguro de que este curso les será de gran ayuda. ¡Vamos a empezar!
¿Por qué es importante el Bug Bounty?
Bueno, para empezar, cada vez son más las empresas que dependen de la tecnología para llevar a cabo sus negocios. Con esta dependencia, surge la necesidad de proteger los datos que se poseen; desde los perfiles de redes sociales hasta las bases de datos de clientes, la información pasa a ser el activo más valioso de las empresas y de las entidades. Las vulnerabilidades pueden tener consecuencias desastrosas, como fugas de información, pérdida de reputación o incluso la pérdida de negocios. Los programas de Bug Bounty proporcionan una forma eficaz de abordar estos problemas y mejorar la seguridad en línea.
Este enfoque tiene varias ventajas significativas:
- Mejora drásticamente la seguridad de las aplicaciones al identificar y corregir rápidamente las debilidades críticas antes de que las encuentren los hackers malintencionados o cibercriminales.
- Reduce en gran medida los costos catastróficos asociados con violaciones de datos, fraudes y otras actividades maliciosas.
- Mejora la reputación y la lealtad de los clientes al demostrar que la compañía tiene un profundo compromiso con la privacidad, la seguridad y la protección de datos.
¿Qué Requisitos son necesarios para participar en Bug Bounty?
- Cualquier persona con conocimientos de hacking ético, pruebas de penetración y seguridad de aplicaciones puede participar en un programa Bug Bounty.
- No se requiere ninguna certificación o acreditación formal, aunque muchos cazadores de bugs destacados poseen certificaciones profesionales como OSCP, OSCE, CEH, GWAPT, etc.
- Las recompensas suelen oscilar entre US $50 y US $200,000 o más dependiendo de la criticidad de la vulnerabilidad. Las más explotables y que pongan en grave peligro a los usuarios suelen ser reconocidas con las mayores recompensas.
Para los hackers éticos experimentados, el Bug Bounty ofrece la oportunidad de ganarse la vida de manera legal y ética encontrando y reportando regularmente vulnerabilidades extremadamente valiosas en las aplicaciones más populares.
Con práctica y un excelente historial de reportes de alta calidad, es posible convertirse en un cazador de bugs de renombre y comenzar a cobrar recompensas de seis cifras por las vulnerabilidades más críticas. El Bug Bounty ha dado lugar a una profesión altamente especializada y lucrativa dentro de la industria de la ciberseguridad.
¿Es posible vivir del Bug Bounty?
La respuesta es Sí!; para muchos hackers éticos experimentados, el Bug Bounty se ha convertido en una carrera profesional viable y lucrativa. Algunas claves para vivir del Bug Bounty incluyen:
Terminología del Bug Bounty
Pentesting
La prueba de penetración o pentesting, es una técnica comúnmente utilizada en la investigación de Bug Bounty. Se trata de una simulación controlada de un ataque cibernético en la que se busca identificar las vulnerabilidades de una empresa o sistema.
Safe Harbor – Puerto Seguro
Safe Harbor es un término utilizado en el mundo de la ciberseguridad para referirse a un enfoque en el que las empresas ofrecen un "puerto seguro" a los investigadores de seguridad que divulgan vulnerabilidades en sus sistemas sin temor a represalias legales o de otra índole. Es decir, si un investigador de seguridad encuentra una vulnerabilidad en un sistema y la divulga según las reglas establecidas por el programa de Bug Bounty, la empresa no tomará medidas legales en su contra. Esto es importante porque los investigadores de seguridad a menudo se preocupan por divulgar vulnerabilidades, ya que temen represalias legales o de otro tipo.
VDP – Vulnerability Disclosure program
El programa de divulgación de vulnerabilidades (VDP, por sus siglas en inglés) es un proceso en el que una organización establece un canal para que las personas informen sobre las vulnerabilidades de seguridad que los investigadores encuentran en sus sistemas o aplicaciones.
Por ejemplo, si un investigador de seguridad descubre una vulnerabilidad en el sitio web de una empresa, puede informar de ella a través del VDP de la empresa en lugar de hacerlo pública. La empresa luego investiga la vulnerabilidad y toma las medidas necesarias para solucionarla antes de que pueda ser explotada por un atacante.
El VDP es similar al programa de Bug Bounty, pero en lugar de ofrecer una recompensa monetaria por la divulgación de vulnerabilidades, la empresa ofrece un canal seguro para informar sobre ellas sin temor a represalias.
Responsible Disclosure – Divulgación Responsable
La Divulgación Responsable es un proceso en el que un investigador de seguridad informa a una empresa sobre una vulnerabilidad que ha encontrado en su sistema o aplicación. En lugar de hacer público el hallazgo, el investigador informa a la empresa para que puedan solucionar el problema antes de que pueda ser explotado por un atacante. Este proceso requiere confianza entre el investigador y la empresa, y puede haber un plazo acordado para que la empresa solucione la vulnerabilidad antes de que el investigador haga pública su divulgación.
Security.txt
El archivo security.txt es un archivo creado por el propietario de un sitio web para informar a los investigadores de seguridad sobre cómo alertar acerca de cualquier problema de seguridad que encuentren. Este archivo se coloca en la raíz del sitio web y contiene información como el correo electrónico de contacto para informar de problemas de seguridad, la política de divulgación responsable de la empresa y cualquier otra información relevante.
El archivo security.txt es una forma eficaz de fomentar la divulgación responsable de vulnerabilidades y mejorar la seguridad en línea. Al proporcionar una forma clara y fácil de informar de problemas de seguridad, las empresas pueden tomar medidas rápidas para solucionar los problemas antes de que puedan ser explotados por atacantes malintencionados.
Mas información: https://securitytxt.org/
Ejemplo de Archivo Security.txt:
Expires: Mon, 10 May 2023 10:00:00
Canonical: https://www.secpro.co/.well-known/security.txt
Encryption: https://static.secpro.co/0xBG56JHFKUIP.asc
Policy: https://secpro.co/privacy-policy
Preferred-Languages: en, es
Vulnerabilidad
Una vulnerabilidad es una debilidad, falla o agujero de seguridad en un sistema, la cual puede tener varias causas; por ejemplo:
- Errores en configuración: por ejemplo dejar funcionando un usuario con contraseña original o por defecto: (admin/admin, admin/password, admin/12345)
- Sistemas antiguos sin actualizar a versiones nuevas más robustas, por ejemplo usar en estaciones de trabajo sistemas operativos Microsoft Windows XP; como sabemos este sistema operativo ya no tiene soporte (finalizó el 8 de abril de 2014), y es conocido por sus múltiples vulnerabilidades.
- Aplicaciones o Servicios Vulnerables: muchas veces los administradores instalan herramientas, aplicaciones o servicios, pensando sólo en obtener una funcionalidad, sin detenerse por un momento a revisar si existen vulnerabilidades conocidas para el software que va a ser instalado.
Si una Vulnerabilidad se materializa, podría afectar uno o más componentes de la Triada CID.
¿En dónde encuentro información sobre Vulnerabilidades?
Existen diversos portales en internet en donde podemos consultar acerca de las vulnerabilidades que han sido detectadas para la mayoría de los sistemas operativos y aplicaciones en el mercado; aquí tenemos algunos ejemplos:
- National Vulnerability Database - https://nvd.nist.gov/ es un repositorio del gobierno de los Estados Unidos de América afiliado a NIST (National Institute of Standards and Technology) https://www.nist.gov/, en donde no sólo vamos a encontrar vulnerabilidades, sino documentación de referencia, listas de verificación de seguridad y mucho más, super recomendado como sitio de consulta.
- CVE Details - https://www.cvedetails.com/ Sitio Web en donde también podemos realizar consultas por fabricante de una tecnología, nombre de la vulnerabilidad, o por el CVE (Common Vulnerabilities and Exposures) el cual es un sistema de medida de la criticidad de las vulnerabilidades que explicaremos en un momento.
La Triada CID o CIA: Confidentiality, Integrity, Availability
La triada CID es un concepto clave que se refiere a los tres componentes fundamentales de la seguridad de la información: confidencialidad, integridad y disponibilidad.
Estos tres componentes son cruciales para garantizar que la información esté protegida y sea útil para los usuarios autorizados.

Confidencialidad
Se refiere a la protección de la información para que sólo las personas autorizadas tengan acceso. La confidencialidad se puede lograr mediante técnicas de cifrado, autenticación y control de acceso.
Integridad
Se refiere a la protección de la información para evitar su alteración o modificación no autorizada. Se puede lograr mediante técnicas de firma digital, control de versiones y auditorías.
Disponibilidad
Se refiere a la garantía de que la información esté disponible y accesible cuando se necesite. Se puede lograr mediante técnicas de redundancia, tolerancia a fallos y copias de seguridad.
Sistemas de Evaluación o Scoring Systems
Hemos hablado ya de las vulnerabilidades, pero cómo podemos determinar si una vulnerabilidad es más grave o importante que otra; es decir, una vez detectadas, ¿cómo saber en cuál de ellas debería enfocar sus esfuerzos de remediación el dueño de la infraestructura en donde detectamos vulnerabilidades?; la respuesta es relativamente simple; existen unas tablas que nos indican la severidad de una vulnerabilidad, dependiendo de varios factores, o sea: unas métricas.
Existen varios sistemas de evaluación; entre los más importantes podemos destacar:
https://en.wikipedia.org/wiki/Common_Vulnerability_Scoring_System
https://www.first.org/cvss/v3.1/specification-document
¿Cómo se calcula la gravedad de una vulnerabilidad?
La criticidad de una vulnerabilidad se calcula utilizando el sistema de puntuación del Common Vulnerability Scoring System (CVSS). Este sistema utiliza una fórmula matemática para determinar la criticidad de una vulnerabilidad, basándose en una serie de factores que incluyen la gravedad del impacto de la vulnerabilidad, la facilidad de explotación, la complejidad del ataque y la disponibilidad de soluciones.
El puntaje CVSS se mide en una escala del 0 al 10, donde 0 indica que la vulnerabilidad no es crítica y 10 indica que es extremadamente crítica. El puntaje se calcula utilizando tres métricas: Base, Temporal y Ambiental.

Imágen tomada de: https://www.first.org/cvss/v3.1/specification-document
Métrica Base
Representan las características intrínsecas de la vulnerabilidad, que son constantes en el tiempo y en el entorno del usuario.
Métrica Temporal
Refleja el estado actual de la vulnerabilidad, que puede cambiar con el tiempo debido a factores como la disponibilidad de exploits o parches
Métrica Ambiental o de Entorno
Las métricas de entorno se refieren al impacto específico de la vulnerabilidad en el contexto particular de cada organización o usuario.
Cada grupo de métricas tiene una fórmula para obtener un puntaje parcial, que luego se combina para obtener el puntaje final
https://www.first.org/cvss/calculator/3.1

¿Qué es un Exploit?
Un exploit es un programa o código malicioso diseñado para aprovechar una vulnerabilidad o debilidad en un sistema informático con el fin de ejecutar acciones no deseadas o tomar control del sistema.
Un ejemplo común sería un exploit diseñado para aprovechar una vulnerabilidad en un sistema operativo y permitir al atacante tomar el control remoto del equipo. Esto podría permitir al atacante robar información confidencial, instalar programas maliciosos, o utilizar el equipo para llevar a cabo ataques adicionales.
Ejemplo de repositorio de Exploits:
Programas de Bug Bounty
Un programa Bug Bounty es una iniciativa de una empresa o organización para encontrar y solucionar vulnerabilidades de seguridad en sus sistemas y aplicaciones. En lugar de depender únicamente de pruebas de seguridad internas, la empresa invita a hackers éticos y profesionales de seguridad a encontrar vulnerabilidades y reportarlas a cambio de una recompensa monetaria.
Estos programas suelen incluir una lista de objetivos de seguridad y definir claramente las recompensas ofrecidas por cada vulnerabilidad reportada. Los cazadores de bugs pueden buscar vulnerabilidades en cualquier lugar de la aplicación o sistema, y las recompensas suelen variar según la gravedad de la vulnerabilidad encontrada.
Por ejemplo, una empresa podría ofrecer una recompensa de US $1,000 por una vulnerabilidad que permita a un atacante acceder a información confidencial de los usuarios, y una recompensa de US $5,000 por una vulnerabilidad que permita a un atacante tomar el control completo de un sistema.
El objetivo final de un programa Bug Bounty es mejorar la seguridad de la empresa al identificar y solucionar vulnerabilidades antes de que sean explotadas por atacantes malintencionados. Al mismo tiempo, los cazadores de bugs pueden ganar dinero legalmente y demostrar sus habilidades técnicas.
| Plataforma | URL | Descripción |
|---|---|---|
| HackerOne | https://www.hackerone.com/ | HackerOne es la plataforma líder en Bug Bounty. Ofrece programas de Bug Bounty para más de 100 marcas importantes, incluyendo Uber, Twitter, Cloudflare, Dropbox, etc. |
| Bugcrowd | https://www.bugcrowd.com/ | Bugcrowd es una de las primeras plataformas de bug bounty y aún ofrece programas de bug bounty para más de 200 clientes, incluyendo Facebook, Google, Microsoft, etc. https://www.bugcrowd.com/bug-bounty-list/ |
| Cobalt | https://cobalt.io/ | Cobalt se especializa en programas de bug bounty privados y dirigidos a grandes empresas de tecnología como Uber, Twitter, Cloudflare, etc. |
| https://bughunters.google.com/about/rules/6625378258649088/google-and-alphabet-vulnerability-reward-program-vrp-rules | El Programa de Recompensa por Vulnerabilidades de Google ofrece recompensas que van desde $100 hasta $31,337 por encontrar y reportar vulnerabilidades de seguridad en los servicios, software y hardware de Google. | |
| Synack | https://www.synack.com/ | Synack es una plataforma de seguridad que utiliza cazadores de bugs para identificar vulnerabilidades en los sistemas y aplicaciones de los clientes. La plataforma se enfoca en la seguridad y la privacidad. |
| Microsoft | https://www.microsoft.com/en-us/msrc/bounty | El Programa de Bug Bounty de Microsoft ofrece recompensas que van desde $500 hasta $250,000 por encontrar y reportar vulnerabilidades de seguridad en los productos y servicios de Microsoft. |
| Zerocopter | https://www.zerocopter.com/ | Zerocopter es una plataforma que ayuda a las empresas a mejorar su ciberseguridad permitiéndoles lanzar programas de recompensas por errores de seguridad (bug bounty). |
| Immunefi | https://immunefi.com/explore/ | La principal plataforma de Bug Bounty de Web3, protegiendo $60 mil millones en fondos de usuario. |
| Hacken Proof | https://hackenproof.com/ | Hacken Proof es una plataforma de Bug Bounty que permite a las empresas mejorar su ciberseguridad lanzando programas de Bug Bounty. En estos programas, los hackers éticos son invitados a encontrar vulnerabilidades en los sistemas de la empresa y reportarlas a cambio de una recompensa monetaria. |
| Yes We Hack | https://www.yeswehack.com/ | Crowdsourced security & Vulnerability Disclosure: France, Singapore, Switzerland, Germany |
Guias de Pruebas
Las guías de pruebas para Bug Bounty son documentos que describen los pasos y técnicas necesarias para llevar a cabo una investigación de Bug Bounty. Estas guías suelen ser específicas para una aplicación o tecnología en particular, y se utilizan para ayudar a los investigadores a identificar vulnerabilidades y debilidades en el sistema. Las guías de pruebas suelen incluir información sobre las herramientas y técnicas de pruebas de penetración, así como sobre los posibles vectores de ataque. Al seguir estas guías, los investigadores de seguridad pueden asegurarse de que están llevando a cabo una investigación exhaustiva y completa.
| Plataforma | URL | Descripción |
|---|---|---|
| OWASP Testing Guide | https://owasp.org/www-project-web-security-testing-guide/v42/ | Una guía completa de pruebas de penetración para aplicaciones web, que incluye una lista de verificación de vulnerabilidades comunes, así como una descripción general de las técnicas y herramientas de pruebas de penetración. |
| OWASP Testing Check List | https://github.com/tanprathan/OWASP-Testing-Checklist/raw/master/OWASP_WSTG_Checklist.xlsx | Un excelente Checklist en Excel sobre cada una de las pruebas de OWASP |
CWE - Common Weakness Enumeration
CWE (Common Weakness Enumeration) es un lenguaje común para describir vulnerabilidades de software y errores de programación. Es una lista completa y organizada de debilidades de software y errores comunes que pueden ser explotados por atacantes malintencionados.
Por ejemplo, una debilidad común es la inyección SQL, que permite a los atacantes manipular bases de datos y obtener información confidencial. Otra debilidad común es la falta de validación de entradas, lo que permite a los atacantes insertar código malicioso en una aplicación.
CWE se utiliza para clasificar y organizar debilidades de software de acuerdo con su tipo y gravedad. Cada debilidad tiene un ID único y una descripción detallada de cómo se puede explotar. Esta información es útil para los desarrolladores de software y los investigadores de seguridad, ya que les ayuda a identificar y solucionar debilidades de software antes de que puedan ser explotadas por atacantes malintencionados.
CWE es mantenido por el Instituto Nacional de Estándares y Tecnología (NIST) de los Estados Unidos. Se actualiza regularmente para incluir nuevas debilidades y errores de programación descubiertos en el software.