NMAP Comandos

Vamos a ver una lista de los comandos de nmap y los tipos de escaneo de puertos más interesantes y habituales que ofrece esta herramienta de Linux.

 

¿Qué es nmap y cómo se utiliza?

 
nmap es un software que permite escanear los puertos de un equipo para encontrar el estado de los puertos (abiertos, cerrados) y qué software los está utilizando. Tiene usos en seguridad informática ya que permite anticiparse a ataques de puertos, comprobando el estado de ellos.
Para más info podemos recurrir al enlace del portal de documentación de nmap.
 
nmap comandos y ejemplos
 

Tenemos una gran cantidad de tipos de escaneo con nmap dependiendo de lo que queramos obtener, y la forma en que queramos realizar los escaneos, que pueden ser más o menos “discretos“, y utilizar unos protocolos u otros. Vamos a verlos.
 

 

Selección de objetivo en Nmap

 

  • Escanear una IP:
nmap 192.168.8.109

 

  • escanear un nombre de host:
nmap mihost

 

  • Escanear un rango de IP´s (en este caso de la IP 190 a la 200):
nmap 192.168.8.190-200

 

nmap escanear rango de IP´s
 
 

nmap 192.168.8.0/24

 
nmap escanear subred
 
 

  • Escanear una lista de objetivos desde un archivo:
nmap -iL lista.txt

 

 

Selección de puerto en Nmap

 

  • Escanear un solo puerto
nmap -p 22 192.168.8.109

 

  • Escanear un rango de puertos
nmap -p 1-30 192.168.8.109

 

  • Escanear los 100 puertos más comunes (la opción más rápida para ejecutar un escaneo con nmap):
nmap -F 192.168.8.109

 
nmap -F | escaneo rápido de puertos más comunes
 
 

Este tipo de escaneo utiliza los puertos definidos en el archivo /usr/share/nmap/nmap-services :

 
archivo nmap-services

 

 

  • Escanear todos los puertos (65536):
nmap -p 192.168.8.109

 

 

Tipos de escaneo de puertos con Nmap

 

Tenemos varios tipos de escaneo diferentes con nmap. Vamos a ver cuales son y sus diferencias principales.

 

  • Escanear con TCP Connect (tipo de escaneo diferente que requiere establecer una conexión completa con los puertos escaneados, y esto puede provocar una exploración más lenta; habitualmente el sondeo utilizado es el escaneo SYN, que no establece conexiones al escanear):
nmap -sT 192.168.8.109

 

  • Escanear con TCP SYN (el tipo de escaneo predeterminado). Se caracteriza por ser sigiloso y poco molesto; requiere acceso privilegiado:
nmap -sS 192.168.8.109

 

  • Escanear puertos UDP (para escanear servicios sobre UDP en lugar de TCP, que suele ser lo más habitual):
nmap -sU -p 53,67 192.168.8.109

 
Con la línea anterior escanearemos los puertos 53 y 67 UDP. El 53 es el puerto DNS y el 67 y 68 son los de DHCP.

 

 

  • Escanear ignorando el descubrimiento (cuando los equipos objetivo, como por ejemplo servidores, ignoran el PING):
nmap -Pn -F 192.168.8.109

 

Otras opciones de nmap para el descubrimiento de hosts, relacionadas con las opciones anteriores:

nmap opciones descubrimiento hosts

 

 

Detección de Servicios y de Sistema Operativo con nmap

 

  • Detectar el Sistema Operativo y los servicios activos:
nmap -A 192.168.8.109

 

  • Detección estándar de servicios (detección de versiones; obtiene más info de lo que se está ejecutando una vez que se han detectado los puertos):
nmap -sV 192.168.8.109

 
nmap -Sv | detección estandar de servicio

 

 

  • Detección agresiva de servicios (útil cuando se ejecutan servicios en puertos que no son los habituales):
nmap -sV --version-intensity 5 192.168.1.1

 

nmap --version-intensity
 
 

  • Detección ligera de servicios (una forma más rápida de detectar servicios ):
nmap -sV --version-intensity 0 192.168.1.1

 

 

Escaneando con los scripts  NSE de Nmap

 

Dentro del directorio /usr/share/nmap/scripts

podemos encontrar una gran cantidad de scripts predefinidos para escanear infinidad de servicios o posibles vulnerabilidades en un sistema.

Échale un vistazo al directorio y a todos los scripts disponibles porque seguro que alguno de ellos te llama la atención y te es útil.

 

nmap scripts

 

 

Ayuda e info sobre los scripts NSE de Nmap

 
Con la opción

--script-help=nombre_script

obtendremos la ayuda de cada uno de los scripts, y algo de info acerca de la utilidad que tiene el script:

 

Por ejemplo:

nmap --script-help=whois-domain.nse

 
ayuda de los scripts nmap NSE

 

 

Obtener información de servicios HTTP

 

En el directorio /usr/share/nmap/scripts de nmap podemos encontrar unos 129 scripts diferentes para escanear http. Vamos a ver algunos de los scripts más clásicos:

 

  • Averiguar los títulos de página de los servicios HTTP:
nmap --script=http-title 192.168.1.0/24

 

En este caso podemos ver lo que se obtiene al escanear un servidor CentOS con Apache funcionando:

nmap titulo de pagina HTTP

 

 

  • Recoger las cabeceras HTTP :
nmap --script=http-headers 192.168.1.0/24

 

Vemos que aparece toda la info de la cabecera HTTP:

nmap cabeceras HTTP

 

 

  • Encontrar aplicaciones web de rutas conocidas:
nmap --script = http-enum 192.168.8.114

 

Este script busca info de aplicaciones en rutas conocidas; vemos que en este caso ha detectado varios directorios potenciales:

nmap http-enum | aplicaciones web y ruras conocidas

 

Como puedes ver, nmap es una interesante y potente herramienta de Linux que nos puede ayudar a descubrir información de equipos en la red, por medio de los diferentes métodos de escaneo que ofrece y las diversas opciones.
 

 

Fuente: Nmap Cheat Sheet