15 septiembre 2020

Proxychains: todo el qué y el cómo

¿Cómo lo encontré?
Soy un tipo que se dedica a la Informática para ganarme mis doblones de a ocho que me permiten comer todos los días, así que obviamente uso VPN. Uso Proxychains-ng para acceder a los sitios que están bloqueados por mi país sin ningún problema. Proxychains también proporcionan un mejor pseudo-anonimato que una VPN normal. Tampoco existen las soluciones magicas...

¿Qué es?
Cuando usas una VPN, solo hay un servidor proxy entre vos y tu destino. El cliente VPN presente en tu sistema encripta (cifra en realidad) tus datos y los envía al servidor VPN. Este servidor actúa como un proxy en tu nombre y se comunica con su host de destino. Este sistema crea un (relativamente) buen nivel de anonimato para cualquier cliente. Pero dejas un rastro de tu actividad con el servidor proxy cada vez que usas una VPN. Si tu proveedor de VPN no cumple con los estándares, existe una alta probabilidad de que alguien pueda rastrearlo aunque uses una VPN. También existe una buena posibilidad de que se produzca una fuga de DNS con tu servicio VPN.

Para combatir esto, podes usar Proxychains. Proxychains es una herramienta que obliga a todas las comunicaciones TCP que salen de tu sistema a pasar por diferentes proxies. Como sugiere el nombre, podes encadenar múltiples proxies con Proxychains y tu conexión pasará por estos diferentes proxies antes de alcanzar su objetivo. Este método de encadenar proxies te brinda mucho más anonimato que una VPN estándar (aunque nunca va a ser total). También tiene la opción de mitigar el problema de fugas de DNS. Con  Proxychain, podes configurar diferentes protocolos de proxy como SOCKS 4, SOCKS 5 y HTTPS. Incluso podes configurar el proxy TOR para usarlo con él. Obviamente necesita tener servidores con estos protocolos de proxy antes mencionados para trabajar con las cadenas de proxy.
¿Cómo instalarlo?
Proxychains es una herramienta que está escrita solo para sistemas GNU/Linux, por lo que si estás usando Windows, necesitas encontrar algunas alternativas. Proxychains se instala de forma predeterminada en Kali y en algunas otras distribuciones. Si no tenes Proxychains preinstalado, podes descargarlo desde el repositorio usando tu herramienta de administración de paquetes. Estoy en Slackware, así que uso el comando 'slpkg' para instalar el software.

root@daelomin:~# slpkg -s sbo proxychains
También tenes que instalar TOR si tenes la intención de utilizar el proxy TOR con cadenas de proxy.

root@daelomin:~# slpkg -s sbo tor
¿Cómo configurar las cadenas de proxy?
Una vez que instale Proxychains, podes configurar la herramienta en su archivo de configuración. El archivo proxychains.conf se encuentra en /etc/proxychains.conf. Abri este archivo con tu editor de texto favorito. El mío es el mitico VI.

root@daelomin:~# vi /etc/proxychains.conf
Una vez que lo abras, verás que existen diferentes formas de configurar la cadena de proxies como dinámica, aleatoria y estricta. Podes comentar o descomentar el nombre (dynamic_chain, round_robin_chain, strict_chain) para habilitar o deshabilitar la opción específica. Estoy usando la opción dynamic_chain para enrutar paquetes a través de los proxies. Podes leer sobre las opciones en el archivo de configuración para saber más al respecto. Si te desplazas un poco hacia abajo, aparecerá una línea en la que se comenta "Solicitudes de DNS proxy - sin fugas de DNS" (Proxy DNS requests - no leak for DNS data). Debes eliminar el simbolo pragma (que es este #) para evitar fugas de DNS mientras usa las cadenas de proxy. Desplazate hacia abajo para ver la lista donde podes agregar tus proxies. El archivo también te brinda algunos ejemplos de cómo agregar proxies. Por defecto, Proxychains usan TOR. Si no deseas utilizar TOR, podes comentar la primera línea y agregar tus propios proxies. Podes obtener algunos servidores proxys HTTPS o SOCKS5 desde este enlace. Guarda y cerra el archivo. Luego, podes ver Proxychain en acción usándolo con tu navegador favorito.

vampii@daelomin:~$ proxychains firefox

El comando anterior abrirá Firefox y obligará a todas las conexiones TCP a pasar por los proxies que configuraste para ProxyChains. Podes ver cómo funcionan las conexiones en la consola.

Si deseas utilizar el proxy TOR, deja la lista de configuración de proxy predeterminada en el archivo proxychains.conf. Por defecto, Proxychains envía el tráfico a través de nuestro localhost en el puerto 9050. Es el puerto de configuración de TOR por defecto. Por lo tanto, debes iniciar el servicio TOR en tu sistema y podes usar cadenas de proxy con tu navegador. Ahora, todas las conexiones pasarán por la Red TOR.

root@daelomin:~# /etc/rc.d/rc.tor start
También puede vincular otros proxies con TOR para obtener un mejor anonimato.

¿Por qué deberías usarlo?
Podes pensar que usar Proxychains es exagerar para permanecer en el anonimato. Estoy completamente de acuerdo. Para los usuarios normales, VPN hace todo el trabajo por ellos. Proxychains brilla al proporcionar un anonimato (semi)completo para las personas que trabajan en el dominio de la Ciberseguridad. No debes dejar ningún rastro de tu sistema cuando estés realizando un pentesting, sniffeando datos, etc. Es por eso que proxychain se usa principalmente junto con herramientas de red como Nmap.

vampii@daelomin:~$ proxychains nmap 192.168.1.10

Si deseas un anonimato total en Internet, Proxychains es (relativamente) la mejor herramienta que podes utilizar. Para el resto de nosotros, NordVPN o ProtonVPN pagando en BitCoins serían suficientes.

Basado en parte de: https://dev.to/dhanush_ramuk/proxychains-all-the-what-s-and-how-s-1460

No hay comentarios:

Publicar un comentario