¿Cómo utilizar Nmap para el análisis de vulnerabilidades?

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

Nmap scripting engine (NSE) Script es una de las capacidades más populares y poderosas de Nmap. Estos scripts de exploración de vulnerabilidades de Nmap son utilizados por probadores de penetración y piratas informáticos para examinar vulnerabilidades comunes conocidas.

Vulnerabilidades y exposiciones comunes (CVE) es una base de datos de problemas de seguridad de datos divulgados públicamente. Sirve como modelo de referencia para la detección de vulnerabilidades y amenazas relacionadas con la seguridad de los sistemas de información.

En este artículo, veremos cómo usar Nmap para el análisis de vulnerabilidades.

¡Empecemos!

Instalación de Nmap

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

apt-get install nmap

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

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

Luego, navegue a ese directorio e instale los requisitos usando los siguientes comandos.

./configure
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 comunes y más populares en el motor de búsqueda de Nmap. Estos scripts le permiten descubrir información importante sobre fallas 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 análisis CVE básico. El motor de secuencias de comandos de Nmap busca respuestas HTTP para identificar CPE para la secuencia de comandos dada.

Instalación

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

cd /usr/share/nmap/scripts/

El siguiente paso es clonar el repositorio de git.

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

Después de clonar el repositorio de 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, use el comando ls. Mostrará todos los scripts de extensión .nse en la terminal.

Uso

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

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

No olvide pasar el argumento «-sV» mientras usa scripts NSE. Nmap-vulners no podrá acceder a la base de datos de explotación de Vulners si no recibe ninguna información de versión de Nmap. Por lo tanto, el parámetro -sV se requiere todo el tiempo.

Comando de ejemplo

La sintaxis es bastante sencilla. Simplemente llame al script con la opción “–script” y especifique el motor de vulnerabilidades y el objetivo para comenzar a escanear.

nmap -sV --script nmap-vulners/ <target>

Si desea escanear algún puerto específico, simplemente agregue la opción «-p» al final del comando y pase el número de puerto que desea escanear.

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

Nmap – vulnerabilidad

Los scripts NSE se clasifican según un conjunto de categorías predeterminadas a las que pertenece cada script. Autenticación, transmisió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 NSE y sus fases. aquí.

Los scripts que se incluyen en la categoría «vuln» buscan vulnerabilidades específicas conocidas y solo informan si se identifica alguna en el sistema de destino.

nmap -sV --script vuln <target>

Nmap-vulscan

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

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

  • exploitdb.csv
  • osvdb.csv
  • seguimiento de seguridad.csv
  • openvas.csv
  • scipvuldb.csv
  • xforce.csv
  • enfoque de seguridad.csv
  • cve.csv

Instalación

Para instalar Vulscan, primero, vaya al directorio de scripts de Nmap usando el siguiente comando.

cd /usr/share/nmap/scripts/

El siguiente paso es clonar el repositorio de 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 utiliza bases de datos preconfiguradas guardadas localmente en nuestra máquina. Para actualizar la base de datos, vaya al directorio de actualización. Escriba el siguiente comando en una terminal para navegar al directorio de actualización.

cd vulscan/utilities/updater/

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

chmod +x updateFiles.sh

Y finalmente, actualice las bases de datos de exploits con el siguiente comando.

 ./updateFiles.sh

Uso

Usemos vulscan para hacer un escaneo de vulnerabilidades de Nmap. El script vulscan NSE se puede usar de la misma manera que nmap-vulners.

nmap -sV --script vulscan <target>

Por defecto, Vulscan buscará en todas las bases de datos simultáneamente. Se necesita mucho tiempo para consultar información utilizando todas las bases de datos. Usando el parámetro vulscandb, puede pasar solo una base de datos CVE a la vez.

--script-args vulscandb=database_name

Comando de ejemplo

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

Escaneo de vulnerabilidad individual

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

Ejemplos

  • http-csrf: este script detecta vulnerabilidades de falsificación de solicitud entre sitios (CSRF).
nmap -sV --script http-csrf <target>
  • http-sherlock: Pretende explotar la vulnerabilidad “shellshock” en aplicaciones web.
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack: sin lanzar un ataque DoS, este script verifica un servidor web o un sistema de destino en busca de vulnerabilidades para realizar el ataque Slowloris DoS.
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln: VMWare ESX, ESXi y Server se prueban para detectar una vulnerabilidad de ruta transversal
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd: intenta recuperar /etc/passwd o boot.ini para ver si un servidor web es vulnerable al cruce de directorios.
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure: al enviar una solicitud HTTP/1.0 sin un encabezado de Host, esta verificación determina si el servidor web pierde su dirección IP interna.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156: detecta servidores Ruby on Rails que son vulnerables a ataques DOS e inyección de comandos.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

Y finalmente, aquí hay una lista de todos los scripts NSE que se encuentran bajo el «vulnerable» categoría.

¿Es su sistema capaz de detectar escaneos de Nmap?

El reconocimiento es la primera fase en la piratería ética y las pruebas de penetración. Los piratas informáticos utilizan la fase de reconocimiento para localizar fallas y lagunas en un sistema para atacar. Por lo tanto, los sistemas de defensa deberían poder detectarlos.

Recibirá alertas si utiliza herramientas SIEM (Security Information and Event Management), cortafuegos y otras medidas defensivas. Y aquí hay una lista de las mejores herramientas SIEM para proteger su negocio y organización de los ataques cibernéticos. Estas herramientas incluso ayudan a registrar escaneos de Nmap. Los escaneos de vulnerabilidades valen la pena ya que la identificación temprana puede evitar futuros daños a los sistemas.

Conclusión

Espero que haya encontrado este artículo muy útil para aprender a usar Nmap para el análisis de vulnerabilidades.

También puede estar interesado en conocer la lista de Escáneres de seguridad web de código abierto para encontrar vulnerabilidades.