Banner 1

Técnicas de evasión de "portales cautivos" Cap1

Hoy vamos a ver un poco sobre como pasar esos portales cautivos que nos separan casi siempre de internet gratis y un limite a ciertos dominios, pasa lo siguiente jugando con el celular se puede notar que cuando no tenemos saldo salta el portal cautivo, la idea es que el portal cautivo esta redireccionado por un proxy, el cual solo va a filtrar ciertos dominios, y al ser un proxy HTTP únicamente va a filtrar paginas HTTP (No HTTPS ni ningún otro protocolo), por lo cual si abrimos una pagina HTTPS esta nos abrirá sin ningún problema, a todo eso se puede utilizar una VPN (por ejemplo HotSpot Shield) y tendremos libre el acceso a internet.

Esto en un ejemplo con un celular, pero también otras empresas utilizan estos portales cautivos y estos proxys HTTP, se supone como mencionamos que solo van a filtrar ciertos dominios, pero obviamente no el del portal cautivo, por lo cual esta el metodo 1:


1. Bypass por el header host:
Creamos un header Host apuntando al host que esta permitido por el proxy del proveedor, pondré un ejemplo:

Host: permitido

y seguido de este el header Host real de la web que queremos visitar, en este caso el proxy nos deja pasar como si nada pues no tiene por que filtrar este Host, de modo que programamos un proxy HTTP que agregue dicho header y mágicamente tenemos internet libre.


Al ser un proxy HTTP tiene las clásicas deficiencias del protocolo HTTP, por ejemplo en la mayoría de los casos se tiene el desconocimiento total de que existe la versión 0.9 y de que los servidores web no solo soportan espacios como separadores, por lo cual el metodo 2:

2. HTTP/0.9 y separadores diferentes del espacio:

Solo filtra los paquetes HTTP con formato:

[metodo] [ruta] HTTP/[version]

de modo que los paquetes que se envían con diferente separador y los de la version 0.9 se dejan pasar.

3. No filtra las paginas encriptadas, solo HTTP.

Como ya se menciono no se filtran webs HTTPS ni similares, por lo cual cualquiera de estas se pueden navegar fácilmente.

4. El puerto DNS no esta filtrado, de modo que se pueden crear tunel con otro servidor remoto (que actuaria de proxy).


Nuevamente recurrimos a las deficiencias de los proxys y de su pobre implementación del protocolo HTTP, ahora juguemos con las conexiones persistentes:

5. En conexiones persistentes, se puede enviar un paquete inicial de tipo:

GET / HTTP/1.1
Host: hostpermitido
Connection: keep-alive

el proxy dejara de vigilar esta conexión y ya se puede enviar paquetes limpiamente (cambiando el Host obviamente).

6. Otro dato curioso es que si se puede forzar al navegador a hacer un HTTP Request Smuggling, se puede enviar 2 paquetes con diferentes encabezados Host y obtener las respuestas de los diferentes servidores en la misma conexión, por lo cual se puede hacer fácilmente un robo de cookies del dominio cualquiera.

No he podido probar con otros proveedores pero de momento tenemos esos, un dato curioso es que el 0day que se había colocado como recompensa del primer reto de este blog ya tenia los métodos de evasión mencionados.

Pero creo que como motivo de esta publicación vale la pena regalarles el proxy, así que en la siguiente publicación hablare de esta herramienta y se las regalare ;)...

Fuente: 
http://hackingtelevision.blogspot.com/2010/12/tecnicas-de-evasion-de-portales.html

Links de interés:
http://foro.elhacker.net/empty-t127534.0.html
http://foro.infiernohacker.com/index.php?topic=17157.0

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay