😋 Cómo saltarte el 2FA con un Reverse Proxy 😋


MatarFuma

Miembro muy activo
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
 
Última edición por un moderador:

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:

*** Hidden text: cannot be quoted. ***


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
Buen post, pero ahí una duda. Entiendo que la víctima primero se tiene que tragar tu "phishing" para que entre a tu reverse proxy y este le redirige a la web "oficial", se supone que este va a poder trackear las peticiones y respuestas de la víctima? Tipo, la víctima está en la página web oficial pero aún así conserva la conexión con el reverse-proxy? Y estas peticiones no están encriptadas con SSL/TLS?
 
  • Like
Reacciones : Sakst

MatarFuma

Miembro muy activo
Buen post, pero ahí una duda. Entiendo que la víctima primero se tiene que tragar tu "phishing" para que entre a tu reverse proxy y este le redirige a la web "oficial", se supone que este va a poder trackear las peticiones y respuestas de la víctima? Tipo, la víctima está en la página web oficial pero aún así conserva la conexión con el reverse-proxy? Y estas peticiones no están encriptadas con SSL/TLS?
Respondiendo a la primera pregunta, sí, es necesario que la victima entre a nuestro servidor atacante (el reverse proxy). Sin este factor humano el proceso no serviría de nada, podemos usar técnicas de Ingeniería Social como Spear Phishing o cualquier mierda para que caiga, lo típico. El reverse proxy no funciona como un ataque de phishing normal, en vez de redirigir a la víctima al servidor real, este lo que hace es actuar como un MITM (Man In The Middle), interceptando y manipulando todo el tráfico HTTP/HTTPS, que posteriormente será enviado al servidor real, y retornando la respuesta al usuario. Para romper la seguridad TLS/SSL, nuestro servidor debe tener un certificado SSL válido para que así el usuario al confiar en éste, establecer una conexión HTTPS desde el reverse proxy al servidor real. De esta manera, en el medio, el proxy descifra el tráfico y puede modificarlo, porque actúa como intermediario TLS.
 
  • Like
Reacciones : Matamataos

mohamed_ld

Miembro muy activo
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:

*** Hidden text: cannot be quoted. ***


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
A verr
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Respondiendo a la primera pregunta, sí, es necesario que la victima entre a nuestro servidor atacante (el reverse proxy). Sin este factor humano el proceso no serviría de nada, podemos usar técnicas de Ingeniería Social como Spear Phishing o cualquier mierda para que caiga, lo típico. El reverse proxy no funciona como un ataque de phishing normal, en vez de redirigir a la víctima al servidor real, este lo que hace es actuar como un MITM (Man In The Middle), interceptando y manipulando todo el tráfico HTTP/HTTPS, que posteriormente será enviado al servidor real, y retornando la respuesta al usuario. Para romper la seguridad TLS/SSL, nuestro servidor debe tener un certificado SSL válido para que así el usuario al confiar en éste, establecer una conexión HTTPS desde el reverse proxy al servidor real. De esta manera, en el medio, el proxy descifra el tráfico y puede modificarlo, porque actúa como intermediario TLS.
Ah vale, se mantiene la conexión original en todo momento, interesante.
 

alvibest13

Miembro muy activo
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:

*** Hidden text: cannot be quoted. ***


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
veamos
 

ElMetralletas

Miembro muy activo
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:

*** Hidden text: cannot be quoted. ***


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
Gracias por tu aportación!
 

dvd_localz

Miembro muy activo
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:

*** Hidden text: cannot be quoted. ***


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
A ver
 

pepe1234el1234

Miembro muy activo
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. 😉😉😉

¿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.
Suena sólido, ¿no? Bueno… hasta que llega alguien con un reverse proxy y te desmonta el chiringuito.

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:

*** Hidden text: cannot be quoted. ***


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:
  1. Envía una petición: haces que el usuario se conecte al sitio objetivo a través del proxy que tú controlas.
  2. 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.
  3. Modifica la petición: metes el código 2FA interceptado directamente en la solicitud.
  4. Reenvía la petición: ahora sí, con el 2FA ya incluido, mandas la petición al servidor real.
  5. Intercepta la respuesta: cuando el servidor responde, tú la recibes primero.
  6. Modifica la respuesta: por si quieres disimular o limpiar rastros, puedes meter el mismo código interceptado o tocar otros detalles.
  7. 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...
Con esto ves todo lo que pasa entre el navegador y el servidor. Literalmente TODO.
parece interesante