Como configurar múltiples salidas a la red TOR a través de PRIVOXY

Autor: Jonás Ropero Castillo

INTRODUCCIÓN

A veces, tanto en labores de pentest como pudiera ser la fuerza bruta o recon, phishing, análisis de URL’s con contenido malicioso, etc, es necesario realizar pruebas desde distintas IP’s o desde determinados países en concreto. Para estas labores se suele recurrir a Proxys o VPN’s. Si además queremos añadir una capa de anonimato (…por cualquier motivo…) otra opción es recurrir a TOR.

Cuando TOR es instalado, por defecto trabaja como si fuera un proxy SOCKS, aunque a veces es útil poder utilizar TOR como un Proxy HTTP, en cuyo caso podemos recurrir a Privoxy.

1. Instalación de TOR y Privoxy

Para instalar TOR y Privoxy en una distribución GNU/Linux (en este caso se ha utilizado Ubuntu LTS 16) debemos introducir en el terminal el siguiente comando:

2. Configuración de TOR

A la hora de configurar TOR, es necesario acceder al archivo de configuración ubicado en /etc/tor/torrc, donde añadiremos al final del archivo los siguientes parámetros:

Mientras que si queremos utilizar un determinado país de salida debemos añadir:

Es probable que necesitemos cambiar los permisos del archivo /var/lib/tor a root:

Si se quiere usar el ControlPort (en el que se puede editar la configuración de TOR en tiempo de ejecución entre otras cosas) debemos generar un hash, por ejemplo:

 

Para iniciar TOR con el archivo de configuración que hemos creado hay que introducir:

Como resultado tenemos levantado una salida hacía TOR con Proxy SOCKS en el puerto 9050.

Por último, el acceso al ControlPort se realizaría de la siguiente manera:

Ya que no nos detendremos en este punto, es recomendable la lectura del siguiente artículo para utilización del ControlPort en profundidad:

http://www.thesprawl.org/research/tor-control-protocol/

3. Configuración Privoxy

Por otro lado, para configurar Privoxy hay que acceder al fichero /etc/privoxy/config, donde debemos añadir las siguientes líneas para redirigir el tráfico desde Privoxy a TOR.

Las siguientes líneas también son importantes (archivo de log y puerto de escucha) aunque ya vendrán así por defecto:

El resultado será tener iniciado Privoxy como Proxy HTTP en el puerto 8118

4. Instalando y configurando cinco salidas de TOR y Privoxy de forma automática (para los vagos saltar aquí)

Ya hemos hecho todo lo necesario para salir por TOR tanto con proxy SOCKS como con proxy HTTP, pero lo interesante y de lo que hablábamos al principio es de poder utilizar varias salidas de TOR precisamente para tener la versatilidad de usar distintos países o distintas IP’s. Por lo que vamos a automatizar la tarea de instalación y configuración de todas las salidas.

En el siguiente pequeño (y cutre) script, tenemos lo necesario para configurar tres salidas de TOR utilizando los países de Rusia, Estados Unidos y Brasil, y las otras dos salidas quedarían configuradas por defecto, osea en modo aleatorio.

En la última parte del script se crea un archivo sh para levantar todos los TOR’s y Privoxy’s a la vez, y se añade una alias a nuestro ~/.bashrc para ejecutar el mismo.

Se crea un fichero llamado por ejemplo script.sh (seamos originales porque no), y copiamos el siguiente contenido con cualquier editor de texto:

A continuación, lo ejecutamos (le damos antes permisos de ejecución chmod +x script.sh):

Abrimos una nueva terminal y ejecutamos el alias que se ha creado en la anterior ejecución para levantar todas las salidas de forma simultánea:

Solo hay que esperar un poco a que se inicien todo procesos y de esta manera las salidas quedan activas y listas para ser usadas como proxys HTTP o proxy SOCKS.

Resumen de lo realizado:

Servicio Proxy:port ControlPort Servicio Proxy:port País
tor Proxysocks:9050 Controlport:9051 privoxy Proxyhttp:8118 aleatorio
tor2 Proxysocks:9150 Controlport:9151 privoxy2 Proxyhttp:8218 us
tor3 Proxysocks:9250 Controlport:9251 privoxy3 Proxyhttp:8318 ru
tor4 Proxysocks:9350 Controlport:9351 privoxy4 Proxyhttp:8418 br
tor5 Proxysocks:9450 Controlport:9451 privoxy5 Proxyhttp:8518 aleatorio

Podemos chequear que todo ha quedado bien con netstat y ps.

5. Probando el funcionamiento de los Proxys

Si se quiere navegar a través de los Proxys configurados, podemos utilizar por ejemplo el browser Firefox junto con el complemento Foxy Proxy, añadiendo las nuevas salidas de TOR.

FIgure 1 – Proxys

Como ejemplo, para Proxy HTTP la primera quedaría de la siguiente forma (el resto solo cambiando el puerto):

FIgure 2 – Proxys Socks

Nota: Para utilizar o añadir Proxy SOCKS, seleccionamos SOCKS v4/4a y cambiamos el puerto a 9050 y sucesivos.

Ya tendríamos todo lo necesario para navegar por el país que elijamos o cambiar de IP a golpe de click

Si deseamos comprobar su correcto funcionamiento, abrimos el navegador y vamos seleccionando los distintos Proxys, y chequeamos la IP y país de salida con la siguiente URL:

http://es.geoipview.com/

FIgure 3 – Salidas configuradas

O más rápido, usamos Curl copiando y pegando las siguientes líneas:

Ahora ya podemos navegar por los múltiples TOR’s, configurar nuestras herramientas de pentest favoritas con los distintos proxys HTTP o SOCKS, analizar URL’s que requieran de una IP en cierto país o darle el uso que cada uno considere más adecuado.

Autor: Jonás Ropero Castillo

Menú