Já precisou fazer um programa usar um proxy, mas ele simplesmente não tem suporte a configurações de proxy? Talvez você esteja usando uma ferramenta de linha de comando que não tem opções de proxy embutidas, ou queira rotear o tráfego através de múltiplos proxies para anonimato extra. É aí que o ProxyChains entra em ação.
ProxyChains é uma ferramenta UNIX poderosa que força qualquer conexão de rede feita por um programa a passar por um ou mais servidores proxy, mesmo quando esse programa não suporta proxies nativamente.
Ele funciona interceptando chamadas de bibliotecas relacionadas à rede em programas vinculados dinamicamente (via LD_PRELOAD), redirecionando essas conexões de forma transparente através de proxies como SOCKS4, SOCKS5 ou servidores HTTP.
O ProxyChains é compatível com Linux, BSD, macOS e Haiku. E o melhor: é completamente gratuito e de código aberto.
Seja você um pesquisador de segurança, um testador de penetração ou apenas alguém que quer contornar restrições geográficas, este guia vai te mostrar tudo o que você precisa saber.
O que exatamente o ProxyChains faz?
Pense no ProxyChains como um construtor de túneis para o seu tráfego de rede. Quando você executa um programa com proxychains na frente do comando, as conexões de rede dele são redirecionadas automaticamente através dos proxies que você definiu.
O ProxyChains funciona interceptando chamadas de bibliotecas de rede em programas vinculados dinamicamente via LD_PRELOAD, interceptando as conexões antes que elas cheguem à rede.
Observe que essa abordagem só funciona com programas vinculados dinamicamente. Scripts, programas que usam dlopen() para carregar módulos e programas que criam múltiplos processos em segundo plano podem não funcionar de forma confiável.
Casos de uso comuns incluem:
- Ocultar seu endereço IP real ao conectar-se a sites
- Encadear múltiplos proxies para anonimato extra (ex.: Tor → SOCKS5 → HTTP)
- Contornar firewalls ou restrições geográficas
- Usar ferramentas de rede como
nmapoucurlsem suporte nativo a proxy - Testar como aplicações se comportam atrás de proxies
Para testes de penetração e reconhecimento, a ordem recomendada é: VPN → ProxyChains → Alvo. Dessa forma, seu ISP vê apenas tráfego criptografado para sua VPN, seu provedor de VPN vê conexões para proxies em vez do alvo final, e o alvo vê apenas o último proxy da sua cadeia.
Nota importante: O ProxyChains não criptografa seu tráfego e roteia apenas conexões TCP. UDP e ICMP não são suportados, independentemente do tipo de proxy configurado. Sua privacidade depende inteiramente dos proxies que você usa e se eles suportam criptografia (como Tor ou SOCKS5 sobre TLS). O ProxyChains sozinho apenas oculta seu endereço IP do destino. Para privacidade forte, combine-o com uma VPN ou Tor.
Instalar o ProxyChains no Linux
O ProxyChains está disponível nos repositórios da maioria das distribuições Linux.
No Arch Linux e Manjaro:
sudo pacman -S proxychains-ng tor
No Debian, Ubuntu e Pop!_OS:
sudo apt update
sudo apt install proxychains4 tor -y
No Kali Linux, o ProxyChains vem pré-instalado, mas talvez você queira atualizá-lo para a versão mais recente.
No Red Hat, Fedora, AlmaLinux e Rocky Linux:
Para distribuições que usam dnf ou yum:
sudo dnf install proxychains-ng tor
Se precisar compilar a partir do código-fonte, você pode clonar o repositório:
git clone https://github.com/rofl0r/proxychains-ng
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make -j $(nproc)
sudo make install
sudo make install-config
Isso instala o arquivo de configuração em /etc/proxychains.conf. Você também precisará ter o Tor instalado, já que a configuração padrão usa um proxy Tor local.
Iniciar o serviço Tor
Antes de configurar qualquer coisa, vamos iniciar o serviço Tor. O Tor fornece um proxy SOCKS em 127.0.0.1:9050 por padrão.
sudo systemctl start tor
sudo systemctl enable tor # Starts Tor automatically at boot
Verifique se está rodando corretamente:
sudo systemctl status tor
Você deve ver "active (running)" na saída.
Configurar o ProxyChains
Agora vem a parte importante. O arquivo de configuração principal geralmente está localizado em /etc/proxychains4.conf no Debian/Ubuntu/Kali (instalado via pacote proxychains4) ou em /etc/proxychains.conf em compilações a partir do código-fonte e algumas outras distribuições.
Abra-o com seu editor de texto favorito:
sudo nano /etc/proxychains4.conf
Passo 1: Escolher um tipo de cadeia
Procure pela seção de tipo de cadeia no início do arquivo. Você verá várias opções, cada uma com um comportamento específico:
#dynamic_chain
#strict_chain
#round_robin_chain
#random_chain
Escolha a que melhor se adequa às suas necessidades:
- dynamic_chain (recomendado para iniciantes): Usa os proxies na ordem listada, mas pula os que estiverem offline. Contanto que pelo menos um proxy funcione, a cadeia funciona.
- strict_chain (o padrão): Usa os proxies em ordem estrita. Se algum proxy falhar, toda a cadeia falha.
- round_robin_chain: Percorre os proxies em ordem, começando de onde parou a cada nova conexão.
- random_chain: Escolhe proxies aleatórios da sua lista para cada conexão.
Descomente o tipo escolhido removendo o # no início da linha e comente os outros.
Passo 2: Ativar o proxy de DNS
Encontre a linha #proxy_dns e descomente-a. Isso evita vazamentos de DNS roteando as requisições de DNS através dos seus proxies também:
proxy_dns
Passo 3: Revisar as configurações de timeout
Os valores de timeout padrão geralmente são suficientes, mas você pode ajustá-los se necessário:
tcp_read_time_out 15000
tcp_connect_time_out 8000
Passo 4: Adicionar seus proxies
Role para baixo até a seção [ProxyList] no final do arquivo. A entrada padrão é um proxy SOCKS4 no localhost, porta 9050 (Tor):
socks4 127.0.0.1 9050
Para usar com a diretiva proxy_dns, substitua-a por uma entrada SOCKS5. O SOCKS5 permite a resolução de DNS do lado do proxy, que é o que o proxy_dns usa para evitar vazamentos:
[ProxyList]
socks5 127.0.0.1 9050
O formato para adicionar proxies é: type IP_address port [username] [password]. Os tipos de proxy suportados incluem http, socks4 e socks5.
Salve o arquivo com Ctrl + O, pressione Enter, depois Ctrl + X para sair do nano.
Testar sua configuração
Vamos verificar se tudo funciona corretamente. Primeiro, verifique seu endereço IP real:
curl ifconfig.me
Agora veja qual IP você aparenta ter através do ProxyChains:
proxychains curl ifconfig.me
O IP deve ser diferente do seu IP real.
Você também pode testar especificamente com o verificador do Projeto Tor:
proxychains curl https://check.torproject.org
Se tudo estiver configurado corretamente, você verá uma mensagem dizendo "Congratulations. This browser is configured to use Tor."
Usar o ProxyChains com aplicações de linha de comando
Usar o ProxyChains é bem simples. Basta prefixar proxychains a qualquer comando:
# Downloading files
proxychains wget http://example.com/file.zip
# Network scanning with nmap
proxychains nmap -sT -Pn target.com
# SSH connections
proxychains ssh [email protected]
Para ferramentas de varredura de rede como nmap, lembre-se de usar a flag -sT (TCP connect), pois varreduras SYN (-sS) usam sockets raw e não funcionam através do ProxyChains.
Usar Firefox com Tor (Nota importante)
Você pode ficar tentado a executar o Firefox com proxychains firefox. No entanto, essa abordagem não funciona de forma confiável porque o Firefox moderno carrega seu código de rede através de módulos carregados com dlopen() (como libxul), que não herdam os hooks LD_PRELOAD dos quais o ProxyChains depende. A documentação oficial do ProxyChains observa explicitamente isso como uma limitação conhecida.
Aqui está a maneira correta de rotear o Firefox através do Tor:
Passo 1: Confirmar que o Tor está rodando
sudo systemctl status tor
Se não estiver rodando, inicie-o com:
sudo systemctl start tor
Passo 2: Configurar o Firefox manualmente
Abra o Firefox e siga estes passos:
- Clique no botão de menu (três linhas horizontais) no canto superior direito.
- Selecione Configurações (ou Preferências em alguns sistemas).
- Role para baixo até a seção Configurações de Proxy e clique no botão Configurar Proxy.
- Na caixa de diálogo que aparecer, selecione Configuração manual de proxy.
- No campo Host SOCKS, digite
127.0.0.1e na Porta9050. - Selecione SOCKS v5 como a versão do SOCKS.
- Mais importante: marque a caixa que diz Proxy DNS ao usar SOCKS v5. Isso evita vazamentos de DNS.
Passo 3: Verificar a configuração (Opcional)
Para uma verificação avançada, digite about:config na barra de endereços do Firefox e aceite o aviso. Pesquise por estas configurações e confirme se correspondem:
network.proxy.typedeve ser1(Configuração manual de proxy)network.proxy.socksdeve ser127.0.0.1network.proxy.socks_portdeve ser9050network.proxy.socks_versiondeve ser5network.proxy.socks_remote_dnsdeve sertrue
Passo 4: Testar sua configuração
Navegue para https://check.torproject.org/ no Firefox. Se configurado corretamente, a página exibirá "Congratulations. This browser is configured to use Tor."
Esta abordagem de configuração manual é muito mais confiável do que usar proxychains com o Firefox. Sua configuração do proxychains ainda funciona perfeitamente para ferramentas de linha de comando como curl, wget e nmap.
Considerar um proxy comercial (Opcional)
O proxy Tor padrão é gratuito e funciona bem para tarefas focadas em privacidade. No entanto, a rede Tor pode ser mais lenta do que proxies comuns, e alguns sites bloqueiam ou limitam conexões de nós de saída do Tor.
Se você precisar de velocidades mais rápidas, uma conexão estável ou um endereço IP dedicado, pode substituir a entrada do Tor no seu ProxyList por um proxy SOCKS5 ou HTTP de um provedor comercial. Dependendo do provedor e do tipo de proxy, esses serviços podem oferecer melhor desempenho e podem ser menos propensos a encontrar bloqueios do que o Tor.
Por exemplo, provedores como Proxy-Seller oferecem proxies HTTP, HTTPS e SOCKS5 que funcionam com o Proxychains. Independentemente do provedor escolhido, compare recursos como tipo de proxy, localizações dos servidores, métodos de autenticação, uptime e preços antes de comprar. Também é uma boa ideia testar o serviço e ler avaliações independentes para garantir que atenda às suas necessidades.
A diferença entre SOCKS4 e SOCKS5
Ao configurar proxies, você encontrará tanto SOCKS4 quanto SOCKS5. Aqui está o motivo pelo qual o SOCKS5 é geralmente preferido:
O SOCKS5 suporta UDP no nível do protocolo, mas o ProxyChains roteia apenas conexões TCP, independentemente do tipo de proxy configurado. A capacidade UDP do SOCKS5 não é acessível através do ProxyChains.
O SOCKS5 é preferido com o ProxyChains principalmente porque suporta resolução de DNS completa do lado do proxy (usada pela diretiva proxy_dns), autenticação e endereçamento IPv6.
Como o ProxyChains se compara a uma VPN?
Você pode se perguntar por que usaria o ProxyChains quando uma VPN parece mais simples. Ambas as ferramentas melhoram o anonimato, mas funcionam de maneiras muito diferentes.
Uma VPN cria um túnel criptografado em todo o sistema que roteia todo o seu tráfego de internet através do servidor dela. É uma abordagem de tudo ou nada que fornece criptografia forte e boa velocidade. No entanto, você precisa confiar que seu provedor de VPN não irá registrar sua atividade.
O ProxyChains funciona no nível da aplicação. Ele força apenas programas específicos (como curl ou nmap) através de uma cadeia de proxies, enquanto outras aplicações permanecem inalteradas. Isso oferece controle refinado, mas não oferece criptografia por si só. Seu anonimato depende inteiramente dos proxies que você usa.
Em termos de velocidade, uma VPN moderna é tipicamente muito mais rápida porque usa protocolos otimizados como WireGuard. O ProxyChains pode ser visivelmente mais lento, especialmente se você encadear múltiplos proxies ou usar a rede Tor, que salta o tráfego através de vários nós ao redor do mundo.
Resumindo: Use uma VPN quando quiser proteção rápida e criptografada para tudo. Use o ProxyChains quando precisar rotear ferramentas específicas através de uma cadeia de proxies personalizada, como para pesquisa OSINT ou testes de penetração.
Dicas de configuração avançada
Usar múltiplos proxies em uma cadeia
Você pode encadear múltiplos proxies para anonimato extra. Tenha em mente que adicionar mais proxies aumenta o anonimato, mas reduz a velocidade e aumenta a chance de falhas de conexão. Adicione todos eles à seção [ProxyList]:
[ProxyList]
socks5 192.168.1.10 1080
http 192.168.1.20 8080
socks5 192.168.1.30 1080
Adicionar proxies com autenticação
Se seus proxies exigirem autenticação, inclua o nome de usuário e a senha:
socks5 proxy.example.com 1080 username password
Excluir redes locais
Você pode excluir faixas de IP específicas de serem roteadas pelo proxy usando a diretiva localnet:
localnet 127.0.0.0/255.0.0.0
localnet 192.168.0.0/255.255.0.0
Solução de problemas do ProxyChains
Se as coisas não estiverem funcionando, tente estes passos:
- Verificar o status do Tor:
sudo systemctl status tor - Usar modo verboso:
proxychains curl -v https://check.torproject.org - Verificar sua lista de proxies: Certifique-se de que os endereços e portas estão corretos
- Reiniciar o Tor:
sudo systemctl restart tor - Verificar o caminho do arquivo de configuração: Execute
proxychains4 --helppara ver qual arquivo de configuração está sendo usado - Para problemas com o Firefox: Lembre-se de que o Firefox precisa de configuração manual de proxy, não de
proxychains, devido ao uso de módulos carregados dinamicamente que ignoram os hooks LD_PRELOAD
Perguntas frequentes (FAQ)
P: O Proxychains é gratuito? R: Sim. O Proxychains é um software de código aberto e gratuito para usar.
P: O Proxychains suporta SOCKS5? R: Sim. O Proxychains suporta proxies SOCKS4, SOCKS5 e HTTP.
P: Posso usar o Proxychains com SSH? R: Sim. Basta prefixar o comando com Proxychains:
proxychains ssh user@host
P: O Proxychains funciona com todas as aplicações? R: Não. Ele funciona principalmente com aplicações que usam conexões TCP.
P: Qual é a diferença entre Proxychains e uma VPN? R: Uma VPN roteia o tráfego no nível do sistema ou da rede. O Proxychains roteia o tráfego de aplicações específicas através de proxies configurados.
Conclusão
O ProxyChains é uma ferramenta poderosa para roteamento anônimo de rede. Ele oferece controle refinado sobre quais aplicações usam proxies. No entanto, lembre-se de que ele lida apenas com tráfego TCP e não criptografa seus dados. Para privacidade completa, sempre combine-o com criptografia (como Tor ou uma VPN).
A beleza do ProxyChains está na sua simplicidade. Uma vez configurado, qualquer ferramenta de linha de comando se torna ciente de proxy com apenas alguns caracteres extras. Combinado com uma fonte de proxy confiável como o Tor, ele fornece uma base sólida para navegação anônima e testes de rede.
Lembre-se: sempre use essas ferramentas de forma ética e responsável. O ProxyChains é uma ferramenta de rede poderosa. Você deve usá-la para proteger seu anonimato, não para violar o dos outros.



