Reconociendo objetivos con Nmap

enero 28, 2025

Cuando estamos efectuando una prueba de pentesting a cierta infraestructura tecnológica es recomendable seguir algún modelo o metodología que permita segmentar las pruebas en fases con el fin de implementar un proceso estructurado y sistemático que garantice la ejecución de las pruebas de forma exitosa y asegurando que no se olvida realizar alguna comprobación, como lo es el Penetration Test Execution Standar (PTES). Dentro de todos los modelos y metodologías de ejecución de pruebas de pentesting encontraremos una fase comúnmente denominada reconocimiento que busca obtener la mayor cantidad de información del sistema objetivo, como puertos abiertos, sistema operativo implementado, software y versiones instalados, entre otros. Para obtener toda esta información del objetivo se cuenta con la herramienta Nmap.

Generalidades

Nmap es una herramienta de código abierto y multiplataforma, disponible desde su sitio web oficial https://nmap.org para las plataformas Windows, Linux y Mac. Su principal funcionalidad permite identificar puertos abiertos, cerrados y filtrados tanto TCP como UDP, al igual que las sistemas que utilizan los mismos para su funcionamiento, para esto Nmap se aprovecha del funcionamiento de la comunicación por redes de datos para poder obtener o deducir información de los sistemas objetivos mediante el envío de paquetes de red y analizando las respuestas obtenidas.

Tipos de escaneo

La herramienta Nmap usa el envió de paquetes de red a los objetivos y por medio del análisis de la respuesta obtenida logra deducir información, como que el puerto esta abierto, cerrado o filtrado, para ello, Nmap conoce y hace uso del saludo de tres vías o 3 way handshake utilizado por la arquitectura cliente-servidor para entablar conexión entre cliente y servidor.

Nmap consta de múltiples tipos de escaneo dependiendo del tipo de interacción con el objetivo que se busca y la precisión de la información deseada.

Los principales y mas utilizados son:

  • TCP Connect Scan (-sT) Es un escaneo que completa el saludo de tres vías a los puertos TCP, suele ser mas ruidoso a nivel de red debido a que envía mayor cantidad de paquetes y se obtiene información fiable.
  • TCP SYN Scan (-sS) Es un escaneo que no completa el saludo de tres vías a los puertos TCP, suele ser mas silencioso a nivel de red debido a que envía menos paquetes que el TCP Connect Scan y se obtiene información fiable.
  • UDP Scan (-sU) Es un escaneo que se realiza a los puertos UDP, es mas ruidoso por el envió de mas paquetes de red, suele ser mucho mas demorado que los otros escaneos y se obtiene información que puede ser no tan fiable.

Opciones básicas

Nmap es una herramienta muy completa que ofrece distintas parametrizaciones en los escaneos en base a lo que se desee realizar, para ello dispone de múltiples opciones, donde las principales son:

OpciónUsoDescripción
-pnmap -p 80 192.168.1.1Especifica puerto o rango de puertos para el escaneo
-vnmap -v 192.168.1.1Habilita el modo detallado en los mensajes mostrados
-Pnnmap -Pn 192.168.1.1Considera a todos los objetivos como encendidos
-sVnmap -sV 192.168.1.1Habilita la identificación de versiones
-Anmap -A 192.168.1.1Habilita la identificación de versiones, sistema operativo, traceroute y ejecuta escaneo con scripts
-Onmap -O 192.168.1.1Habilita la identificación de sistema operativo
-T[0-5]nmap -T4 192.168.1.1Configura el uso de plantilla para el rendimiento del escaneo
-sTnmap -sT 192.168.1.1Usa la técnica de TCP Connect Scan para el escaneo
-sSnmap -sS 192.168.1.1Usa la técnica de SYN Scan para el escaneo
-sUnmap -sU 192.168.1.1Hace un escaneo de los puertos UDP especificados
-sCnmap -sC 192.168.1.1Usa los scripts por defecto para el escaneo
-oAnmap -oA output_file 192.168.1.1Genera archivos en los tres formatos principales con el nombre especificado
-6nmap -6 2800:481:300::5Realiza el escaneo a direcciones IPv6

Nmap permite también la combinación de opciones en base al tipo de escaneo e información que se busca obtener del objetivo, como los siguientes ejemplos

nmap -v -p 80,443 -sV -T4 192.168.1.1

El anterior comando realiza un escaneo a los puertos 80 y 443 con la verificación de servicio activada al host 192.168.1.1, de igual manera muestra el detalle del proceso por la herramienta y usa la plantilla -T4 para el rendimiento den escaneo, los valores que se pueden elegir son entre 0 y 5, siendo 0 la plantilla mas silenciosa pero mas demora y 5 la plantilla mas rápida pero supremamente ruidosa a nivel de red.

nmap -v -sS -sC -sV -p- -T4 192.168.1.1 -oA result

El anterior comando realiza un escaneo SYN a los 65535 puertos TCP con la verificación de servicio activada y ejecución de scripts por defecto en los servicios identificados al host 192.168.1.1, de igual manera muestra el detalle del proceso por la herramienta, usa la plantilla -T4 para el rendimiento del escaneo y genera los archivos de salida de los formatos usados por Nmap con el nombre result.

Scripts

Nmap permite realizar comprobaciones adicionales por medio de ejecución de scripts, los cuales pueden ser consultados en Kali Linux en el directorio /usr/share/nmap/scripts

Estos scripts están agrupados por tecnologías y categorías que permiten hacer comprobaciones adicionales como verificar los métodos HTTP permitidos en un servidor web, comprobar si se tiene usuarios invitados habilitados en el servicio FTP, verificar la configuración de contraseñas vacías en el servicio de MySQL, entre otros. Para ejecutar un script o grupo de ellos se requiere utilizar la opción –script y el nombre del script. Cabe mencionar, que así como hay scripts que se pueden ejecutar de forma directa hay otros que requieren la configuración de argumentos adicionales, como nombre de usuario, contraseña, entre otros parámetros, para ello se recomienda visitar la documentación oficial https://nmap.org/nsedoc/scripts/ y revisar la forma de ejecución del script deseado y los argumentos esperados.

La ejecución de algunos ejemplos de scripts serian:

nmap –script “safe, default” 192.168.1.1

El comando anterior permite ejecutar todos los scripts de la categoría safe y default sobre el objetivo especificado.

nmap -p 80,443 –script http-enum 192.168.1.1

El comando anterior permite ejecutar el script que comprueba la versión y tipo de servidor web implementado.

nmap -p 22 –script ssh-auth-methods –script-args=”ssh.user=root” 192.168.1.1

El comando anterior realiza una comprobación sobre los métodos de autenticación permitidos en el servicio ssh para el usuario root en el objetivo indicado.

Referencias