Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
gonc — Netcat avec traversée NAT automatisée, P2P sécurisé et fonctionnalités avancées pour l'accès au shell, le transfert de fichiers et le proxy réseau. | Kitploit
Outils/GitHubGitHub/threatexpert/gonc
Utilitaires GénérauxOutils de Chiffrement/DéchiffrementProxies Web et InterceptionExfiltration de DonnéesSécurité RéseauTests d'IntrusionCommandement et ContrôleRed TeamingOutil d'Accès à Distance
GitHubthreatexpert/gonc

gonc

7336276il y a 5 joursVérifié par Kitploit

Netcat avec traversée NAT automatisée, P2P sécurisé et fonctionnalités avancées pour l'accès au shell, le transfert de fichiers et le proxy réseau.

Voir le dépôtSite web

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Introduction à gonc

README en 中文 、 English

gonc est un outil netcat basé sur Golang, conçu pour faciliter la communication pair-à-pair. Ses principales fonctionnalités incluent :

  • 🔁 Traversée de NAT automatisée : Zéro configuration. Les deux côtés doivent simplement s'accorder sur une phrase secrète. En utilisant le paramètre -p2p, les pairs peuvent découvrir automatiquement les adresses réseau de l'autre et établir une connexion point-à-point via la traversée de NAT, en s'appuyant sur des services publics STUN et MQTT pour l'échange d'adresses.

  • 🔒 Chiffrement de bout en bout avec authentification mutuelle : Prend en charge TLS pour TCP et DTLS pour UDP en transmission chiffrée, avec authentification mutuelle d'identité basée sur une phrase secrète.

  • 🧩 Configuration de service flexible : Avec le paramètre -e, vous pouvez configurer flexiblement l'application pour servir chaque connexion. Par exemple, -e /bin/sh peut fournir un shell cmd distant. Vous pouvez également utiliser des commandes virtuelles intégrées pour un service SOCKS5 pratique, un service de fichiers HTTP et la redirection de trafic.


Téléchargement de la dernière version

docs


Projets associés

  • gonc-gui — une application de bureau (Windows) et Android construite sur gonc : connexion directe P2P pratique entre appareils et réseaux, et transfert de fichiers sécurisé. Partagez simplement une phrase secrète (ou scannez un QR code) ; aucune ligne de commande requise.

Exemples d'utilisation

Utilisation de base

  • Utilisez-le comme nc :

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

    ne peut établir que des connexions point-à-point basées sur IP et port.

  • Désormais, vous pouvez également établir des connexions point-à-point basées sur une phrase secrète partagée, avec traversée de NAT automatisée.

    Le diagramme suivant montre le processus par lequel gonc établit une connexion P2P entre un réseau haut débit domestique (NAT difficile) et un pair sur un réseau mobile (NAT symétrique). Comme les deux côtés disposent d'IPv6, l'option -4 est utilisée aux deux extrémités pour forcer IPv4 afin de démontrer la traversée de NAT.

    hole-punching

Tunnel P2P et serveur de fichiers HTTP

  • Les deux côtés s'accordent sur la même phrase secrète. Du côté de l'expéditeur, démarrez un serveur de fichiers HTTP pour exposer les fichiers ou répertoires à partager. L'option -httpserver accepte plusieurs chemins, chacun pouvant être un fichier unique ou un répertoire :

    gonc -p2p <passphrase> -httpserver c:/RootDir1 c:/RootDir2
    
  • Du côté du récepteur, deux options s'offrent à vous :

  1. Télécharger automatiquement l'intégralité du répertoire

    Après avoir exécuté la commande suivante, tous les fichiers seront téléchargés récursivement sur la machine locale. Si le processus est interrompu, relancer la commande reprendra automatiquement là où il s'était arrêté :

    gonc -p2p <passphrase> -download c:/SavePath
    
  2. Parcourir et télécharger sélectivement via le navigateur

    Cette option ne démarre pas automatiquement le téléchargement. Vous devez ouvrir manuellement un navigateur et visiter http://127.0.0.1:9999 pour consulter la liste des fichiers du pair et télécharger les fichiers selon vos besoins :

    gonc -p2p <passphrase> -httplocal-port 9999
    

    Si vous devez télécharger un sous-répertoire spécifique, le navigateur devient peu pratique, mais vous pouvez procéder ainsi :

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

Communication P2P chiffrée sécurisée

  • Établissez une communication P2P chiffrée sécurisée entre deux réseaux différents en convenant d'une phrase secrète (utilisez gonc -psk . pour générer une phrase secrète à haute entropie afin de remplacer passphrase). Cette phrase secrète est utilisée pour la découverte mutuelle et la dérivation de certificats, garantissant la sécurité des communications avec TLS 1.3.

    gonc -p2p passphrase
    

    De l'autre côté, utilisez les mêmes paramètres (le programme tentera automatiquement une communication TCP ou UDP (TCP en priorité), négociera les rôles (client/serveur TLS) et complétera le protocole TLS) :

    gonc -p2p passphrase
    

    Notez que si l'autre extrémité retarde son exécution, elle quittera si elle ne trouve pas l'autre extrémité avec qui interagir dans environ une demi-minute. Par conséquent, il prend également en charge un mécanisme d'attente basé sur l'abonnement aux messages MQTT, en utilisant -mqtt-wait et -mqtt-hello pour synchroniser le moment où les deux parties démarrent le P2P. Par exemple, ce qui suit utilise -mqtt-wait pour attendre en continu,

    gonc -p2p passphrase -mqtt-wait
    

    De l'autre côté,

    gonc -p2p passphrase -mqtt-hello
    
  • Vérifiez votre type de NAT

    gonc -nat-checker
    

    Cela vérifiera vos adresses NAT IPv6 et IPv4 TCP et UDP et analysera les changements de port après le NAT. Si aucune adresse TCP6 ou UDP6 n'est listée, cela signifie que vous n'avez pas d'IPv6. Chaque adresse de protocole se termine par "(easy)", indiquant le taux de réussite le plus élevé pour le hole punching ; "(hard)" indique un taux de réussite plus élevé ; et "(symm)" est le plus difficile. Symm nécessite que l'autre extrémité soit soit "easy" soit "hard" pour que le P2P fonctionne.

Reverse Shell (prise en charge du pseudo-terminal pour les systèmes de type UNIX)

  • Écouteur (n'utilise pas -keep-open, accepte une seule connexion ; pas d'authentification avec -psk) :
    gonc -tls -exec ":sh /bin/bash" -l 1234
    
  • Connectez-vous pour obtenir un shell (prend en charge TAB, Ctrl+C, etc.) :
    gonc -tls -pty x.x.x.x 1234
    
  • Utilisez P2P pour le reverse shell (passphrase est utilisé pour l'authentification, garantissant une communication sécurisée avec TLS 1.3) :
    gonc -exec ":sh /bin/bash" -p2p passphrase
    
    De l'autre côté :
    gonc -pty -p2p passphrase
    

Test de vitesse de transmission

  • Envoyez des données et mesurez la vitesse de transmission (/dev/zero et /dev/urandom intégrés) :
    gonc.exe -send /dev/zero -P x.x.x.x 1234
    
    Exemple de sortie :
    IN: 76.8 MiB (80543744 bytes), 3.3 MiB/s | OUT: 0.0 B (0 bytes), 0.0 B/s | 00:00:23
    
    Du côté du récepteur :
    gonc -P -l 1234 > NUL
    

Tunnel P2P et proxy SOCKS5 / HTTP

  • Attendez que le tunnel soit établi :

    gonc -p2p passphrase -linkagent
    
  • De l'autre côté, démarrez un service proxy SOCKS5 / HTTP local sur le port 3080 pour accéder au réseau distant :

    # 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"
    

    Ensuite, par exemple, si vous souhaitez vous connecter à 10.0.0.1:3389 dans le réseau distant, vous pouvez simplement saisir l'adresse suivante dans votre client Bureau à distance local :

    10.0.0.1-3389.gonc.cc:3080
    
Télécharger l’outil