Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
browsertunnel — Esfiltrare surrettiziamente dati dal browser tramite DNS | Kitploit
Strumenti/GitHubGitHub/veggiedefender/browsertunnel
Esfiltrazione DatiSicurezza WebRed TeamingAnalisi DNS
GitHubveggiedefender/browsertunnel

browsertunnel

Esfiltrare surrettiziamente dati dal browser tramite DNS

Vedi RepositorySito web
422306 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

browsertunnel

CircleCI

Browsertunnel è uno strumento per esfiltrare dati dal browser utilizzando il protocollo DNS. Ciò viene ottenuto abusando di dns-prefetch, una funzionalità intesa a ridurre la latenza percepita dei siti web eseguendo ricerche DNS in background per domini specificati. Il traffico DNS non appare negli strumenti di debug del browser, non viene bloccato dalla Content Security Policy (CSP) di una pagina e spesso non viene ispezionato dai firewall o proxy aziendali, rendendolo un mezzo ideale per contrabbandare dati in scenari vincolati.

È una tecnica vecchia: il tunneling DNS stesso risale agli anni '90, e Patrick Vananti ha scritto sull'uso di dns-prefetch per questo nel 2016, ma per quanto ne so, browsertunnel è il primo client/server open source pronto per la produzione che ne dimostra l'uso. Poiché dns-prefetch non restituisce alcun dato al javascript del client, la comunicazione tramite browsertunnel è solo unidirezionale. Inoltre, alcuni browser disabilitano dns-prefetch per impostazione predefinita, e in quei casi, browsertunnel fallirà silenziosamente.

Il progetto è composto da due parti:

  1. Un server, scritto in Golang, funge da server DNS autoritativo che raccoglie e decodifica i messaggi inviati da browsertunnel.
  2. Una piccola libreria JavaScript, situata nella cartella html/, codifica e invia messaggi dal lato client.

Come funziona

Browsertunnel può inviare stringhe arbitrarie tramite DNS codificando la stringa in un sottodominio, che viene inoltrato al server browsertunnel quando il browser tenta di risolvere ricorsivamente il dominio.

I messaggi più lunghi che non possono essere contenuti in un singolo dominio (253 byte) vengono automaticamente suddivisi in più query, che vengono riassemblate e decodificate dal server.

Configurazione e utilizzo

Per prima cosa, configura i record DNS per delegare un sottodominio al tuo server. Ad esempio, se l'IP del tuo server è 192.0.2.123 e vuoi fare tunneling attraverso il sottodominio t1.example.com, la tua configurazione DNS sarà simile a questa:

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

Sul tuo server, installa browsertunnel usando go get. In alternativa, compila browsertunnel sulla tua macchina e copia il binario sul tuo server.

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

Successivamente, esegui browsertunnel, specificando il sottodominio attraverso cui vuoi fare tunneling.

root@kitploit:~
browsertunnel t1.example.com

Per l'uso completo, esegui 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)

Per descrizioni più dettagliate e la logica di questi parametri, puoi consultare anche la godoc.

Infine, testa il tuo tunnel! Puoi usare la mia pagina demo qui o clonare questo repository e caricare html/index.html localmente. Se tutto funziona, dovresti vedere i messaggi registrati su stdout.

Per applicazioni reali di questo progetto, potresti voler fare un fork e modificare il codice come preferisci. Qualche ispirazione:

  • Scrivere i messaggi in un database invece di stamparli su stdout
  • Transpilare o riscrivere il codice client per funzionare con browser più vecchi
  • Rendere la porzione ID del dominio più grande o più piccola, a seconda del volume di traffico che ricevi e delle collisioni ID che ti aspetti
  • Autenticare e crittografare i messaggi per segretezza e resistenza alle manomissioni (ricorda che il DNS è un protocollo in chiaro)
Scarica lo strumento