lunes, 28 de abril de 2008

Tutorial Nmap

Vamos a hacer un tutorial sobre el mapeo de puertos con nMap en Ubuntu.
Para instalar Nmap, podemos hacerlo desde terminal o Synaptic. Desde Synaptic simplemente hay que buscar "nmap", descargarlo e instalarlo.

Averiguar los puertos abiertos de un equipo.
Es el comando básico de Nmap. Lo único que hay que hacer es escribir "nmap [dirección de red]". Por ejemplo, "nmap 172.26.103.7": Este comando es el más simple, y sólo muestra un resumen de los puertos abiertos del equipo, omitiendo los cerrados.

Averiguar el sistema operativo de un equipo.
Utilizaremos el comando "nmap -O [dirección de red]". El comando "-O" es el que detecta el sistema operativo del equipo que tiene la dirección de red especificada. Por ejemplo, "nmap -O 172.26.103.7":
Debajo de los parámetros normales aparecen las líneas del sistema operativo. Vemos su dirección MAC, el tipo de dispositivo, el SO que utiliza, el tiempo transcurrido desde su última actualización, etc.

¿Qué ordenadores de una red o rango están encendidos?
El comando para ver si un ordenador está encendido es "-sP". Esto se puede aplicar a un rango de direcciones poniendo la dirección de red y la máscara. Por ejemplo, "nmap -sP 172.26.103.0/24":

Averiguar si un equipo está jugando online.
Para scanear completamente los puertos, hay que hacer un scaneo TCP y UDP, ya que algunos juegos utilizan uno y otros el otro. Si sabemos el tipo de protocolo que utiliza el juego, podemos especificar uno de ellos, pero si no lo sabemos, utilizaremos los comandos para ambos. Por ejemplo, scanearemos los puertos de un equipo que está jugando con UDP de esta forma: "nmap -sU -p 1-20000 172.26.103.0", como queremos scanear puertos de juegos, la inmensa mayoría utilizan los puertos inferiores al 20000, así que para restringir la búsqueda, escribimos el rango del 1 al 20000 con el comando "-p":
En este ejemplo, los puertos que utiliza el juego son el 17010 y 17012.

Averiguar qué equipos de la red están jugando.
Para averiguar los equipos que están jugando, primero hay que saber los puertos que utiliza el juego. Vamos a continuar con el ejemplo de antes del juego que utiliza los puertos 17010 y 17012. El comando utiliza la sintaxis "nmap [scaneo de protocolo (-sT, -sU o ambos)] [-p rango de puertos que scanearemos] [dirección de red]". Por ejemplo, "nmap -sU -p 17010-17012 172.26.103.0/24":
Este tipo de scaneo tiene un fallo, y es que se pueden confundir los puertos abiertos con los puertos que están en uso actualmente. En esta imagen vemos que hay dos equipos con los puertos 17010, 17011 y 17012 abiertos, pero sólo uno de ellos está jugando realmente, el 172.26.103.20; el 172.26.103.13 tiene esos puertos abiertos pero no está jugando.

Averiguar los puertos abiertos de cada uno de los ordenadores de la red que están encendidos.
Este punto es casi igual que el anterior, con la diferencia que en vez de scanear unos puertos específicos, scanearemos todos. Para ello utilizaremos un comando con la siguiente sintaxis: "nmap [protocolos que scanearemos (-sT, -sU o ambos)] [-p (rango de puertos a scanear)] [dirección de red]". Por ejemplo, "nmap -sT -sU -p 1-65535 172.26.103.0/24":
Hay otro comando para scanear todos los puertos, "--allports", pero a veces falla, y si quieres asegurar, mejor poner los puertos a scanear a mano con "-p".

Averiguar qué equipos tienen un servidor FTP, HTTP o DNS activado.
Esta vez scanearemos los puertos de FTP, HTTP y DNS, es decir, los puertos 21, 53 y 80. Para hacerlo, utilizaremos la sintaxis "nmap -p 21,53,80 172.26.103.0/24":
Los equipos que tengan alguno de esos servidores mostrarán estos puertos abiertos.

1 comentario:

^_drés dijo...

Buen tutorial. No estaría de más que usaras estilos para que los comandos fueran más fáciles de localizar. ¿No sabes de ningún uso distinto de nmap?
Saludos.