A experiência de ressuscitar um tracker de torrent morto e encontrar 3 milhões de peers
(kianbradley.com)- Ao investigar por que o download de uma ISO Linux estava lento, foi constatado que vários trackers BitTorrent haviam desaparecido, e foi feito um experimento para ver quantos clientes voltariam se um domínio de tracker morto fosse registrado novamente
- O alvo foi
udp://open.demonii.si:1337/announce; o domínio.sifoi comprado na Dynadot, conectado a uma VPS, e o opentracker foi executado na porta 1337 - Mesmo antes de ligar o tracker, já chegavam solicitações em massa à porta UDP 1337, e cerca de 1 hora depois foram observados aproximadamente 1,73 milhão de torrents e 3,15 milhões de peers
- As estatísticas incluíam peers 3,155,701, seeds 1,342,504, completed 244,224, UDP overall 58,843,612 etc., mostrando que URLs antigas de tracker ainda permanecem nas configurações de muitos clientes
- Não está claro se manter apenas a infraestrutura do tracker, sem anúncios nem oferta de arquivos
.torrent, configura indução à violação de direitos autorais, mas o autor do experimento desligou a VPS e apagou o domínio por receio do rastro de pagamento no cartão de crédito
Experimento de registrar um domínio de tracker morto
- Na aba
Trackersdo qBittorrent, foi confirmado que vários trackers estavam com host down ou com domínios fora de uso - No BitTorrent, o tracker é um componente central que informa quais outros peers participam do torrent
- Essa estrutura deixa um ponto de centralização dentro do protocolo BitTorrent
- Se o tracker deixa de ser mantido ou fica offline, torna-se difícil encontrar peers por esse caminho
- Como alternativa existe o Mainline DHT, mas esse método também tem limitações
- Depende de bootstrap nodes
- É vulnerável a Sybil attack
- No torrent que o autor estava baixando, o DHT também não conseguiu encontrar peers
Recuperação do open.demonii.si e resultados observados
- Foi registrado o domínio
udp://open.demonii.si:1337/announce, que estava fora de uso- O domínio foi comprado na Dynadot
- Foi preparada uma VPS e o domínio foi mapeado para ela
- Foi usado o opentracker como software de tracker
- No Ubuntu 24.04, foram instalados
gcc-14,g++-14,build-essentialezlib1g-dev - Primeiro foi feito o build da libowfat e depois o do opentracker
- Em uma unit do systemd, foi executado
opentracker -p 1337 -P 1337
- No Ubuntu 24.04, foram instalados
- Mesmo antes de iniciar o opentracker, grande volume de tráfego já chegava à porta UDP 1337
- Cerca de 1 hora depois, a página de estatísticas
http://open.demonii.si:1337/stats?mode=everythingconfirmou conexões em larga escala- torrents:
count_mutex1,735,538,count_iterator1,735,523 - peers: 3,155,701
- seeds: 1,342,504
- completed: 244,224
- TCP accept 21,532, announce 20,219, scrape 263
- UDP overall 58,843,612, connect 18,321,703, announce 33,160,261, scrape 3,211,543, missmatch 4,116,689
- torrents:
Risco legal e encerramento do experimento
- O aspecto legal não é claro
- Em casos como o do The Pirate Bay, exposição de filmes populares, venda de anúncios e oferta de arquivos
.torrentforam tratados como evidências de inducement à violação de direitos autorais - Já operar apenas a infraestrutura de tracker, sem anúncios, continua sendo uma questão mais difícil de provar como inducement
- Tanto torrents distribuídos livremente quanto torrents com conteúdo protegido por direitos autorais podem usar esse tracker
- Em casos como o do The Pirate Bay, exposição de filmes populares, venda de anúncios e oferta de arquivos
- Como o domínio foi pago com cartão de crédito, isso continuou sendo uma preocupação, então o autor encerrou a VPS e apagou o domínio
- Após o experimento, o domínio
open.demonii.sivoltou a ficar disponível para registro
- Após o experimento, o domínio
1 comentários
Comentários do Hacker News
Se você não estiver de fato hospedando um tracker, mas apenas observando as conexões de entrada, não vejo por que isso deveria ser ilegal
Mesmo que você opere um tracker, é difícil dizer que o tracker em si seja ilegal. Hospedar algo como o opentrackr é parecido com hospedar um mecanismo de busca; o ponto central é como você responde a solicitações legais de remoção e que intenção a infraestrutura ao redor do tracker demonstra. Um tracker é um software de servidor de coordenação bastante simples, então seria estranho se isso por si só fosse ilegal
O fato de o software em execução ser “simples” não é defesa contra um ato ilegal, por exemplo ajudar no crime de outra pessoa. Nos EUA há algumas cláusulas de imunidade relacionadas a internet/direitos autorais que talvez façam com que isso não seja crime, mas provavelmente não, e não sou advogado. Ao ouvir “ajudar no crime de alguém”, o correto é partir do pressuposto de que “isso em si provavelmente também é crime”
Talvez seja hora de olhar para isso de novo. No fim, é só uma questão de como impor DRM, e hoje há muitas formas de resolver licenciamento, então não parece necessário que a indústria se preocupe tanto assim
“Depois iniciei o tracker. Cerca de uma hora depois, disparou para 1,7 milhão de torrents diferentes em 3,1 milhões de peers!”
Se você não responder a pedidos de remoção, provavelmente fica mais perto do lado ilegal; se responder aos pedidos de remoção e colocar os hashes em uma lista negra, em geral é provável que esteja tudo bem. Claro, depende da jurisdição e de como o ato de associar hashes a IP:PORT é tratado: distribuição, cumplicidade ou alguma outra coisa. O caso do TPB pode servir de exemplo. Conheço alguém que operou um tracker bem grande por alguns anos; quando chegavam pedidos de remoção, ele colocava o hash correspondente na lista negra, e até agora nada aconteceu
Como há tantos clientes BitTorrent diferentes e muitas implementações foram escritas em linguagens não seguras, fico me perguntando se não seria possível atacar alguns clientes por meio de um tracker malicioso
Se o tracker enviar dados malformados, não seria surpresa se alguns clientes se comportassem mal
Mesmo com uma linguagem com segurança de memória é difícil criar um cliente que funcione corretamente; implementá-lo corretamente em C ou C++ inevitavelmente é bem complicado
A API relacionada a announce é relativamente fácil de implementar, mas é difícil garantir que tenha sido implementada em um ambiente com testes de fuzzing. Por exemplo, o Transmission teve várias vulnerabilidades ao longo dos anos, e não sei quanto às implementações de outros clientes
No passado, mantive por pouquíssimo tempo um tracker privado para explorar a ideia de assistir vídeos juntos via P2P
Era algo no nível de brinquedo, então não me aprofundei em como trackers funcionam, e usei o tracker Aquatic em Rust. Quando pedi, eles gentilmente adicionaram suporte a webtorrent https://github.com/greatest-ape/aquatic
Um tracker sabe o que está rastreando? Há tentativas de fazer com que o tracker organize o encontro entre peers sem conhecer o conteúdo?
Minha intuição é que as pessoas procuram peers com base em algum hash/magnet, e o próprio magnet já basta, sem necessidade de incluir informações identificáveis. Claro, sei que muitos links magnet incluem descrições legíveis por humanos. O tracker poderia tentar baixar esse hash dos peers para obter as informações do torrent, mas, se não baixar diretamente, parece difícil saber de fato o que é o torrent ou o que há dentro dele
Esse entendimento está correto? Quanto do link magnet é essencial para organizar o encontro? Um tracker poderia ignorar os campos legíveis por humanos ou bloqueá-los na etapa de entrada para se manter às cegas?
Pegando como exemplo o software escolhido no post original, o opentracker, ele pode ser executado tanto em modo de lista branca quanto em modo de lista negra. O primeiro é autoexplicativo; o segundo permite todos os hashes exceto os que estão na lista negra. Trackers públicos como torrent.eu ou opentrackr.org operam sempre no modelo de lista negra, para que qualquer pessoa possa se reunir em torno de praticamente qualquer conteúdo
Há uma lista mestre de trackers atualizada diariamente aqui, então talvez dê para encontrar outros trackers mortos também https://github.com/ngosang/trackerslist
Em outras palavras, isso significa que, apenas com o custo de registrar um domínio e publicar um registro DNS específico, é possível fazer DDoS contra um IP arbitrário
Os clientes BitTorrent que usei se comportavam de forma bastante educada e recuavam por pelo menos uns 60 segundos para cada tracker ao qual não conseguiam se conectar. Mesmo que alguém compre o domínio de um tracker morto e o aponte para o IP de outra pessoa, se esse serviço não estiver escutando na porta em que o cliente tenta se conectar e, mesmo que por acaso a porta coincida, não falar BitTorrent, é difícil imaginar que 1 milhão de clientes BitTorrent tentando se conectar causariam um problema tão grande
É parecido com quando a Cloudflare ficou com o endereço IP 1.1.1.1. Assim que ele foi ativado, viram um tráfego enorme, porque muita gente apontava para esse endereço em scripts
Meu primeiro pensamento foi: quantos clientes BitTorrent têm código de parsing vulnerável?
Alguém malicioso poderia registrar o domínio e infectar os clientes?
Basicamente, a estrutura é enviar uma chamada HTTP ao tracker e receber uma resposta. O que me vem à cabeça de imediato é retornar bencode inválido para causar esgotamento de memória em clientes escritos por iniciantes. Como alvos de ataque, o protocolo de peers e variantes como uTP são muito mais interessantes, e nem é preciso hospedar um tracker para isso. Basta obter IPs de peers em um tracker ou na DHT, conectar-se a eles e realizar o ataque desejado
É simples. Basta registrar o domínio em países como Rússia, China ou Irã e rodar o site na Alibaba
Diga para tentarem mandar papelada jurídica para a Rússia ou a China. Com certeza vai dar tudo certo
Também precisamos avisar o pessoal do TOR sobre essa descoberta. Agora dá para fechar a darknet e mover tudo para a China
Não daria para encaminhar para outro tracker público? Assim você não hospeda nada e, se receber cartas jurídicas, manda falarem com o tracker público
Não sou advogado, mas, pelo que entendo, operar um tracker neutro em relação ao conteúdo nos EUA é legal
Em outras jurisdições certamente pode não ser, o VPS também pode estar em outra jurisdição, e o TLD .si definitivamente está em outra jurisdição
Provavelmente houve outros. Com certeza houve mais casos civis em que a MPAA e outros entraram com ações por indenização. Nos EUA talvez seja um pouco mais difícil provar, mas, se for um tracker em que a maior parte do que está registrado é conteúdo protegido por direitos autorais, estou bastante certo de que ele também pode ser fechado nos EUA
Praticamente qualquer pessoa que viveu online na Eslovênia nos últimos 20 anos o conhecia ou já tinha usado. E esse tracker não desapareceu por causa de notificações legais