ProxyChains es una herramienta que nos permite enlazar multiples proxys para enrutar a través de ellos las conexiones que realiza alguna herramienta, como por ejemplo Nmap.

Si ejecutamos:

proxychains

en una terminal en Kali notaremos que viene instalado por defecto



Teniendo en cuenta que TOR se comporta como un Proxy proxychains lo trae por defecto, así que haremos una prueba con Nmap para comprobarlo (Hay que tener en cuenta que el servicio TOR debe estar ejecutandose):





El escaneo a través de ProxyChains + TOR es exitoso. En el ejemplo usamos la opción -sT para hacer un escaneo de tipo full conect, la opción -PN para evitar que Nmap intente verificar si la IP está en linea (Pues de antemano sabemos que sí), la opción -n evita que se hagan solicitudes a DNS por fuera de TOR, la opción -sV es utilizada para obtener los servicios y sus versiones que corren por determinados puertos, y para finalizar, con la opción -p indicamos los puertos que queremos escanear

Un problema que nace aquí es que debemos asegurarnos de ejecutar siempre proxychains junto con nuestras herramientas, o si por ejemplo queremos navegar a través de un sitio web objetivo tendríamos que hacerlo siempre a través de TOR Browser.

Una solución muy muy útil es Socat. Socat se encarga de enrutar todas las conexiones hacia determinada IP y puerto a través de TOR, así que si por ejemplo queremos ejecutar multiples herramientas de escaneo de vulnerabilidades que se conectan al sitio por el puerto 80 no tendremos que preocuparnos por configurar siempre proxychains, ya que Socat nos asegura que todas esas conexiones salen por TOR Socat está instalado por defecto en Kali. Para empezar a enrutar nuestras conexiones debemos ejecutar el siguiente comando:





TCP4-LISTEN:8888 Configura un servidor local en nuestra máquina por el puerto 8888


SOCKS4a:127.0.0.1:200.69.124.29:80,socksport=9050 se encarga de enrutar todas las peticiones a la IP remota 200.69.124.29 por el puerto 80 a través de TOR (que está a la escucha en el puerto 9050)


Para comprobar que Socat está funcionando podemos realizar una conexión por Netcat a nuestro servidor local por el puerto 8888 (configurado en Socat) y veremos que nos devuelve realmente el banner del servidor remoto 200.69.124.29 en el puerto 80: