Anonimato usando o Proxy chains
Anonimato usando o Proxy chains
Cada vez que enviamos um pacote para um alvo, esse pacote contém o
nosso endereço IP no cabeçalho. Quando fazemos uma conexão, o sistema de
destino registrará nosso endereço IP.
Uma vez que todas as conexões ficam registradas, para executar um
ataque, anonimamente, com a menor chance de detecção, precisamos usar
uma máquina intermediária cujo endereço IP será deixado no sistema de
destino. Isso pode ser feito usando proxies.
Não conheço tradução para proxy, seria algo como “procurador“, “representante“, – uma máquina que assina pela sua, digamos assim.
Os proxies são projetados para aceitar
nosso tráfego e, em seguida, encaminhá-lo para o alvo escolhido.
Naturalmente, o proxy poderá registrar nosso tráfego, mas um
investigador teria que obter uma intimação ou mandado de busca para
obter os logs. Pela dificuldade que vários países, até mesmo os EUA, têm
para obter informações da Suécia e da Rússia, recomendo a inclusão de
pelo menos um proxy desses países ao escolher a sua cadeia de proxies.
Se encadeamos múltiplos proxies, tornamos mais difícil a detecção do
nosso endereço IP original. Se um desses proxies estiver fora da
jurisdição da vítima, torna muito improvável que qualquer tráfego possa
ser atribuído ao nosso endereço IP.
Tanto o Kali quanto o BackTrack têm uma excelente ferramenta para “proxiar” nosso tráfego, chamada proxychains. Vou mostrar como usar essa ferramenta simples, mas poderosa, para depois podermos brincar com o nmap e outras ferramentas, tais como SSH, telnet, wget, ftp, apt, vnc,…
INSTALANDO EM 4 PASSOS
Como foi dito, o Kali Linux já vem com todas essas ferramentas (Nmap, TOR e Proxychains) instaladas, no entanto, vou aproveitar este post para instalar no meu Ubuntu; são apenas 4 etapas que podem ser usadas em qualquer distribuição baseada em Debian.
Instalar o Nmap
Para instalar o Nmap, usei a linha de comando abaixo:
sudo apt install nmap
Instalar TOR
Tor é o software mais utilizado no mundo
para proteger a privacidade enquanto navega na internet e às vezes para
acessar a deep/dark web. Assim, para proteger sua privacidade, basta
baixar e instalar o navegador Tor em https://www.torproject.org . Mas, neste post, usei a linha de comando.
Para instalá-lo, digitei o seguinte comando:
sudo apt install tor
Instalar Proxychains
Para instalar digitei:
sudo apt install proxychains
Agora que todas essas ferramentas estão instaladas, posso começar a trabalhar anonimamente.
sudo proxychains nmap -sT example.com
Testando o Proxychains
proxychains firefox https://www.whatismyip.com/

Como se eu estivesse em Roubaix, na França!!
Localizando o Proxychains
Abrir o terminal e digitar
locate proxychains
Como podemos ver, o proxychains está no diretório /usr/bin. Como o /usr/bin está em nossa variável PATH, podemos usá-lo de qualquer diretório. Isto é exatamente o que desejamos, pois usamos proxychains com outros comandos que, provavelmente, NÃO estarão na variável PATH.

A sintaxe para o comando proxychains é simples e direta.
proxychains
Logo, usando o proxychains para escanear um site com o nmap, anonimamente, eu posso digitar:
proxychains nmap -sS
Configurando o Proxychains
Como em quase todas as aplicações Linux/Unix, a configuração é
gerenciada por um arquivo de texto simples chamado arquivo de
configuração. No caso de proxychains, este arquivo é /etc/proxychains.conf. Podemos abri-lo no leafpad (um editor de texto para Linux bastante parecido com o Notepad do Windows) ou em qualquer outro editor de texto (vi, emacs, gedit, kwrite, etc.), digitando:
leafpad /etc/proxychains.conf
Como o mostrado abaixo, se rolarmos para baixo, veremos uma seção “add proxy list here…” (adicionar lista de proxy aqui …).

Para o proxychains usar proxies intermediários,
simplesmente precisamos adicionar os endereços IP dos proxies que
queremos usar aqui. É importante observar que o proxychains usa o Tor como padrão.
Observe que, a última linha na imagem acima, está direcionando o proxychains para enviar o tráfego primeiro através de nosso host em 127.0.0.1 na porta 9050 (a configuração Tor padrão). Se você estiver usando Tor, deixa isso como está. Se você não estiver usando Tor, você precisará comentar essa linha (apenas inserir # no começo dela)
Mesmo gostando da rede Tor, acho que é muito lenta e, agora sabemos
que a NSA tem quebrado a sua criptografia desde que o FBI, acho que em
2013, derrubou o Silk Road e o Dread Pirate Roberts, estou com algumas restrições ao escolhê-lo como opção para o anonimato.
Agora que coloquei um proxy entre minha máquina e qualquer alvo, vou testar fazendo uma varredura, anonimamente, com o nmap ao http://www.universal.org/ através de um proxy. O comando é o seguinte:
proxychains nmap -sS 31.13.85.36

Como se ver na imagem acima, houve êxito no escaneamento, através do proxy escolhido, e os resultados retornaram.
Aproveito para adiantar…
Os seis estados de porta reconhecidos pelo Nmap
isto está muito bem explicado em https://nmap.org/man/pt_BR/man-port-scanning-basics.html :
- aberto (open)
Uma aplicação está ativamente aceitando conexões TCP ou pacotes UDP nesta porta. Encontrar esse estado é frequentemente o objetivo principal de um escaneamento de portas. Pessoas conscientes sobre a segurança sabem que cada porta aberta é um convite para um ataque. Invasores e profissionais de avaliação de segurança querem explorar as portas abertas, enquanto os administradores tentam fechar ou proteger com firewalls sem bloquear usuários legítimos. Portas abertas são também interessantes para scans não-relacionados à segurança pois mostram os serviços disponíveis para utilização na rede. - fechado (closed)
Uma porta fechada está acessível (ela recebe e responde a pacotes de sondagens do Nmap), mas não há nenhuma aplicação ouvindo nela. Elas podem ser úteis para mostrar que um host está ativo em um determinado endereço IP (descoberta de hosts, ou scan usando ping), e como parte de uma detecção de SO. Pelo fato de portas fechadas serem alcançáveis, pode valer a pena escanear mais tarde no caso de alguma delas abrir. Os administradores deveriam considerar o bloqueio dessas portas com um firewall. Então elas apareceriam no estado filtrado, discutido a seguir. - filtrado (filtered)
O Nmap não consegue determinar se a porta está aberta porque uma filtragem de pacotes impede que as sondagens alcancem a porta. A filtragem poderia ser de um dispositivo firewall dedicado, regras de roteador, ou um software de firewall baseado em host. Essas portas frustram os atacantes pois elas fornecem poucas informações. Às vezes elas respondem com mensagens de erro ICMP tais como as do tipo 3 códigos 13 (destino inalcançável: comunicação proibida administrativamente), mas os filtros que simplesmente descartam pacotes sem responder são bem mais comuns. Isso força o Nmap a tentar diversas vezes só para o caso de a sondagem ter sido descartada por congestionamento da rede ao invés de filtragem. Isso reduz a velocidade do scan dramaticamente. - não-filtrado (unfiltered)
O estado não-filtrado significa que uma porta está acessível, mas que o Nmap é incapaz de determinar se ela está aberta ou fechada. Apenas o scan ACK, que é usado para mapear conjuntos de regras de firewall, classifica portas com este estado. Escanear portas não-filtradas com outros tipos de scan, tal como scan Window, scan Syn, ou scan FIN, podem ajudar a responder se a porta está aberta. - open|filtered
O Nmap coloca portas neste estado quando é incapaz de determinar se uma porta está aberta ou filtrada. Isso acontece para tipos de scan onde as portas abertas não dão nenhuma resposta. A falta de resposta também pode significar que um filtro de pacotes descartou a sondagem ou qualquer resposta que ela tenha provocado. Portanto não se sabe com certeza se a porta está aberta ou se está sendo filtrada. Os scans UDP, IP Protocol, FIN, Null, e Xmas classificam portas desta forma. - closed|filtered
Este estado é usado quando o Nmap é incapaz de determinar se uma porta está fechada ou filtrada. É apenas usado para o scan IPID Idle scan.
Agora que tenho o proxychains funcionando,
vou configurar outras opções que para aumentar o nível do meu anonimato.
Anteriormente usei um único proxy. Agora vou configurar vários proxies e
usar todos eles, posso usar uma lista sequencial ou uma lista em que a
ordem dos proxies se alteraram aleatoriamente. Vou mostrar essas opções.
Adicionando mais Proxies
Existem centenas de sites com listas de proxies por país, basta fazer uma busca no Google; eu fui obter alguns em http://proxydb.net/ . Escolhi uns High Anonymous
Nota Importante:
Não sabemos quem fez e mantém o proxy que você está prestes a se
conectar. Eles podem estar vendo tudo o que você está fazendo durante a
conexão ou pior ainda. Também suspeito que eles estão sendo usados (os
proxies) como um tipo de honeypot para monitorar as pessoas fogem da
TOR. Um honeypot é um computador decoy (para atrair os
cibercriminosos que procuram obter acesso não autorizado às
informações) para capturar hackers. Montar o seu próprio proxy seria o
ideal.
Agora, vou adicionar mais proxies à lista abrindo o /etc/proxychains.conf e adicionando mais IPs de proxy como mostrado abaixo.

Como já tenho vários IPs no proxychain.conf, posso configurar o encadeamento dinâmico
que me permitirá passar o tráfego por todos os proxies da lista e, se
um deles estiver inativo ou não responder, será automaticamente
encaminhado para o próximo da lista sem gerar qualquer erro.
Para fazer isso, vou abrir o arquivo de configuração proxychains
novamente e descomentar a linha “dynamic_chains”. Isso permitirá o
encadeamento dinâmico de nossos proxies permitindo maior anonimato.

Encadeamento aleatório
Finalmente, também posso usar o “encadeamento aleatório”. Com esta opção, o proxychains irá escolher, aleatoriamente, os endereços IP da lista e usá-los para criar o proxychain. Isso significa que cada vez que eu usar o proxychains, a cadeia de proxies será diferente, dificultando o meu rastreamento.
Para isso, abri o arquivo /etc/proxychains.conf e
comentei “cadeias dinâmicas” e descomentei “cadeia aleatória”. Como só
posso usar uma dessas opções de cada vez, certifiquei-me de comentar as
outras opções nesta seção.
Além do mais, posso também, descomentar a linha com “chain_len”. Isso
determinará quantos endereços IP serão usados na cadeia proxy
aleatória.

Agora posso “brincar” com relativo anonimato. Digo relativo, porque
não há nenhuma maneira infalível de permanecer anônimo. Tudo o que
podemos fazer é tornar a detecção muito mais difícil, e o proxychains pode fazer isso para mim.
Para escolher um alvo, o leitor pode recorrer ao Shodan.
Comentários
Postar um comentário