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
fraud-bridge — Strumento di tunneling ICMP, DNS e NTP per bypassare la censura, con protezione dell'integrità HMAC e clamping MSS per sessioni web efficienti su reti restrittive. | Kitploit
Strumenti/GitHubGitHub/stealth/fraud-bridge
Evasione IDS/IPSSicurezza di RetePrivacyAnti-BotAnalisi DNS
GitHubstealth/fraud-bridge

fraud-bridge

Strumento di tunneling ICMP, DNS e NTP per bypassare la censura, con protezione dell'integrità HMAC e clamping MSS per sessioni web efficienti su reti restrittive.

Vedi Repository
232471 anno 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

Intro

fraud-bridge aiuta a bypassare ambienti censori restrittivi che bloccano connessioni TCP o UDP dirette, configurando tunnel ICMP, NTP o DNS (su IPv4 o IPv6).

Corregge automaticamente l'opzione MSS del TCP per ottenere un flusso di pacchetti non frammentati (noto come MSS-clamping) per guadagnare prestazioni che consentono di usare sessioni web attraverso il bridge.

Usa MD5 per proteggere l'integrità (HMAC) del tunnel da pacchetti TCP dannosi iniettati. Se hai bisogno di privacy, devi usare tu stesso la crittografia. Si presume che tu usi SSH sul tunnel comunque. Direttamente o con l'opzione proxy SSH se hai bisogno di HTTP tunnelizzato.

Quando si usa il tunneling DNS, fraud-bridge utilizza le intestazioni di estensione EDNS0 per mettere quanti più byte possibile nella risposta TXT.

fraud-bridge include anche altre tecniche per gestire certe limitazioni di bind, ad esempio quote/limitazioni.

Puoi anche usarlo per ottenere il supporto completo al roaming/mobilità nelle tue sessioni SSH senza alcuna patch.

Una volta configurato il tunnel, potresti voler leggere come far funzionare il tuo messenger attraverso il tunnel.

Nota anche che c->skills fornisce l'intera catena di attrezzature per fregare la censura che potrebbe interessarti: crash e psc

Build

Basta eseguire make su Linux.

Esecuzione

L'uso è il seguente:

root@kitploit:~
fraud-bridge -- https://github.com/stealth/fraud-bridge

Usage: fraud-bridge <-k key> [-R IP] [-L IP] [-pP port] [-iIuUnN] [-s sz]
	[-E sz] [-d dev] [-D domain] [-S usec] [-X user] [-r dir] [-t type] [-v]

	-k -- HMAC key to protect tunnel packets
	-R -- IP or IPv6 addr of (outside) peer when started inside
	-L -- local IP addr to bind to if started outside (can be omitted)
	-p -- remote port when in DNS/NTP mode (default: 53/123)
	-P -- local port when in DNS/NTP mode (outside default: 53/123)
	-i -- use ICMP tunnel
	-I -- use ICMPv6 tunnel
	-u -- use DNS tunnel over IP
	-U -- use DNS tunnel over IPv6
	-n -- use NTP4 tunnel over IP
	-N -- use NTP4 tunnel over IPv6
	-E -- set EDNS0 size (default: 1024)
	-s -- set MSS size (default: 1024)
	-d -- tunnel device to use (default: tun1)
	-D -- DNS domain to use when DNS tunneling
	-S -- usec slowdown for DNS ping (default: 5000)
	-X -- user to run as (default: nobody)
	-r -- chroot directory (default: /var/empty)
	-t -- override ICMP/ICMP6 type (usually no need to change)
	-v -- enable verbose mode

Alcune definizioni: inside si riferisce alla macchina all'interno della rete censurata, molto probabilmente il tuo laptop/PC. outside si riferisce a un VPS o una macchina al di fuori della rete censurata, cioè ciò che le persone chiamano "internet libero".

Dopo l'avvio, fraud-bridge apre un tunnel punto-punto: 1.2.3.4 <-> 1.2.3.5

Quindi devi avviare inside.sh sul lato inside e outside.sh sul lato outside.

Si presenta così:

Sul lato outside del tunnel (es. un server su internet):

root@kitploit:~
# ./fraud-bridge -u -L 192.168.2.222 -D f.sub.dnstunnel.com -k key

(e avviando outside.sh)

E sul lato inside:

root@kitploit:~
# ./fraud-bridge -u -R 127.0.0.1 -D f.sub.dnstunnel.com -k key

(e avviando inside.sh)

come esempio per un tunnel DNS con un named locale su 127.0.0.1 in esecuzione e il peer outside su 192.168.2.222. Come detto, la parte outside del tunnel può (e in realtà deve) essere avviata prima e si metterà in ascolto che il peer apra il tunnel. Sono inclusi file di zona di esempio se vuoi sperimentare con le tue configurazioni bind. Per far funzionare tunnel ITW non sono necessari.

Il dispositivo tunnel predefinito è tun1. Assicurati di non eseguire più istanze di fraud-bridge contemporaneamente né altro software tunnel che stia usando questo dispositivo tunnel. Dopo ogni kill/riavvio del demone fraud-bridge devi eseguire di nuovo gli script inside/outside sull'estremità specifica dove lo hai riavviato.

Note importanti

Il parametro -L sul lato outside può (dovrebbe) essere omesso. In configurazioni reali, il parametro -R sulle configurazioni inside contiene l'IP o l'indirizzo IP6 del server outside, oppure se viene usata la ricorsione DNS, l'indirizzo IP del server DNS del tuo provider o di un resolver DNS pubblico ricorsivo. Se non hai un tuo server DNS, puoi comunque usare il tunneling DNS usando l'IP del tuo VPS come parametro -R sul lato inside e usando un qualsiasi dominio (ma lo stesso) parametro -D su entrambi i lati che sembri legittimo per un regime di censura, ad es. -D blah.gov.

Prima di provare il tunneling DNS, molto probabilmente vorrai provare con il tunneling ICMP o NTP. Se vedi avvisi chroot nel syslog, puoi ignorarli o fornire argomenti validi a -r.

Puoi quindi usare ssh -D 1234 1.2.3.5 per ottenere una connessione SSH a 192.168.2.222 nell'esempio sopra e usare il proxy SOCKS5 sulla porta :1234 per la sessione del tuo browser web che quindi viaggia attraverso il tunnel.

Puoi farlo anche con ICMP: -i e ICMP su IPv6: -I o DNS su UDP tramite IPv6: -U o NTP su UDP: -n o NTP su UDP/IPv6: -N.

È anche possibile cambiare il tipo di tunnel (DNS in ICMP o ICMP in NTP) al di là della tua connessione SSH, oppure passare a un altro IP locale (es. passando da wifi a 5G) poiché lo stato TCP viene mantenuto nel kernel locale e remoto e non nel bridge. Ciò consente il pieno supporto al roaming/mobilità SSH senza alcuna patch a SSH.

In modalità verbose, fraud-bridge lascerà stdout aperto per segnalare errori o messaggi, quindi devi eseguirlo su uno screen o reindirizzare l'output su /dev/null se ti serve che rimanga in esecuzione in background (verbose). Tienilo a mente poiché devi avviare gli script inside/outside dopo aver invocato fraud-bridge. Se non usi -v, va in background e registra gli errori su syslog.

Prima di usare qualsiasi tunnel ICMP, assicurati di rilassare le regole del firewall del tuo modem via cavo per ricevere i pacchetti di risposta dal peer remoto. fraud-bridge funziona dietro NAT, ma deve ricevere i pacchetti di risposta alla fine. Quando si usa il tunneling ICMP e gli echo ICMP sono bloccati, puoi impostare il parametro type tramite -t. Ad esempio usando -t 13 inside e -t 14 outside per ottenere coppie timestamp request/reply.

Quando si usa il tunneling DNS, fraud-bridge utilizza intestazioni di estensione EDNS0 per mettere quanti più byte possibile nella risposta TXT. Nei miei test, poiché cerca di rispondere a qualsiasi pacchetto di temporizzazione, non produce log nel file di log di sistema di bind9. Se cambi il EDNS0 (-E), devi farlo su entrambi i lati con lo stesso valore. (Perché inside annuncia la dimensione massima del payload UDP al nameserver e l'endpoint outside calcola l'MSS da ciò che è stato fornito con -E.)

Quando si usa il tunneling NTP, alcuni provider con CGN bloccano pacchetti NTP grandi (solo su IPv4). In un comune ISP tedesco, qualsiasi pacchetto NTP > 256 byte veniva bloccato. Quindi devi impostare l'MSS di conseguenza per ottenere pacchetti più piccoli come -s 100 in modo che lo stack TCP invii i segmenti in dimensioni più piccole.

Considerazioni sulle prestazioni

Poiché fraud-bridge apre un tunnel PtP, può rimuovere l'intestazione IP dai pacchetti che trasmette e sintetizzarla su ciascuna estremità. Quindi per il tunneling ICMP hai solo un overhead di 8 (ICMP) + 16 (HMAC) byte, che è accettabile. Il tunneling DNS ha ancora buona latenza e larghezza di banda quando eseguito direttamente, grazie al MSS clamping. Quando si tunnelizza indirettamente tramite resolver DNS pubblici, i valori predefiniti sono sufficienti per avere una sessione ragionevole, ma ovviamente il tunneling ICMP è da preferire quando possibile.

Usando ssh -D [0.0.0.0]:1234 1.2.3.5 puoi configurare un proxy SOCKS locale sulla tua macchina porta 1234 (inside) e distribuirlo tramite WLAN al tuo quartiere per sessioni web senza censura.

Puoi anche configurare un tor locale sulla macchina outside, offrendo una porta SOCKS su 127.0.0.1:9150 come fai normalmente, e poi usando ssh -L 9150:127.0.0.1:9150 1.2.3.5 per inoltrare questa porta outside alla tua macchina inside, in modo da rispecchiare esattamente la configurazione tor esterna localmente e distribuirla come porta SOCKS tor tramite WLAN ai tuoi utenti. In questo modo non abbiamo bisogno di implementare pluggable transports e puoi comunque usare tor come prima. Lo stesso funziona anche con sessioni crash o psc o qualsiasi altro meccanismo di tunneling.

Il parametro -S ha un valore predefinito ragionevole per i pacchetti timer DNS che devono essere inviati al server a intervallo costante. Valori più bassi danno una migliore latenza del tunnel ma possono sovraccaricare il server DNS ricorsivo e produrre più rumore.

orgogliosamente sponsorizzato da:

Scarica lo strumento