
Tallow - Tor Transparente para Windows
Tallow é um pequeno programa que redireciona todo o tráfego de saída de uma máquina Windows através da rede de anonimato Tor. Qualquer tráfego que não possa ser tratado pelo Tor, por exemplo UDP, é bloqueado. Tallow também intercepta e lida com pedidos DNS, prevenindo potenciais vazamentos.
Tallow tem várias aplicações, incluindo:
Note que, por si só, o Tallow não foi projetado para ser uma solução completa de anonimato forte. Veja os avisos abaixo.
Usando a GUI do Tallow, basta pressionar o grande botão "Tor" para começar a redirecionar o tráfego através da rede Tor. Pressione o botão novamente para parar o redirecionamento do Tor. Note que sua conexão com a Internet pode ser temporariamente interrompida cada vez que alternar o botão.
Para testar se o redirecionamento do Tor está funcionando, por favor visite o seguinte site: https://check.torproject.org.
Tallow usa a seguinte configuração para se conectar à Internet:
+-----------+ +-----------+ +----------+
| PC |------->| TOR |------->| SERVER |
| a.b.c.d |<-------| a.b.c.d |<-------| x.y.z.w |
+-----------+ +-----------+ +----------+
Aqui (a.b.c.d) representa o endereço local, e (x.y.z.w) representa um servidor remoto.
Tallow usa WinDivert para interceptar todo o tráfego de/para o seu PC. Tallow lida com dois tipos principais de tráfego: tráfego DNS e streams TCP.
Consultas DNS são interceptadas e tratadas pelo próprio Tallow. Em vez de encontrar o endereço IP real de um domínio, Tallow gera um "falso" domínio pseudoaleatório (no intervalo 44.0.0.0/24) e usa esse endereço na resposta da consulta. O falso-IP também é associado ao domínio e registrado numa tabela para referência futura. A alternativa seria consultar o IP real através do Tor (que suporta DNS). No entanto, como Tallow usa SOCKS4a, o IP real não é necessário. Lidar com pedidos DNS localmente é significativamente mais rápido.
Conexões TCP também são interceptadas. Tallow "reflete" conexões TCP de saída em conexões SOCKS4a de entrada para o programa Tor. Se a conexão for para um falso-IP, Tallow consulta o domínio correspondente e usa este para a conexão SOCKS4a. Caso contrário, a conexão é bloqueada (por padrão) ou uma conexão direta SOCKS4 via Tor é usada. Conectar TCP a SOCKS4(a) é possível com um pouco de mágica (veja redirect.c).
Todo o resto do tráfego é simplesmente bloqueado. Isso inclui todo o tráfego de entrada (não-Tor) e tráfego de saída que não seja TCP nem DNS. Além disso, Tallow bloqueia todos os domínios listados no ficheiro hosts.deny. Isso inclui domínios como atualização do Windows, telemetria do Windows e alguns servidores de anúncios comuns, para ajudar a evitar desperdício de largura de banda do Tor. É possível editar e personalizar o seu ficheiro hosts.deny conforme entender.
Tallow foi derivado do protótipo TorWall (onde "tallow" é um anagrama de "torwall" menos o 'r').
Tallow funciona de forma ligeiramente diferente e visa redirecionar todo o tráfego em vez de apenas a porta HTTP 80. Além disso, ao contrário do protótipo, Tallow não usa Privoxy nem altera o conteúdo de qualquer stream TCP de forma alguma (veja avisos abaixo).
Para compilar Tallow, você precisa do compilador cruzado MinGW para Linux.
Você também precisa baixar e colocar as seguintes dependências externas no diretório contrib/:
Depois, basta executar o script build.sh.
Atualmente, Tallow não faz nenhuma tentativa de anonimizar o conteúdo do tráfego enviado através da rede Tor. Esta informação pode ser usada para desanonimizá-lo. Veja este link para mais informações. Tallow não deve ser usado como garantia de anonimato forte a menos que você saiba o que está a fazer.