28 may. 2012

Anonimizar Linux con TOR, Privoxy y ProxyChains

Una de las preguntas más comunes que recibo es como navegar anónimo o cómo poder probar alguna herramienta, sin necesidad de "mostrar" mi IP. A continuación dejo un paso a paso de cómo configurar un Linux (basado en Debian) para poder navegar anónimamente y también poder utilizar cualquier herramienta de la misma forma, a través del uso de TOR, Prixovy y ProxyChains.

1. Agregar un nuevo repositorio desde el cual descargar e instalar TOR y Privoxy (no es necesario instalar Polipo). Modificar el archivo: /etc/apt/sources.list y agregar la siguiente línea:
deb http://deb.torproject.org/torproject.org lucid main

A continuación actualizar el repositorio:
apt-get update

2. Instalar TOR y responder que "sí" cuando se pregunte sobre la confianza del "proveedor" de paquetes.

apt-get install tor tor-geoipdb

3. Instalar Privoxy:
apt-get install privoxy proxychains

4. Instalar ProxyChains. Ya viene instalado en Backtrack y en este caso se puede evitar.
apt-get install privoxy proxychains

5. Modificar la configuración de Privoxy para habilitar el uso de TOR como proxy en el equipo local. Modificar el archivo: /etc/privoxy/config

Descomentar (o agregar) esta línea relacionadas al proxy SOCKS 5 (no olvidar el punto final):
forward-socks4a / 127.0.0.1:9050 .

7. Iniciar TOR
/etc/init.d/tor start
/etc/init.d/privoxy start


6. Paso optativo: instalar el navegador en modo texto Lynx para verificar si se está navegando en forma anónima.
apt-get install lynx

7. Probar que se esté anónimo navegando en forma anómima.
proxychains lynx www.whatismyip.com

Nota: en caso de que el proxy no funcionen se puede probar reiniciar TOR (STOP y START).

En el caso de que se esté anonimizado, la URL que ofrecerá el sitio www.whatismyip.com será distinta a la real, como se ve a continuación:

8. A partir de aquí se puede utilizar cualquier herramienta a través de proxychains, por ejemplo NMAP:
proxychains nmap www.segu-info.com.ar

Nota importante: si se invoca la herramienta sin utilizar ProxyChains, la anonimicidad no existe.

9. En algunos casos, será necesario usar TOR como proxy HTTP en vez de Socks. Para ello se puede agregar (o habilitar) la siguiente línea en la configuración de Privoxy (/etc/privoxy/config):
listen-address 127.0.0.1:8118

Una vez configurado se puede ejecutar cualquier herramienta utilizando este proxy. Por ejemplo WhatWeb:
./whatweb www.segu-info.com.ar --proxy=127.0.0.1:8118

En el caso de que se quiera navegar anónimo con otro navegador, habrá que agregar el proxy tipo Socks (el defecto es HTTP) al mismo. En el caso de querer anonimizar Firefox se puede realizar desde about:config y modificar la siguiente opción:
network.proxy.socks_remote_dns = TRUE

Ahora se debe configurar Firefox mediante el menú Editar - Preferencias - Avanzado - Conexión. Seleccionar la "Configuración manual de proxy" y configurar las distintas opciones como aparece a continuación:

Desde este momento todas las herramientas que se utilicen con ProxyChains o desde Firefox, serán anónimas. Si bien existe maneras alternativas de configurar el sistema operativo a través de DNS, esta manera resulta ser la más cómoda para la mayoría de los usuarios que deseen utilizar la anonimicidad sólo en ciertos casos.

Cristian de la Redacción de Segu-Info

Suscríbete a nuestro Boletín

6 comentarios:

  1. quiero conectarme por rdp a un servidor y ejecuto proxychains rdesktop 200.xxx.xxx.xx2:3389 y me envia un mensaje de error "unable to connect". Alguna idea de porque?

    ResponderBorrar
  2. Hola Anonimo,

    Si ya has confirmado que otras app funcionan ok a través de proxychain puede ser que el puerto 3389 no esté permitido en el proxy al cual te estas conectado ya que suelen filtrarse los puertos que se pueden utilizar.

    Cristian

    ResponderBorrar
  3. Las conexiones tor son lentas entonces lo que hice fue crear 8 conexiones tor cada una con un privoxy en puertos distintos y con squid balancear la carga entre los tor.

    ResponderBorrar
  4. Una manera de utilizar proxychains mas rapido, seria dejar en "X" lugar un ssh (dejarlo en bin/false) para que no haya login mediante el 443 por aquello de los firewall paranoicos, de ahi se va a un cliente se conecta al server que se ha dejado corriendo por el 9050, se hace la conexion ssh [email protected] -D -P 9050, y tendran un tunnel re lindo, le ponen en esa consola firefz y te dejara la IP del server, podrian dejar la conexion en cualquier lugar ajeno a ustedes y navegaran anonimanete

    ResponderBorrar
  5. Excelente tutorial Felicidades me ha servido mucho.Muchissimas gracias pro compartilo!

    ResponderBorrar
  6. Gracias por el tuto, limpio y sencillo.
    Buen Hack

    ResponderBorrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!