~
                           /~
                     \  \ /**
                      \ ////
                      // //
                     // //
                   ///&//
                  / & /\ \
                /  & .,,  \
              /& %  :       \
            /&  %   :  ;     `\
           /&' &..%   !..    `.\
          /&' : &''" !  ``. : `.\
         /#' % :  "" * .   : : `.\
        I# :& :  !"  *  `.  : ::  I
        I &% : : !%.` '. . : : :  I
        I && :%: .&.   . . : :  : I
        I %&&&%%: WW. .%. : :     I
         \&&&##%%%`W! & '  :   ,'/
          \####ITO%% W &..'  #,'/
            \W&&##%%&&&&### %./
              \###j[\##//##}/
                ++///~~\//_
                 \\ \ \ \  \_
                 /  /    \
               THE ONION ROUTE


Olá, hoje irei falar do tor e do tor browser e como ultilizar e como burlar sistemas para identificar que você esta usando tor.


[0x1] Como surgiu?

The Onion Route (AKA: Tor) é um sistema de roteamento Criado pela marinha americana, em meados dos anos 90, originalmente criado pelo pelo matemático Paul Syverson e pelos cientistas de computação
Michael G. Reed e David Goldschlag, assim posteriomente foi adotado para desenvolvimento pela DARPA, esse protocolo foi criado para propocionar uma anonimidade maior, antigamente nem existia esses links grandes
nem Tor Browser, e sim era apenas uma rede que era baseada em 3 nôs para relay, que basicamente ele embaralharia seu ip de origem ultilizando 3 computadores irei deixar um exemplo pratico abaixo:

As conexões tradicionalmente são feitos assim:

┌────────────────────────────────────┐
|(kitty) ----<Request>----->(Server)|
└────────────────────────────────────┘

E o tor proporciona esse tipo de conexão:

┌───────────────────────────────────────────────────────────────────────────────────┐
|(kitty) -[Guardian]---<Request>----->[Midle]----<Request>------[Exit]---> (Server)|
└───────────────────────────────────────────────────────────────────────────────────┘

mais oque isso significa? oque são esses Guardian, Midle, Exit?
Bom Vamos fazer que nem jack, e vamos por partes

O Sistema De Roteamento do TOR funciona apartir de nôs que eu irei falar abaixo cada um:
Guardian: O node De inicio, ele sim conhece seu IP, mas ele apenas repasa sua request para outro nô
Middle: Ele fica no meio entre o fim do processo e o inicio, ele não sabe seu ip e só repasa a informação ao ultimo Node
Exit: O nô final, ele é o responsavel por mandar a sua requisição para o servidor de destino, ele que vai aparecer nas logs do servidor e ele não sabe seu ip.

Falando isso você deve pensar que isso deve ser lento, mas acredite, não é tanto assim, obvio precisa de uma conexão muito rapida você com seu wifi de 10mb/s deve demorar sim para terminar esse ciclo mas não é tão lento.
Isso foi criado na epoca que era muito comum o sniffing para obter informação militares, pois não existia maneiras de criptografia basicas como SSL, então fazer esse roteamento todo ate o servidor era mais facil.

Estamos falando apenas sobre como funciona na teoria, pois isso é apenas como deve funcionar o protocolo, e não cheguei na parte de links, brigdes e etc, coisa que eu irei dar continuidade agora

[0x2] The Tor Project

O Tor Depois em um tempo, foi passado para Dominio Civil, e foi mantido e ainda é hoje, pelo grupo The Tor Project, fundado em 2006 por Roger Dingledine, Nick Mathewson e outros contribuintes.
E foi Esse grupo que criou o Tor Browser, o Navegador que fazia esse roteamento, e foi o grupo que originalizou, os DNS .onion, e a criação dos mesmos.

[0x3] Links .onion e criando um.

os dns .onion são sites que são hospedados por relays do tor, ou seja, esses sites fazem o mesmo processo para enviar pacotes só que agora, para transmitir, é meio dificil falar então irei mostrar novamente.

┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|(kitty) -[Guardian]---<Request>----->[Midle]----<Request>------[Exit]---<Request>--[Exit]---<Request>----->[Midle]----<Request>------[Guardian]----> (Server)|
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

O nodes com cores Vermelha representa a sua maquina, e a Verde os do Servidor.
Você percebe que agora ele passa por 6 requisições que isso deixa impossivel ser rastreado, pelas requisições normais. fazendo sua privacidade ser fortificada em 2 vezes.
Mais como se tem um registro .onion?
Bom o registro .onion é gerado automaticamente pelas ferramentas do tor, você mesmo pode criar um service modificando o torrc vou mostrar um exemplo modificando ele para deixar o seu ssh over tor:
┌─────────────────────────────────────────────────────────────────────────────────────────────────────┐
|root@void:~# echo "HiddenServiceDir /var/lib/tor/ssh_secret/" >> /etc/tor/torrc
|root@void:~ # echo "HiddenServicePort 22 127.0.0.1:22" >> /etc/tor/torrc
|root@void:~ # systemctl restart tor
|root@void:~ # cat /var/lib/tor/ssh_secret/hostname
|37ryqzpb7pr6gpnhjcmn54s677dapbr6szznug65xh2465wp5hk5w6qd.onion
└─────────────────────────────────────────────────────────────────────────────────────────────────────┘

	Bom agora podemos nos conectar usando o nosso domain no tor

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|root@void:~ # torsocks ssh root@37ryqzpb7pr6gpnhjcmn54s677dapbr6szznug65xh2465wp5hk5w6qd.onion
|The authenticity of host '37ryqzpb7pr6gpnhjcmn54s677dapbr6szznug65xh2465wp5hk5w6qd.onion (127.42.42.0)' can't be established.
|ED25519 key fingerprint is SHA256:LlDh46rFCuRXJ/hME5QbsO6aWB2qL1hVjn+IhuGW//4.
|This key is not known by any other names.
|Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
|Warning: Permanently added '37ryqzpb7pr6gpnhjcmn54s677dapbr6szznug65xh2465wp5hk5w6qd.onion' (ED25519) to the list of known hosts.
|root@37ryqzpb7pr6gpnhjcmn54s677dapbr6szznug65xh2465wp5hk5w6qd.onion's password:
|// Bla bla bla
|root@void:~ # exit
|Connection to 37ryqzpb7pr6gpnhjcmn54s677dapbr6szznug65xh2465wp5hk5w6qd.onion closed.
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘


[0x4] Dominios personalizados e como gerar.

Você que ja deve ter visto uns sites .onion da vida, deve ter visto que eles são conseguem pegar letras em seu dominio, como o twitter que possue o dominio em .onion como
twitter3e4tixl4xyajtrzo62zg5vztmjuricljdp2c5kshju4avyoid.onion, isso é possivel e de graça! mais vai precisar usar seu processamento ao max para conseguir algo assim.
Para gerar um dominio .onion personalizado você vai ter que brutar a url até gerar um dominio de seu agrado, e fique tranquilo pois niguem alem de você tera esse dominio, pois quando você gera um dominio
ele gera uma chave publica e privada referente a ele para valida-lo, fazendo que seja impossivel ter mais de 1 dominio existente.
Ok, e como conseguimos isso? bom, tem um projeto no github chamado: mkp224o que ele é um programa para gerar dominios para o Onion V3
Com ele sera possivel criar um dominio.

Caso você queira gerar um dominio usando isso, é facil. apenas compile o programa na sua maiquina e rode o sequinte comando:

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|root@void:~ # ./mkp224o bezu
|sorting filters... done.
|filters:
|	bezu
|in total, 1 filter
|using 12 threads
|bezu57ruwyle57tqfp2hbbosj3nvf4c6mtvcuawufuwxqmkyyakxpwad.onion
|bezuk2qaghiwftlxtxl5qa6tojcvfaz4lo6bkvhciyjypqyfteglkjqd.onion
|bezuglbdmoblax7vyv4f73rov5ceuk47ujgoy2x237jhukw3hpg4hrad.onion
|^Cwaiting for threads to finish... done.
|root@void:~ # ls | grep bezu
|bezu57ruwyle57tqfp2hbbosj3nvf4c6mtvcuawufuwxqmkyyakxpwad.onion
|bezuglbdmoblax7vyv4f73rov5ceuk47ujgoy2x237jhukw3hpg4hrad.onion
|bezuk2qaghiwftlxtxl5qa6tojcvfaz4lo6bkvhciyjypqyfteglkjqd.onion
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

em cada pasta que foi gerada tera sua chave publica e privada do dominio, para coloca-lo para funcionar apenas mova o conteudo da pasta para o diretorio do seu hidden service como eu irei fazer com o ssh_secret
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
|root@void:~ # mv bezu57ruwyle57tqfp2hbbosj3nvf4c6mtvcuawufuwxqmkyyakxpwad.onion/* /var/lib/tor/ssh_secret/
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Agora é apenas resetar o tor service e você vera que podemos acessar usando esse dominio.

[0x5] Como identificam que você usa tor? e como burlar?

Você ja tentou acessar um site tor na sua faculdade ou escola e observou que os Nodes estavam bloqueados?
isso é comum em alguns lugarem infelizmente eles deixam no firewall varios nôs do tor para impedir que você veja coisas como videos do youtube ou algo do genero.
para burlar esse tipo de proteção, podemos usar brigde no tor-browser é simples de facil, mas afinal, oque é uma brigde?
brigde é uma ponte para se conectar ao nô guardian

as conexões ficaram assim:

┌───────────────────────────────────────────────────────────────────────────────────────────────┐
|(kitty) [Brigde]--->[Guardian]---<Request>----->[Midle]----<Request>------[Exit]---> (Server)|
└───────────────────────────────────────────────────────────────────────────────────────────────┘

Existem varios tipos de Brigde

- Obsf4 [Mais comum]
- SnowFlake [Proxy Voluntaria]
- Meek Azure [Dns Da microsoft]

A Obsf4 é a mais comum para ser derrubada por ela apenas obfusca o seu trafico, ainda tem chances de ser bloqueado e não conseguir acessar
Ja O Projeto SnowFlake é totalmente voluntario, rapido e estavel, fazendo com que você use o ip de alguem de outro lugar do mundo para acessar o nô de entrada
e O Meek Azure ele usa o DNs da microsoft mais ele é muito lento para carregar coisas como video e chamadas de video, mais é otimo para navegações mais leves

Para ultilizar uma brigde va nas configurações do seu tor-browser
Va em configurações, e clique em "Set A built-in Brigde..." e selecione o timo.

Dificilmente vai ter pessoas sabendo oque você esta acessando e você sera livre para acessar sua internet sem censura!
[Inicio]