Proxychains e Tor

Muitas vezes quando estamos fazendo uma avaliação de vulnerabilidade em algum serviço ou mesmo uma varredura na internet, precisamos manter o anônimato, seja para realmente preservar nossa localização ou talvez seja apenas porque sabemos que o alvo tem um firewall que vai nos bloquear rapidamente, para resolver isso sem precisar comprar uma VPN podemos usar dois serviços, o Proxychains em conjunto com o Tor.

Na distribuição Kali Linux, o Proxychains já vem instalado, precisamos apenas fazer a instalação do Tor com o comando: apt-get install tor.

Para validar se o serviço Tor está funcionando, usamos os comandos:

/etc/init.d/tor start | stop | reload | status

Você poderá validar se o serviço está funcionando usando também o comando abaixo:

Depois disso, é preciso configurar o arquivo do Proxychains, ele fica em:

/etc/proxychains.conf

Use o Vim, Nano ou qualquer outro editor de sua preferência, descomente a linha “dynamic_chain” e comente a linha “strict_chain”.

Depois é preciso inserir no final da linha a segunda opção de SOCKS relacionado com a rede Tor.

A configuração acima que foi feita, “dynamic_chain”, vai garantir que os proxys que vão ser usados serão esses e que pelo menos um deles precisa estar online para que o Proxychains funcione corretamente. Agora é só testar e validar que o serviço está funcionando corretamente, recomendo que reinicie o serviço do Tor.

Para iniciar algo que passe pelo Proxychains, você precisa simplesmente executar via linha de comando o Proxychains e a aplicação que você quer rodar, por exemplo:

proxychains firefox ou proxychains nmap <comandos>

Acima temos o Proxychains rodando o navegador Firefox e a comprovação da alteração do Ip.

Acima estou fazendo acesso à página de wallpapers do site shellzen.net e comprovando a alteração do Ip pelos logs do servidor web do site.

Para fazer uma verradura com o Nmap a lógica é a mesma, conforme demonstrado abaixo, de preferência por usar número Ip no lugar de DNS, a resolução de nomes pelo Tor nem sempre vai ser perfeita.

root@kali:/# ping shellzen.net
PING shellzen.net (34.193.146.109) 56(84) bytes of data.

root@kali:/# /etc/init.d/tor start 
[ ok ] Starting tor (via systemctl): tor.service.

root@kali:/# proxychains nmap -v -sV -p80,443 34.193.146.109
ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 7.50 ( https://nmap.org ) at 2017-06-25 16:59 -03
NSE: Loaded 41 scripts for scanning.
Initiating Ping Scan at 16:59
Scanning 34.193.146.109 [4 ports]
Completed Ping Scan at 16:59, 0.22s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 16:59
Completed Parallel DNS resolution of 1 host. at 16:59, 0.13s elapsed
Initiating SYN Stealth Scan at 16:59
Discovered open port 80/tcp on 34.193.146.109
Discovered open port 443/tcp on 34.193.146.109
Completed SYN Stealth Scan at 16:59, 0.23s elapsed (2 total ports)
|D-chain|-<>-127.0.0.1:9050-<>-127.0.0.1:9050-<--denied
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:80-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
Completed Service scan at 16:59, 16.24s elapsed (2 services on 1 host)
NSE: Script scanning 34.193.146.109.
Initiating NSE at 16:59
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:80-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:80-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:80-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
|D-chain|-<>-127.0.0.1:9050-<><>-34.193.146.109:443-<><>-OK
Completed NSE at 16:59, 8.81s elapsed
Initiating NSE at 16:59
Completed NSE at 16:59, 0.00s elapsed

PORT    STATE SERVICE  VERSION
80/tcp  open  http     nginx
443/tcp open  ssl/http nginx