Escanear puertos con Nmap
Publicado el 1 de Febrero ,2008 por ekhtorDespués de una semanita sin escribir debido a los exámenes de la facultad, regreso con ganas a la web. Espero que no me hayáis echado mucho de menos xD.
Empezaré con un pequeño tutorial acerca del escáner de puertos nmap.
Si ya vimos como hacerlo con netcat en posts anteriores, ahora desempeñaremos la misma función con nmap pero de una forma más ‘profesional’, ya que netcat una vez encontrado el puerto abierto se conectaba a él, y esto puede suponer un problema porque esa conexión queda registrada en los log’s del sistema.
Lo primero que necesitamos son los paquetes:
Para instalar el Front-end lo hacemos con el siguiente paquete:
Ahora podremos abrirlo desde Aplicaciones>>Internet>>NmapFE y nos mostrará una pantalla como esta:

Como todo el mundo a estas alturas ya sabe manejar un front-end ya que solo hay que hacer click en las opciones que nos interesan, me centraré en el uso mediante consola, puesto que se puede dar el caso en el que el usuario no disponga de él.
Para empezar haremos un escaneo básico:
Donde 127.0.0.0 será la ip a escanear. Esto nos devolverá algo asi:
Interesting ports on localhost (127.0.0.1):
Not shown: 1691 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
2049/tcp open nfsNmap finished: 1 IP address (1 host up) scanned in 0.242 seconds
Aquí se puede ver perfectamente los puertos abiertos y los servicios a los que pertenece cada puerto.
En el caso de que sólo quisiéramos escanear un rango de puertos sólo añadimos la opción ‘-p’ junto con el rango:
Si lo que buscamos es escanear un rango de ip’s ponemos un guión después del comienzo de la ip y seguido la ip final:
Además podemos combinar las opciones anteriores en el caso de querer escanear un rango de puertos dentro de un rango de ip’s.
Si nos suge el problema de que no podemos hacer el escaner mediante ping, podremos evitarlo gracias a la opción ‘-p0′ y si lo que buscamos es lo contrario, osea, hacer escaner únicamente mediante ping usaremos ‘-sP’.
Otra opción muy imporante sería poder saber además del servicio al que pertenecen los puertos abiertos, cual es la versión para poder aprovechar una vulneravilidad específica. Esto lo hacemos con ‘-sV’:
Starting Nmap 4.20 ( http://insecure.org ) at 2008-02-01 20:59 CET
Interesting ports on localhost (127.0.0.1):
Not shown: 1691 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.6p1 Debian 5build1 (protocol 2.0)
111/tcp open rpcbind 2 (rpc #100000)
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: MSHOME)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: MSHOME)
631/tcp open ipp CUPS 1.2
2049/tcp open nfs 2-4 (rpc #100003)
Service Info: OS: Linux
Si lo comparamos con el escaneado simple salta a la vista la diferencia.
Por último, otra opción que me parece importante citar es ‘-O’, que nos muestra el sistema operativo usado. Es lo que todo el mundo conoce como un ‘finger’, pero actualmente los sistemas no proporcionan información tan fácil como hace unos años.
Para concluir, sólo me queda decir que todos estos comandos pueden ser introducidos en el front-end con iguales resultados, además hay muchas otras opciones interesantes que podéis consultar en la ayuda del programa.

