Detección de versiones con Nmap
En este paso, aprenderemos sobre las capacidades de detección de versiones de Nmap. Antes de comenzar, entendamos por qué esto es importante. La detección de sistema operativo nos ayuda a averiguar qué sistema operativo está utilizando un objetivo. Sin embargo, la detección de versiones se centra en descubrir las versiones específicas de los servicios que se ejecutan en los puertos abiertos. Esto es crucial porque muchas vulnerabilidades de software están vinculadas a versiones específicas. Al conocer las versiones exactas de los servicios, podemos identificar los riesgos de seguridad potenciales de manera más precisa.
Comprensión de la detección de versiones
La detección de versiones, también conocida como detección de servicios, intenta responder a varias preguntas clave. En primer lugar, tiene como objetivo determinar qué aplicación se está ejecutando en un puerto abierto. En segundo lugar, intenta averiguar la versión específica de esa aplicación. A veces, incluso puede descubrir niveles de parche u otros detalles adicionales. Esta información es extremadamente valiosa porque muchas vulnerabilidades de seguridad son específicas de ciertas versiones de software. Si sabemos exactamente qué versiones de software se están ejecutando en un objetivo, podemos identificar rápidamente los posibles problemas de seguridad.
Realización de una detección de versiones
Ahora, ejecutemos un análisis de detección de versiones en nuestro servidor local. Utilizaremos el siguiente comando:
sudo nmap -sV localhost -p 4444 > scan_results/version_scan.txt
Desglosemos este comando. La opción -sV
habilita la detección de versiones. Esto le dice a Nmap que intente averiguar las versiones de los servicios que se ejecutan en los puertos objetivo. localhost
es nuestro objetivo, lo que significa que estamos escaneando nuestra propia máquina local. La opción -p 4444
especifica que solo estamos escaneando el puerto 4444. El símbolo >
redirige la salida del análisis a un archivo llamado version_scan.txt
en el directorio scan_results
. De esta manera, podemos revisar los resultados más tarde.
Análisis de los resultados de la detección de versiones
Después de ejecutar el análisis, examinemos los resultados. Utilizaremos el comando cat
para mostrar el contenido del archivo:
cat scan_results/version_scan.txt
Deberías ver una salida similar a esta:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-10 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000024s latency).
PORT STATE SERVICE VERSION
4444/tcp open netcat?
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.29 seconds
Observa que Nmap está tratando de identificar qué servicio se está ejecutando en el puerto 4444. En este caso, estamos utilizando netcat, que no proporciona información específica sobre la versión. Por eso Nmap muestra "netcat?" con un signo de interrogación, lo que indica que no está seguro del servicio exacto y su versión.
Ajuste de la intensidad de la detección de versiones
Nmap te permite controlar la intensidad del proceso de detección de versiones. Puedes utilizar la opción --version-intensity
para hacer esto. El nivel de intensidad va desde 0 (el análisis más ligero) hasta 9 (el análisis más agresivo). Ejecutemos un análisis más intensivo:
sudo nmap -sV --version-intensity 7 localhost -p 4444 > scan_results/intensive_version_scan.txt
Un análisis de mayor intensidad como este enviará más sondeos al objetivo. Intentará identificar con más esfuerzo el servicio que se ejecuta en el puerto. Sin embargo, también tomará más tiempo. Pero la ventaja es que podría darte resultados más detallados.
Revisemos los resultados de este análisis intensivo:
cat scan_results/intensive_version_scan.txt
Combinación de la detección de versiones y de sistema operativo
En situaciones del mundo real, a menudo necesitarás información tanto sobre el sistema operativo como sobre las versiones de un objetivo. Combinemos estas dos técnicas de análisis utilizando el siguiente comando:
sudo nmap -sV -O localhost -p 4444 > scan_results/combined_scan.txt
La opción -sV
habilita la detección de versiones, y la opción -O
habilita la detección de sistema operativo. Este enfoque combinado te proporciona información integral tanto sobre el sistema operativo como sobre los servicios que se ejecutan en el objetivo.
Revisemos los resultados de este análisis combinado:
cat scan_results/combined_scan.txt
La salida ahora contiene información tanto sobre el sistema operativo como sobre la versión del servicio. Esto proporciona una imagen más completa del sistema objetivo, lo cual es esencial para una evaluación de seguridad exhaustiva.
Comprender tanto el sistema operativo como las versiones específicas de los servicios que se ejecutan en un objetivo es crucial para un análisis de seguridad efectivo. En el siguiente paso, exploraremos cómo utilizar estas técnicas en escenarios prácticos.