Nmap, o mapeador de red, es un conjunto de herramientas para realizar pruebas de funcionalidad y penetración en toda una red, incluido el escaneado de puertos y la detección de vulnerabilidades.

Los scripts del motor de scripting de Nmap (NSE) son una de las capacidades más populares y potentes de Nmap. Estos scripts de exploración de vulnerabilidades de Nmap son utilizados por probadores de penetración y hackers para examinar vulnerabilidades comunes conocidas.

Common Vulnerabilities and Exposures (CVE) es una base de datos de problemas de seguridad de datos divulgados públicamente. Sirve como modelo de referencia para detectar vulnerabilidades y amenazas relacionadas con la seguridad de los sistemas de información.

En este artículo, veremos cómo utilizar Nmap para la exploración de vulnerabilidades.

¡Empecemos!

Instalación de Nmap

Nmap viene preinstalado en casi todas las distribuciones de Linux. En caso de que falte, deberá instalarlo manualmente. Se puede instalar fácilmente con el siguiente comando.

apt-get install nmap

Y también puede instalarlo clonando el repositorio git oficial.

git clone https://github.com/nmap/nmap.git

A continuación, navegue hasta ese directorio e instale los requisitos utilizando los siguientes comandos.

./configurar
make
make install

La versión más reciente de este software, así como los instaladores binarios para Windows, macOS y Linux (RPM), están disponibles aquí.

Escaneo de vulnerabilidades con Nmap

Nmap-vulners, vulscan y vuln son los scripts de detección de CVE más comunes y populares del buscador Nmap. Estos scripts le permiten descubrir información importante sobre fallos de seguridad del sistema.

Nmap-vulners

Uno de los escáneres de vulnerabilidades más conocidos es Nmap-vulners. Veamos cómo configurar esta herramienta y cómo ejecutar un escaneado CVE básico. El motor de scripts de Nmap busca en las respuestas HTTP para identificar los CPE del script dado.

Instalación

Para instalar el script Nmap-vulners, navegue hasta el directorio de scripts de Nmap utilizando el siguiente comando.

cd /usr/share/nmap/scripts/

El siguiente paso es clonar el repositorio git.

git clone https://github.com/vulnersCom/nmap-vulners.git

Después de clonar el repositorio git, no necesitará hacer nada más para la configuración. La herramienta se instalará automáticamente.

Y si desea ver los scripts NSE presentes en la base de datos Nmap-vulners, utilice el comando ls. Mostrará todos los scripts con extensión .nse en el terminal.

Uso

Es fácil utilizar los scripts de NSE. Simplemente pase el argumento -script a nuestro comando Nmap para indicar qué script NSE utilizar.

nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target&gt

No olvide pasar el argumento «-sV» cuando utilice scripts de NSE. Nmap-vulners no podrá acceder a la base de datos de exploits Vulners si no recibe ninguna información de versión de Nmap. Por lo tanto, el parámetro -sV es necesario en todo momento.

Ejemplo de comando

La sintaxis es bastante sencilla. Simplemente llame al script con la opción «-script» y especifique el motor de vulners y el objetivo para comenzar el escaneo.

nmap -sV --script nmap-vulners/ <objetivo&gt

Si desea escanear algún puerto específico, sólo tiene que añadir la opción «-p» al final del comando y pasar el número de puerto que desea escanear.

nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap – vuln

Los scripts de NSE se clasifican según un conjunto de categorías predeterminadas a las que pertenece cada script. Autenticación, difusión, fuerza bruta, intrusivo, malware, seguro, versión y vuln son algunas de las categorías. Puede encontrar todos los tipos de categorías de scripts de NSE y sus fases aquí.

Los scripts que entran en la categoría «vuln» buscan vulnerabilidades específicas conocidas y sólo informan si se identifica alguna en el sistema objetivo.

nmap -sV --script vuln <objetivo&gt

Nmap-vulscan

Vulscan es un script de NSE que ayuda a Nmap a detectar vulnerabilidades en los objetivos basándose en la detección de servicios y versiones. vulscan es como un módulo para Nmap que lo transforma en un escáner de vulnerabilidades. La opción -sV de Nmap permite la detección de versiones por servicio, que se utiliza para identificar posibles exploits para las vulnerabilidades detectadas en el sistema.

Actualmente, están disponibles las siguientes bases de datos preinstaladas:

  • exploitdb.csv
  • osvdb.csv
  • securitytracker.csv
  • openvas.csv
  • scipvuldb.csv
  • xforce.csv
  • securityfocus.csv
  • cve.csv

Instalación

Para instalar el Vulscan, en primer lugar, vaya al directorio de scripts de Nmap utilizando el siguiente comando.

cd /usr/share/nmap/scripts/

El siguiente paso es clonar el repositorio git e instalar todos los requisitos.

git clone https://github.com/scipag/vulscan.git

ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan 

Vulscan hace uso de bases de datos preconfiguradas guardadas localmente en nuestra máquina. Para actualizar la base de datos, vaya al directorio del actualizador. Escriba el siguiente comando en un terminal para navegar hasta el directorio updater.

cd vulscan/utilidades/actualizador/

A continuación, cambie los permisos del archivo que se ejecutará en el sistema.

chmod x updateFiles.sh

Y por último, actualice las bases de datos de exploits con el siguiente comando.

./actualizarArchivos.sh

Uso

Utilicemos vulscan para realizar un escaneo de vulnerabilidades Nmap. El script vulscan NSE se puede utilizar de la misma forma que nmap-vulners.

nmap -sV --script vulscan <objetivo&gt

Por defecto, Vulscan buscará simultáneamente en todas las bases de datos. Lleva mucho tiempo consultar la información utilizando todas las bases de datos. Utilizando el parámetro vulscandb, puede pasar sólo una base de datos CVE a la vez.

--script-args vulscandb=nombre_base_de_datos

Ejemplo de comando

nmap -sV --script vulscan --script-args vulscandb=exploit.csv <objetivo> -p 80,233

Escaneado individual de vulnerabilidades

También se pueden realizar escaneos individuales de vulnerabilidades utilizando scripts particulares dentro de cada categoría. Aquí tiene una lista de los 600 scripts de NSE y las 139 bibliotecas de NSE.

Ejemplos

  • http-csrf: Las vulnerabilidades de falsificación de solicitud de sitio cruzado (CSRF) son detectadas por este script.
nmap -sV --script http-csrf <objetivo&gt
  • http-sherlock: Intenta explotar la vulnerabilidad «shellshock» en aplicaciones web.
nmap -sV --script http-sherlock <objetivo&gt
  • http-slowloris-attack: Sin lanzar un ataque DoS, este script comprueba la vulnerabilidad de un servidor web o de un sistema de destino para realizar el ataque DoS Slowloris.
nmap -sV --script http-slowloris-check <objetivo&gt
  • http-vmware-path-vuln: Se comprueba si VMWare ESX, ESXi y Server presentan una vulnerabilidad path-traversal
nmap -sV --script http-vmware-path-vuln <target&gt
  • http-passwd: Intenta recuperar /etc/passwd o boot.ini para ver si un servidor web es vulnerable a la trasgresión de directorios.
nmap -sV --script http-passwd <objetivo&gt
  • http-internal-ip-disclosure: Al enviar una petición HTTP/1.0 sin una cabecera Host, esta comprobación determina si el servidor web filtra su dirección IP interna.
nmap -sV --script http-internal-ip-disclosure <destino&gt
  • http-vuln-cve2013-0156: Detecta servidores Ruby on Rails vulnerables a ataques DOS e inyección de comandos.
nmap -sV --script http-vuln-cve2013-0156 <dirección-destino&gt

Y por último, aquí tiene una lista de todos los scripts de NSE que entran en la categoría «vuln«.

¿Su sistema es capaz de detectar los escaneos de Nmap?

El reconocimiento es la primera fase del hacking ético y de las pruebas de penetración. Los hackers utilizan la fase de reconocimiento para localizar fallos y lagunas en un sistema para atacar. Por lo tanto, los sistemas de defensa deben ser capaces de detectarlos.

Recibirá alertas si utiliza herramientas SIEM (Security Information and Event Management ) cortafuegos y otras medidas defensivas. Y aquí tiene una lista de las mejores herramientas SIEM para proteger su empresa y organización de los ciberataques. Estas herramientas ayudan incluso a registrar las exploraciones Nmap. Los escaneos de vulnerabilidad merecen la pena, ya que una identificación temprana puede evitar daños futuros en los sistemas.

Conclusión

Espero que haya encontrado este artículo muy útil para aprender a utilizar Nmap para la exploración de vulnerabilidades.

Puede que también le interese conocer la lista de escáneres de seguridad web de código abierto para encontrar vulnerabilidades.