Cómo Bypassar la Autenticación de Dos Factores en Bug Bounty: Técnicas y Consejos

Este método se utiliza cuando se nos ofrece la opción de un PIN como medida de acceso, aplicable en situaciones como la visualización de contenido multimedia, la verificación de cuentas o el acceso a servicios financieros, entre otros.

Ejemplo 1


Mientras escucho la canción 'Lose Yourself' de Eminem. Quiero agradecer a uno de mis mejores amigos en México, @BetilloGalvan_, por compartir y enseñarme este valioso método.

EJEMPLO 2

¿Qué es la autenticación de dos factores?

La autenticación de dos factores (2FA) es un proceso de seguridad que se utiliza como complemento de la contraseña del usuario al iniciar sesión en una cuenta. Esta segunda capa de autenticación puede ser un código enviado a través de un mensaje de texto, generado por una aplicación de autenticación, o incluso basado en biometría, como una huella digital o reconocimiento facial. La 2FA es parte de un enfoque más amplio conocido como autenticación multifactor (MFA), que requiere que el usuario se identifique utilizando más de dos métodos diferentes de autenticación.

¿Cómo explotarlo?

Existen diversos métodos para intentar vulnerar la autenticación de dos factores. Algunos de los enfoques más comunes son:

  • Captura con Burp Suite: Puedes interceptar la solicitud de autenticación y enviarla a la herramienta "Intruder" para realizar un ataque de diccionario y probar diferentes combinaciones.
  • Uso de Postman: Capturas la solicitud y la envías a Postman, donde se pueden escribir scripts personalizados para realizar búsquedas de posibles combinaciones, como números de 4 dígitos.

¿Cuánto tiempo puede llevar este método?

Uno de los casos que más recuerdo es cuando un cliente nos pidió encontrar una clave de 4 dígitos en menos de un minuto. Inicialmente, se intentó con Burp Suite, pero este enfoque resultó ser muy lento y demandante para los recursos de mi máquina. Finalmente, optamos por escribir un programa para realizar una búsqueda más rápida, probando todas las combinaciones desde 0000 hasta la correcta.

¿Cuál es la dificultad de este método?

La principal dificultad de este método radica en trabajar con aplicaciones que utilizan JSON, lo que puede resultar complicado al principio. Sin embargo, con algo de práctica y experiencia, la explotación se vuelve más sencilla. Cabe destacar que este proceso también puede realizarse desde dispositivos móviles, lo que ofrece mayor flexibilidad en el enfoque.

Practicar en la vida REAL:

MOVIL:

BYPASS PIN
APLICACION WEB:
PIN DETECTADO

Métodos para Explotar la Autenticación de Dos Factores

En este proceso, utilizaremos Burp Suite para capturar las solicitudes y realizar la modificación del PIN, lo que nos permitirá verificar el estado de la autenticación. Además de Burp Suite, también podemos emplear un navegador web para interceptar las solicitudes directamente desde la aplicación, lo cual nos proporciona un enfoque adicional para analizar y manipular el tráfico de autenticación. Ambos métodos permiten inspeccionar y modificar los datos necesarios para la explotación de la autenticación de dos factores.

BUSQUEDA DE PIN
En este ejemplo es un JSON con un método de OPTION, lo podemos realizar con la misma URL.
Ejemplo:

  • https://example.com/cdp/link/ValidatePin?deviceID=2ab01be8160a013e9299bdfe89e27584d7b8e58199fe13a5515810ed&deviceTypeID=AOAGZA014O5RE&gascEnabled=true&marketplaceId=ART4WZ8MWBX2Y&pin=12345&firmware=1&version=1

Ahora podemos verificar cuando es incorrecto y cuando es correcto:

Contraseña incorrecta:

PIN INCORRECTO

Contraseña correcta:



PIN CORRECTO
Ahora lo vamos a enviar a POSTMAN:

URL AL POSTMAN

COOKIES

NO TIENE ACCESO

Se agrega las cookies de tu acceso, en este caso realizare con burpsuite para llevarlo a postman por medio de request.
Click derecho y copiar con curl command.

Si aun no consiguen acceden pueden copiar las cookies:


Listo, ahora podemos ir la opción de CODE y utilizar Python - Requests.


Programar el código:


En la opción de URL buscamos el parámetro de PIN y agregamos {x} para que funcione el código.


Acceso mediante PIN: Aplicaciones y Métodos de Automatización

Una vez que se ha obtenido el PIN necesario para acceder, este método también puede aplicarse a diversas opciones de validación, como códigos enviados por SMS, PINs de tarjetas, entre otros. Este es solo uno de los métodos disponibles; existen múltiples técnicas que permiten automatizar este proceso de manera más eficiente.

Recomendación: Si decides utilizar estos métodos con fines educativos o en entornos controlados, asegúrate de contar con los permisos necesarios y de respetar siempre las leyes y regulaciones locales sobre pruebas de penetración y ciberseguridad. La ética y la legalidad son esenciales para un profesional de la seguridad informática.

Si estás interesado en conocer más sobre otros métodos o deseas un enfoque más detallado, no dudes en compartir tus comentarios. Esto nos ayudará a saber qué contenido te gustaría ver en el próximo post.

Recuerda compartir este artículo para seguir recibiendo más publicaciones sobre este tema.

Artículo Anterior Artículo Siguiente