Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
browsertunnel — Exfiltrar sorrateiramente dados do navegador via DNS | Kitploit
Ferramentas/GitHubGitHub/veggiedefender/browsertunnel
Exfiltração de DadosSegurança WebRed TeamingAnálise de DNS
GitHubveggiedefender/browsertunnel

browsertunnel

Exfiltrar sorrateiramente dados do navegador via DNS

Ver RepositórioSite
4223013há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

browsertunnel

CircleCI

O Browsertunnel é uma ferramenta para exfiltrar dados do navegador usando o protocolo DNS. Ele faz isso abusando do dns-prefetch, um recurso que visa reduzir a latência percebida de sites ao realizar consultas DNS em segundo plano para domínios especificados. O tráfego DNS não aparece nas ferramentas de depuração do navegador, não é bloqueado pela Política de Segurança de Conteúdo (CSP) de uma página e muitas vezes não é inspecionado por firewalls ou proxies corporativos, tornando-o um meio ideal para contrabandear dados em cenários restritos.

É uma técnica antiga — o tunelamento DNS em si remonta aos anos 90, e Patrick Vananti escreveu sobre o uso do dns-prefetch para isso em 2016, mas pelo que sei, o browsertunnel é o primeiro cliente/servidor open source e pronto para produção que demonstra seu uso. Como o dns-prefetch não retorna nenhum dado para o JavaScript do cliente, a comunicação pelo browsertunnel é apenas unidirecional. Além disso, alguns navegadores desabilitam o dns-prefetch por padrão e, nesses casos, o browsertunnel falhará silenciosamente.

O projeto é composto por duas partes:

  1. Um servidor, escrito em golang, que funciona como um servidor DNS autoritativo, coletando e decodificando mensagens enviadas pelo browsertunnel.
  2. Uma pequena biblioteca JavaScript, localizada na pasta html/, que codifica e envia mensagens do lado do cliente.

Como funciona

O Browsertunnel pode enviar strings arbitrárias via DNS codificando a string em um subdomínio, que é encaminhado ao servidor browsertunnel quando o navegador tenta resolver recursivamente o domínio.

Mensagens mais longas que não cabem em um único domínio (253 bytes) são automaticamente divididas em várias consultas, que são remontadas e decodificadas pelo servidor.

Configuração e uso

Primeiro, configure registros DNS para delegar um subdomínio ao seu servidor. Por exemplo, se o IP do seu servidor for 192.0.2.123 e você quiser fazer um túnel através do subdomínio t1.example.com, sua configuração DNS ficará assim:

root@kitploit:~
t1		IN	NS	t1ns.example.com.
t1ns		IN	A	192.0.2.123

No seu servidor, instale o browsertunnel usando go get. Alternativamente, compile o browsertunnel em sua própria máquina e copie o binário para o servidor.

root@kitploit:~
go get github.com/veggiedefender/browsertunnel

Em seguida, execute browsertunnel, especificando o subdomínio pelo qual deseja fazer o túnel.

root@kitploit:~
browsertunnel t1.example.com

Para uso completo, execute browsertunnel -help:

root@kitploit:~
$ browsertunnel -help
Usage of browsertunnel:
  -deletionInterval int
    	seconds in between checks for expired messages (default 5)
  -expiration int
    	seconds an incomplete message is retained before it is deleted (default 60)
  -maxMessageSize int
    	maximum encoded size (in bytes) of a message (default 5000)
  -port int
    	port to run on (default 53)

Para descrições mais detalhadas e justificativas desses parâmetros, consulte também o godoc.

Por fim, teste seu túnel! Você pode usar minha página de demonstração aqui ou clonar este repositório e carregar html/index.html localmente. Se tudo funcionar, você deverá ver as mensagens registradas na saída padrão.

Para aplicações reais deste projeto, você pode querer bifurcar (fork) e ajustar o código conforme necessário. Algumas inspirações:

  • Escrever mensagens em um banco de dados em vez de imprimi-las na saída padrão
  • Transpilar ou reescrever o código do cliente para funcionar com navegadores mais antigos
  • Aumentar ou diminuir a parte do ID do domínio, dependendo do volume de tráfego e das colisões de ID esperadas
  • Autenticar e criptografar mensagens para sigilo e resistência a adulteração (lembre-se de que DNS é um protocolo de texto plano)
Baixar ferramenta