Backup Oficial de SeguridadBlanca.Org

miércoles, 1 de julio de 2009

Con un Proxy ¿realmente eres anónimo?

Todos conocemos que existen distintos tipos de proxy web cuando buscamos anonimato en la red. Distinguiendo entre nombres como "anónimo", "altamente anónimo" o incluso "élite".

Su denominación varía según la información que es enviada al servidor remoto en forma de cabeceras HTTP. Entre estas cabeceras es común encontrar:
  • X_FORWARDED_FOR: esta cabecera no está definida en el RFC de HTTP, ha sido creada por el proxy cache "Squid" con el objetivo de enviar la dirección IP del cliente al servidor Web. Dada su popularidad es se le ha dado relevancia y actualmente es soportada por la mayoría de aplicaciones. A tener en cuenta que es transmitida por el cliente y por lo tanto puede ser modificada, por lo que ningún control de acceso debería confiar en esta información, al igual que ocurre con otras cabeceras como User-Agent o Referer. No es común que los servidores a los que accedemos almacenen esta información en vez de la dirección IP del proxy, pero puede ocurrir, lo que significa que no somos tan anónimos como nos imaginamos.

  • VIA: Definida en el RFC como obligatoria cuando es usado un servidor proxy indica el camino que ha seguido la petición desde su origen al destino, identificando los protocolos que se han seguido. El objetivo principal de esta cabecera es evitar bucles infinitos.
Una vez hemos configurado el proxy en nuestro navegador, se puede conocer si estas cabeceras están siendo utilizadas accediendo a una página web del tipo "Cual es mi IP", que nos mostrará si utilizamos proxy o no y las direcciones IP que es capaz de detectar. Otra opción es hacer nuestro propio script donde se muestren las cabeceras enviadas con algo tan simple como:
<?php
foreach($_SERVER as $h=>$v)
if(ereg('HTTP_(.+)',$h,$hp))
echo "<li>$h = $v</li>\n";
header('Content-type: text/html');
?>
Pero estas cabeceras HTTP no son la única forma de conocer la dirección IP real de un cliente u otra información de interés, estos datos puede ser filtrados mediante otras técnicas, entre ellas:
  1. Peticiones DNS del cliente web, que solicita la dirección IP de un subdominio monitorizado, de esta forma el servidor DNS de ese dominio será capaz de averiguar el servidor DNS que utiliza el cliente y por lo tanto compañía y localización.
  2. Peticiones DNS desde applet Java, utilizando la socket API se solicita la resolución DNS de un subdominio, si este no es el mismo que el que sirve el applet, se genera una excepción de seguridad y no produce resultado, aunque la petición de DNS es enviada y al igual que en el punto anterior, se podría conocer los servidores DNS del cliente.
  3. Envío de paquetes UDP en applet Java, mediante el envío de un paquete UDP al servidor que sirve el applet es posible conocer la dirección IP de origen, este método no funciona con las últimas versiones de Java y requiere que el destino sea el propio que sirve el applet.
  4. Acceso a IP y hostname mediante la API de socket de Java, que permite obtener el nombre del sistema y su dirección IP mediante un applet, esta información puede revelar la IP interna del equipo (en caso de NAT) o uso de proxy.
  5. Mediante un paquete TCP en Flash, que revela la dirección IP de origen y que no utilizará la configuración proxy que tenga el navegador.
  6. Con Microsoft Office, si este está configurado para que abra directamente los documentos y estos contienen imágenes serán descargados sin utilizar el proxy.
  7. Utilizando plugin de Quicktime, que mediante un parámetro permite solicitar que la conexión se haga directamente contra el servidor remoto evitando el uso de proxy.
  8. Con el protocolo "itms://" de iTunes, en caso de tener instalado este software, si se accede a una dirección del tipo "itms" esta conexión se realiza sin utilizar la configuración del proxy del navegador.
Todas estas técnicas las ha implantado HD Moore en el sitio: http://decloak.net/. Esta aplicación online permite realizar un test sobre nuestro navegador una vez hemos configurado el proxy tratando de conseguir la dirección IP real de nuestro equipo.

Además permite la descarga del código fuente del applet de los puntos 2 y 3 y el flash del punto 5.

Algunas compañías que trabajan con comercio electrónico ya están haciendo uso de estas técnicas para evitar fraudes y conocer el origen real de los ataques que reciben.

Si lo que queremos es evitar esta identificación, solo cabe utilizar un navegador sin ningún tipo de complemente instalado, como son Java, Flash, iTunes u Office, eliminar la conexión directa con Internet, es decir, que nuestro sistema no pueda salir a Internet sin utilizar un proxy y utilizar servidores DNS públicos como OpenDNS.

Fuente


Saludos
Dr.White

1 comentario:

  1. para que confirmes tu direccion ip publica fija debes revisarlo desde un sitio externo.

    cual es mi ip - mi ip
    http://tools.index.com.pe/ip.htm

    ResponderEliminar