Episode Details
Back to EpisodesNC – NetCat
Description
En el capítulo de hoy vamos a ver un poco NC, NetCat o como queráis llamarlo, y vamos a ponerlo en contraposición a ssh en algunas cosas y siempre vamos a poder utilizar ssh con nc para ejecutar comandos remotos.
Netcat es un software de 1995 que tiene muchas utilidades, así que voy a pasar a enumeraros unas cuentas. Es importante escuchar el audio si estáis leyendo esto pues cada comando va en una máquina diferente.
Ejemplo 1 – Crear un chat:
- -l: listening
- -p: port
nc -lp 1234 nc x.x.x.x 1234
Ejemplo 2 – Transferir un fichero
- -v: verbose
- -w: wait en segundos de tiempo para expirar conexión
- <: el fichero especificado entra en la conexión (indica la dirección)
- >: el fichero especificado es la salida de la conexión (indica la dirección)
nc -v -w 30 -p 1234 -l < fichero nc -v x.x.x.x 1234 > fichero

Ejemplo 3 – Levantar una shell inversa
Lo primero si usáis linux es instalar el paquete netcat-traditional porque por defecto viene el paquete netcat-openbsd. La diferencia es que el tradicional permite ejecución y el openbsd no. Esto nos dejará dos versiones de nc: nc.traditional y nc.openbsd donde nc será nc.openbsd.
- -e: Ejecutar un comando.
nc.traditional -vlp 5555 -e /bin/bash nc x.x.x.x 5555
Ejemplo 4 – Escanear puertos
- -u: UDP
- -z: Modo zero-I/O
nc.traditional -vu -w 1 x.x.x.x -z 1-100 nc.traditional -v -w 1 x.x.x.x -z 1-100


También podemos mezclarlo con un poco de bash y scripting:
- -n: No consultes el DNS
for i in {10..12}; do nc –vv –n –w 1 192.168.0.$i 21-25 –z; done
Ejemplo 5 – Montar un syslog
Para montar un syslog lo primero que necesitamos es una implementación de netcat que nos permita tener más de una conexión concurrente con el servidor y nc.traditional y nc.openbsd tiene