Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/threatexpert/gonc
Utilità GenericheStrumenti di Crittografia/DecrittografiaProxy Web e IntercettazioneEsfiltrazione DatiSicurezza di RetePenetration TestingCommand and ControlRed TeamingStrumento di Accesso Remoto
GitHubthreatexpert/gonc

gonc

73362775 giorni faRevisionato da Kitploit

Netcat con NAT traversal automatizzato, P2P sicuro e funzionalità avanzate per accesso alla shell, trasferimento file e proxy di rete.

Vedi RepositorySito web

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

Introduzione a gonc

README in 中文 、 English

gonc è uno strumento netcat basato su Golang progettato per facilitare la comunicazione peer-to-peer. Le sue caratteristiche principali includono:

  • 🔁 NAT Traversal automatizzato: Configurazione zero. Entrambe le parti devono solo concordare una passphrase. Utilizzando il parametro -p2p, i peer possono scoprire automaticamente gli indirizzi di rete reciproci e stabilire una connessione punto-punto attraverso il NAT traversal, sfruttando servizi pubblici STUN e MQTT per lo scambio degli indirizzi.

  • 🔒 Crittografia end-to-end con autenticazione reciproca: Supporta TLS per TCP e DTLS per UDP per la trasmissione cifrata, con autenticazione reciproca dell'identità basata su passphrase.

  • 🧩 Configurazione flessibile del servizio: Con il parametro -e, puoi configurare in modo flessibile l'applicazione per servire ogni connessione. Ad esempio, -e /bin/sh può fornire una shell cmd remota. Puoi anche utilizzare comandi virtuali integrati per un comodo servizio SOCKS5, servizio file HTTP e inoltro del traffico.


Download dell'ultima versione

docs


Progetti correlati

  • gonc-gui — un'applicazione desktop (Windows) e Android basata su gonc: comoda connessione diretta P2P tra dispositivi e reti diverse e trasferimento sicuro di file. Basta condividere una passphrase (o scansionare un codice QR); nessuna riga di comando necessaria.

Esempi di utilizzo

Utilizzo di base

  • Usalo come nc:

    gonc www.baidu.com 80
    gonc -tls www.baidu.com 443
    

    può stabilire solo connessioni punto-punto basate su IP e porta.

  • Ora puoi anche stabilire connessioni punto-punto basate su una passphrase condivisa, con NAT traversal automatizzato.

    Il diagramma seguente mostra il processo con cui gonc stabilisce una connessione P2P tra una rete a banda larga domestica (hard NAT) e un peer su una rete mobile (symmetric NAT). Poiché entrambe le parti hanno IPv6, l'opzione -4 viene utilizzata su entrambe le estremità per forzare IPv4 al fine di dimostrare il NAT traversal.

    hole-punching

Tunnel P2P e server file HTTP

  • Entrambe le parti concordano la stessa passphrase. Sul lato mittente, avvia un server file HTTP per esporre i file o le directory da condividere. L'opzione -httpserver accetta più percorsi, ognuno dei quali può essere un singolo file o una directory:

    gonc -p2p <passphrase> -httpserver c:/RootDir1 c:/RootDir2
    
  • Sul lato ricevente, ci sono due opzioni:

  1. Scaricare automaticamente l'intera directory

    Dopo aver eseguito il seguente comando, tutti i file verranno scaricati ricorsivamente sulla macchina locale. Se il processo viene interrotto, rieseguire il comando riprenderà automaticamente da dove era stato interrotto:

    gonc -p2p <passphrase> -download c:/SavePath
    
  2. Sfogliare e scaricare selettivamente tramite browser

    Questa opzione non avvia automaticamente il download. Devi invece aprire manualmente un browser e visitare http://127.0.0.1:9999 per visualizzare l'elenco dei file del peer e scaricare i file secondo necessità:

    gonc -p2p <passphrase> -httplocal-port 9999
    

    Se devi scaricare una sottodirectory specifica, il browser diventa scomodo, ma puoi fare così:

    gonc -http-download c:/SavePath http://127.0.0.1:9999/subdir
    

Comunicazione P2P cifrata sicura

  • Stabilisci una comunicazione P2P cifrata sicura tra due reti diverse concordando una passphrase (usa gonc -psk . per generare una passphrase ad alta entropia da sostituire a passphrase). Questa passphrase viene utilizzata per la scoperta reciproca e la derivazione dei certificati, garantendo la sicurezza delle comunicazioni con TLS 1.3.

    gonc -p2p passphrase
    

    Sull'altro lato, usa gli stessi parametri (il programma tenterà automaticamente la comunicazione TCP o UDP (preferendo TCP), negozierà i ruoli (client/server TLS) e completerà il protocollo TLS):

    gonc -p2p passphrase
    

    Nota che se l'altra estremità ritarda l'esecuzione, uscirà se non riesce a trovare l'altra estremità con cui interagire entro circa mezzo minuto. Pertanto, supporta anche un meccanismo di attesa basato sulla sottoscrizione di messaggi MQTT, utilizzando -mqtt-wait e -mqtt-hello per sincronizzare il momento in cui le due parti avviano il P2P. Ad esempio, il seguente utilizza -mqtt-wait per attendere continuamente,

    gonc -p2p passphrase -mqtt-wait
    

    Sull'altro lato,

    gonc -p2p passphrase -mqtt-hello
    
  • Controlla il tuo tipo di NAT

    gonc -nat-checker
    

    Questo controllerà i tuoi indirizzi NAT IPv6 e IPv4 TCP e UDP e analizzerà i cambiamenti di porta dopo il NAT. Se non vengono elencati indirizzi TCP6 o UDP6, significa che non hai IPv6. Ogni indirizzo di protocollo termina con "(easy)", che indica la massima percentuale di successo per l'hole punching; "(hard)" indica una percentuale di successo più alta; e "(symm)" è il più difficile. Symm richiede che l'altra estremità sia "easy" o "hard" affinché il P2P funzioni.

Reverse Shell (supporto pseudo-terminale per sistemi UNIX-like)

  • Listener (non utilizza -keep-open, accetta solo una connessione; nessuna autenticazione con -psk):
    gonc -tls -exec ":sh /bin/bash" -l 1234
    
  • Connettiti per ottenere una shell (supporta TAB, Ctrl+C, ecc.):
    gonc -tls -pty x.x.x.x 1234
    
  • Usa P2P per la reverse shell (passphrase viene utilizzata per l'autenticazione, garantendo comunicazioni sicure con TLS 1.3):
    gonc -exec ":sh /bin/bash" -p2p passphrase
    
    Sull'altro lato:
    gonc -pty -p2p passphrase
    

Test della velocità di trasmissione

  • Invia dati e misura la velocità di trasmissione (/dev/zero e /dev/urandom integrati):
    gonc.exe -send /dev/zero -P x.x.x.x 1234
    
    Output di esempio:
    IN: 76.8 MiB (80543744 bytes), 3.3 MiB/s | OUT: 0.0 B (0 bytes), 0.0 B/s | 00:00:23
    
    Sul lato ricevente:
    gonc -P -l 1234 > NUL
    

Tunnel P2P e proxy SOCKS5 / HTTP

  • Attendi che il tunnel venga stabilito:

    gonc -p2p passphrase -linkagent
    
  • Sull'altro lato, avvia un servizio proxy locale SOCKS5 / HTTP sulla porta 3080 per accedere alla rete remota:

    # The link option controls how the local and remote proxy endpoints are created.
    # Use none to indicate that no listening port is opened on that side:
    gonc -p2p passphrase -link "3080;none"
    

    Successivamente, ad esempio, se vuoi connetterti a 10.0.0.1:3389 nella rete remota, puoi semplicemente inserire il seguente indirizzo nel tuo client Desktop Remoto locale:

    10.0.0.1-3389.gonc.cc:3080
    

    Questo dominio verrà risolto in un IP nella forma 127.b.c.d. Di conseguenza, il client Desktop Remoto si connetterà al proxy SOCKS5 locale sulla porta 3080, e poi gonc ri-analizzerà l'indirizzo 127.b.c.d per estrarre l'informazione 10.0.0.1-3389 dal nome di dominio.

  • Formato di configurazione di link

    # Based on the established tunnel, both local and remote sides listen on port 1080.
    # The proxy supports both HTTP and SOCKS5 protocols, with transparent proxy capability enabled.
    gonc -p2p <passphrase> -link "1080;1080"
    
Scarica lo strumento