Nmap, o mapeador de red, es un conjunto de herramientas para realizar pruebas de funcionalidad y penetración en toda 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 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 la información divulgados públicamente. Sirve de 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 está preinstalado en casi todas las distribuciones de Linux. En caso de que falte, necesita instalarlo manualmente. Se puede instalar fácilmente con el siguiente comando.
apt-get install nmap
Y también puedes instalarlo clonando el archivo oficial repositorio git.
git clone https://github.com/nmap/nmap.git
A continuación, vaya a ese directorio e instale los requisitos utilizando 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, vulscany vuln son los scripts de detección de CVE más comunes y populares del buscador Nmap. Estos scripts 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 análisis CVE básico. El motor de scripts de Nmap busca respuestas HTTP para identificar CPEs para el script dado.
Instalación
Para instalar el script Nmap-vulners, navega al directorio de scripts de Nmap usando 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ás hacer nada más para la configuración. La herramienta se instalará automáticamente.
Y si desea ver los scripts de NSE presentes en la base de datos de Nmap-vulners, utilice ls
. Mostrará todos los scripts con extensión .nse en el terminal.
Utilización
Es fácil utilizar scripts de NSE. Basta con pasar el argumento -script a nuestro comando Nmap para indicar qué script de NSE utilizar.
nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>
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. Basta con llamar al script con la opción "-script" y especificar el motor de vulners y el objetivo para empezar a escanear.
nmap -sV --script nmap-vulners/ <target>
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 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 <target>
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 analizador 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 mediante 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 updater. Escriba el siguiente comando en un terminal para navegar hasta el directorio updater.
cd vulscan/utilities/updater/
A continuación, cambie los permisos del archivo a ejecutar en el sistema.
chmod +x updateFiles.sh
Por último, actualice las bases de datos de exploits con el siguiente comando.
./updateFiles.sh
Utilización
Usemos vulscan para hacer un escaneo de vulnerabilidades Nmap. El script vulscan NSE se puede utilizar de la misma manera que nmap-vulners.
nmap -sV --script vulscan <target>
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. Usando el parámetro vulscandb, puede pasar sólo una base de datos CVE a la vez.
--script-args vulscandb=database_name
Ejemplo de orden
nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233
Exploración individual de vulnerabilidades
También se pueden realizar escaneos individuales de vulnerabilidades utilizando scripts particulares dentro de cada categoría. Esta es 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 petición en sitios cruzados (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 comprueba la vulnerabilidad de un servidor web o de un sistema objetivo para realizar el ataque DoS Slowloris.
nmap -sV --script http-slowloris-check <target>
- http-vmware-path-vuln: VMWare ESX, ESXi, y Server son probados para una vulnerabilidad de path-traversal.
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: Cuando se envía una petición HTTP/1.0 sin una cabecera Host, esta comprobación determina si el servidor web filtra su cabecera interna Dirección IP.
nmap -sV --script http-internal-ip-disclosure <target>
- 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 <target-address>
Y por último, aquí tiene una lista de todos los scripts de NSE que entran dentro de la categoría "vuln" categoría.
¿Su sistema es capaz de detectar escaneos Nmap?
El reconocimiento es la primera fase de hacking ético y pruebas de penetración. Los piratas informáticos utilizan la fase de reconocimiento para localizar fallos y lagunas en un sistema para atacar. Por ello, los sistemas de defensa deben ser capaces de detectarlos.
Recibirá alertas si utiliza herramientas SIEM (Security Information and Event Management ), cortafuegosy otras medidas defensivas. Y aquí hay una lista de los mejores herramientas SIEM para proteger su empresa y organización de ciberataques. Estas herramientas ayudan incluso a registrar las exploraciones de Nmap. Los escaneos de vulnerabilidad valen la pena ya que la identificación temprana puede evitar daños futuros a los sistemas.
Conclusión
Espero que hayas encontrado este artículo muy útil para aprender a utilizar Nmap para escanear vulnerabilidades.
También puede interesarle conocer la lista de Escáneres de seguridad web de código abierto para encontrar vulnerabilidades.