Las razones por las que es tan importante detectar servicios y la versión de software en el dispositivo de destino es porque algunos servicios comparten los mismos puertos, por lo tanto, para discriminar los servicios, detectar el software que se ejecuta detrás del puerto puede ser crítico.
Sin embargo, la razón principal por la que la mayoría de los sysadmins ejecutarán un escaneo de la versión es detectar agujeros de seguridad o vulnerabilidades que pertenecen a versiones de software obsoletas o específicas.
Un escaneo NMAP regular puede revelar puertos abiertos, de forma predeterminada, no mostrará sus servicios detrás de él, puede ver un puerto abierto, pero es posible que deba saber si Apache, Nginx o IIS están escuchando.
Al agregar la detección de versiones, NSE (motor de secuencias de comandos NMAP) también puede contrastar el software identificado con las bases de datos de vulnerabilidades (consulte "Cómo usar Vuls").
Cómo funcionan los servicios de NMAP y la detección de versiones?
Para detectar servicios, NMAP utiliza la base de datos llamada NMAP-Servicios Incluyendo posibles servicios por puerto, la lista se puede encontrar en https: // svn.nmap.org/nmap/nmap-services, si tiene una configuración de puerto personalizada, puede editar el archivo ubicado en /usr/share/nmap/nmap-services. Para habilitar la detección del servicio, la bandera -A se usa.
Para detectar versiones de software, NMAP tiene otra base de datos llamada NMAP-Servicio Probes que incluye sondas para consultar y coincidir con expresiones para identificar respuestas.
Ambas bases de datos ayudan a NMAP primero a detectar el servicio detrás del puerto como SSH o HTTP. En segundo lugar, NMAP intentará encontrar el software que proporciona el servicio (como OpenSSH para SSH o NGINX o Apache para HTTP) y el número de versión específico.
Para aumentar la precisión de la detección de versión, este escaneo específico integra NSE (NMAP Scripting Engine) para lanzar scripts contra sospechosos de servicios para confirmar o descartar detecciones.
Siempre puede regular la intensidad de un escaneo, como se explicará a continuación a pesar de que solo será útil contra servicios poco comunes en objetivos.
Comenzando con los servicios de NMAP y la detección de versiones:
Para instalar NMAP en las distribuciones de Linux de Debian y Basado en ejecución:
# APT Instalar nmap -y
Antes de comenzar, ejecutemos un escaneo NMAP regular ejecutando:
# nmap linuxhint.comunicarse
Puede ver que los puertos abiertos y filtrados se enumeran, ahora ejecutemos un escaneo de la versión ejecutando:
# nmap -sv Linuxhint.comunicarse
Puede ver en la salida por encima de este tiempo NMAP detectado OpenSSH 6.6.1p1 detrás del puerto 22, postfix detrás del puerto 25 y nginx detrás de los puertos 80 y 443. En algunos casos, NMAP no puede distinguir los puertos filtrados, en tales casos, NMAP los marcará como filtrados, sin embargo, si se les indica que continuará sondas contra estos puertos.
Es posible determinar que el grado de intensidad que NMAP usará para detectar versiones de software, por defecto, el nivel 7 y el rango posible es de 0 a 9. Esta característica solo mostrará resultados si los servicios poco comunes se ejecutan en el objetivo, no habrá diferencias en los servidores con servicios ampliamente utilizados. El siguiente ejemplo muestra un escaneo de versión con una intensidad mínima:
# nmap -sv --versión -intensidad 0 Linuxhint.comunicarse
Para ejecutar el escaneo de detección de versión más agresivo, reemplace el 0 por 9:
# nmap -sv --version -intensidad 9 Linuxhint.comunicarse
El nivel 9 también se puede ejecutar como:
# nmap -sv -version -todo nic.Arkansas
Para una detección de versión de baja intensidad (2) puede usar:
# nmap -sv --version -light nic.Arkansas
Puede instruir a NMAP que muestre todo el proceso agregando la opción -Version -Trace:
# nmap -sv --version -trace 192.168.43.1
Ahora, usemos la bandera -A que también permite la detección de versiones, además de OS, Tracerute y NSE:
# nmap -a 192.168.0.1
Como puede ver después de la exploración de escaneo NSE como se inició, detectando posibles vulnerabilidades para la versión de enlace expuesto.
El tipo de dispositivo y el sistema operativo se detectaron con éxito como teléfono y Android y también se ejecutó una traceroute (el móvil Android funciona como punto de acceso).
Si bien para detectar los servicios NSE está integrado para permitir una mejor precisión, se puede iniciar un escaneo de detección de sistema operativo específico con el indicador -O como en el siguiente ejemplo:
# nmap -o 192.168.43.1
Como puede ver, el resultado fue bastante similar sin NSE, que por defecto está integrado a las sondas de versión.
Como puede ver, con NMAP y pocos comandos, podrá aprender información relevante sobre el software que se ejecuta en objetivos, si el Flag -A está habilitado NMAP, probará los resultados tratando de encontrar agujeros de seguridad para las versiones de servicio especificadas.
Espero que hayas encontrado útil este tutorial en la exploración de la versión nmap, hay mucho contenido adicional de alta calidad en nmap en https: // linuxhint.com/?s = nmap.
Siga a Linuxhint para obtener más consejos y actualizaciones sobre Linux y Networking.