Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
gonc — Netcat con NAT traversal automatizado, P2P seguro y funciones avanzadas para acceso a shell, transferencia de archivos y proxy de red. | Kitploit
Herramientas/GitHubGitHub/threatexpert/gonc
Utilidades de Propósito GeneralHerramientas de Cifrado/DescifradoProxies Web e InterceptaciónExfiltración de DatosSeguridad de RedesPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso Remoto
GitHubthreatexpert/gonc

gonc

7336276hace 5 díasRevisado por Kitploit

Netcat con NAT traversal automatizado, P2P seguro y funciones avanzadas para acceso a shell, transferencia de archivos y proxy de red.

Ver RepositorioSitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Introducción a gonc

README en 中文 、 English

gonc es una herramienta netcat basada en Golang diseñada para facilitar la comunicación peer-to-peer. Sus características principales incluyen:

  • 🔁 NAT Traversal automatizado: Configuración cero. Ambas partes solo necesitan acordar una frase de contraseña. Al usar el parámetro -p2p, los peers pueden descubrir automáticamente las direcciones de red del otro y establecer una conexión punto a punto mediante NAT traversal, aprovechando servicios públicos de STUN y MQTT para el intercambio de direcciones.

  • 🔒 Cifrado de extremo a extremo con autenticación mutua: Admite TLS para TCP y DTLS para transmisión cifrada UDP, con autenticación mutua de identidad basada en frase de contraseña.

  • 🧩 Configuración flexible de servicios: Con el parámetro -e, puedes configurar flexiblemente la aplicación para servir cada conexión. Por ejemplo, -e /bin/sh puede proporcionar un shell cmd remoto. También puedes usar comandos virtuales integrados para un servicio SOCKS5 conveniente, servicio de archivos HTTP y reenvío de tráfico.


Descarga de la última versión

docs


Proyectos relacionados

  • gonc-gui — una aplicación de escritorio (Windows) y Android construida sobre gonc: conexión directa P2P entre dispositivos y redes, y transferencia segura de archivos. Solo comparte una frase de contraseña (o escanea un código QR); no se requiere línea de comandos.

Ejemplos de uso

Uso básico

  • Úsalo como nc:

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

    solo puede establecer conexiones punto a punto basadas en IP y puerto.

  • Ahora, también puedes establecer conexiones punto a punto basadas en una frase de contraseña compartida, con NAT traversal automatizado.

    El siguiente diagrama muestra el proceso de gonc estableciendo una conexión P2P entre una red de banda ancha doméstica (hard NAT) y un peer en una red móvil (symmetric NAT). Como ambas partes tienen IPv6, se usa la opción -4 en ambos extremos para forzar IPv4 con el fin de demostrar NAT traversal.

    hole-punching

Túnel P2P y servidor de archivos HTTP

  • Ambas partes acuerdan la misma frase de contraseña. En el lado emisor, inicia un servidor de archivos HTTP para exponer los archivos o directorios a compartir. La opción -httpserver acepta múltiples rutas, cada una de las cuales puede ser un archivo individual o un directorio:

    gonc -p2p <passphrase> -httpserver c:/RootDir1 c:/RootDir2
    
  • En el lado receptor, hay dos opciones:

  1. Descargar automáticamente todo el directorio

    Después de ejecutar el siguiente comando, todos los archivos se descargarán recursivamente a la máquina local. Si el proceso se interrumpe, volver a ejecutar el comando reanudará automáticamente desde donde se quedó:

    gonc -p2p <passphrase> -download c:/SavePath
    
  2. Navegar y descargar selectivamente a través del navegador

    Esta opción no inicia la descarga automáticamente. En su lugar, debes abrir manualmente un navegador y visitar http://127.0.0.1:9999 para ver la lista de archivos del peer y descargar archivos según sea necesario:

    gonc -p2p <passphrase> -httplocal-port 9999
    

    Si necesitas descargar un subdirectorio específico, el navegador resulta inconveniente, pero puedes hacerlo así:

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

Comunicación P2P cifrada segura

  • Establece comunicación P2P cifrada segura entre dos redes diferentes acordando una frase de contraseña (usa gonc -psk . para generar una frase de contraseña de alta entropía que reemplace passphrase). Esta frase de contraseña se usa para el descubrimiento mutuo y la derivación de certificados, garantizando la seguridad de la comunicación con TLS 1.3.

    gonc -p2p passphrase
    

    En el otro lado, usa los mismos parámetros (el programa intentará automáticamente comunicación TCP o UDP (preferiblemente TCP), negociará roles (cliente/servidor TLS) y completará el protocolo TLS):

    gonc -p2p passphrase
    

    Ten en cuenta que si el otro extremo retrasa el tiempo de ejecución, saldrá si no puede encontrar al otro extremo con quien intercambiar información en aproximadamente medio minuto. Por lo tanto, también admite un mecanismo de espera basado en suscripción a mensajes MQTT, usando -mqtt-wait y -mqtt-hello para sincronizar el momento en que ambas partes inician P2P. Por ejemplo, a continuación se usa -mqtt-wait para esperar continuamente,

    gonc -p2p passphrase -mqtt-wait
    

    En el otro lado,

    gonc -p2p passphrase -mqtt-hello
    
  • Verifica tu tipo de NAT

    gonc -nat-checker
    

    Esto verificará tus direcciones NAT IPv6 e IPv4 TCP y UDP y analizará los cambios de puerto después del NAT. Si no se listan direcciones TCP6 o UDP6, significa que no tienes IPv6. Cada dirección de protocolo termina con "(easy)", lo que indica la mayor tasa de éxito para hole punching; "(hard)" indica una tasa de éxito mayor; y "(symm)" es la más difícil. Symm requiere que el otro extremo sea "easy" o "hard" para que P2P funcione.

Reverse Shell (soporte de pseudo-terminal para sistemas tipo UNIX)

  • Listener (no usa -keep-open, acepta solo una conexión; sin autenticación con -psk):
    gonc -tls -exec ":sh /bin/bash" -l 1234
    
  • Conéctate para obtener un shell (admite TAB, Ctrl+C, etc.):
    gonc -tls -pty x.x.x.x 1234
    
  • Usa P2P para reverse shell (passphrase se usa para autenticación, garantizando comunicación segura con TLS 1.3):
    gonc -exec ":sh /bin/bash" -p2p passphrase
    
    En el otro lado:
    gonc -pty -p2p passphrase
    

Prueba de velocidad de transmisión

  • Envía datos y mide la velocidad de transmisión (/dev/zero y /dev/urandom integrados):
    gonc.exe -send /dev/zero -P x.x.x.x 1234
    
    Ejemplo de salida:
    IN: 76.8 MiB (80543744 bytes), 3.3 MiB/s | OUT: 0.0 B (0 bytes), 0.0 B/s | 00:00:23
    
    En el lado receptor:
    gonc -P -l 1234 > NUL
    

Túnel P2P y proxy SOCKS5 / HTTP

  • Espera a que se establezca el túnel:

    gonc -p2p passphrase -linkagent
    
  • En el otro lado, inicia un servicio proxy SOCKS5 / HTTP local en el puerto 3080 para acceder a la red 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"
    

    A continuación, por ejemplo, si quieres conectarte a 10.0.0.1:3389 en la red remota, simplemente puedes introducir la siguiente dirección en tu cliente de Escritorio Remoto local:

    10.0.0.1-3389.gonc.cc:3080
    

    Este dominio se resolverá a una IP con la forma 127.b.c.d. Como resultado, el cliente de Escritorio Remoto se conectará al proxy SOCKS5 local en el puerto 3080, y luego gonc analizará inversamente la dirección 127.b.c.d para extraer la información 10.0.0.1-3389 del nombre de dominio.

  • Formato de configuración de 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"
    
Descargar herramienta