Bienvenido al lado oscuro de las técnicas avanzadas, donde la seguridad se pone a prueba todos los días. Hoy vamos a ver un método que los hackers con experiencia usan para bypassear la autenticación en dos pasos (2FA) usando un reverse proxy. Esto es puramente educativo, no seas imbécil. No lo uses para hacer el mal. 


Este proxy intercepta todas las peticiones y respuestas, y como puede modificarlas, se vuelve una herramienta brutal para capturar cosas como el código 2FA en tiempo real.
Después, toca editar la configuración de Nginx para que funcione como proxy reverso. Abre el archivo de configuración en /etc/nginx/nginx.conf y mete algo como esto:
Con esto, ya tienes tu proxy funcionando, listo para recibir tráfico como si fuera el sitio real.



¿Qué es el 2FA, por si has vivido debajo de una piedra?
El 2FA (Two-Factor Authentication) es una capa extra de seguridad. Te pide dos formas de identificarte antes de dejarte entrar a tu cuenta. ¿Ejemplos?- Códigos por SMS: te mandan un número único al móvil.
- Apps de autenticación: como Google Authenticator o Authy, que generan códigos que caducan cada 30 segundos.
El truco del reverse proxy
Un reverse proxy es un servidor que se mete entre el usuario (víctima) y la web real. Como un carterista entre tú y el cajero automático.Este proxy intercepta todas las peticiones y respuestas, y como puede modificarlas, se vuelve una herramienta brutal para capturar cosas como el código 2FA en tiempo real.
Paso 1: Montar el reverse proxy
Primero hay que instalar Nginx en tu servidor. Usa el gestor de paquetes que quieras. Por ejemplo, si estás en Ubuntu:apt-get install nginx
Después, toca editar la configuración de Nginx para que funcione como proxy reverso. Abre el archivo de configuración en /etc/nginx/nginx.conf y mete algo como esto:
Para ver el contenido, necesitas Iniciar sesión o Registrarte.
Con esto, ya tienes tu proxy funcionando, listo para recibir tráfico como si fuera el sitio real.
Paso 2: Intercepta y modifica las peticiones
Una vez que tienes el reverse proxy funcionando, ya puedes interceptar y modificar las peticiones para saltarte el 2FA. Aquí te explico cómo se hace:- Intercepta la petición: el proxy que montaste se come la solicitud que el cliente (víctima) manda.
- Modifica la petición: aquí es donde usas un script o alguna herramienta para toquetearla. Por ejemplo, puedes quitar el código 2FA original o meter uno falso.
- Reenvía la petición: ya modificada, la mandas al servidor real como si nada.
- Intercepta la respuesta: el servidor responde, pero antes de que llegue al usuario, tu proxy la agarra.
- Modifica la respuesta: y, si quieres, le metes mano también. Puedes eliminar el 2FA de la respuesta o meter un código inventado, como si todo estuviera bien.
Paso 3: Saltarte el 2FA
Ya con el proxy configurado para interceptar y modificar tanto las peticiones como las respuestas, ahora sí puedes pasar por encima del 2FA como Pedro por su casa. Aquí va el proceso paso a paso:- Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
- Intercepta el código 2FA: ese código que va al móvil del usuario o a su app de autenticación, lo interceptas en el camino.
- Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
- Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
- Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
- Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
- Accede a la cuenta: con todo eso, ya puedes entrar como si fueras el dueño de la cuenta.
Técnica extra: usa extensiones del navegador
Para hacerlo más fino, puedes usar herramientas que interceptan y modifican tráfico directamente desde el navegador:- Tamper Chrome: para editar peticiones/respuestas al vuelo.
- Fiddler: proxy que registra todo el tráfico web.
- Burp Suite: todos lo conocemos...
Última edición por un moderador: