Seguridad Web 2024 Ing.
En sistemas computacionales
Cómo usar Nmap: guía completa con ejemplos
En el panorama de la ciberseguridad, en
constante cambio, resulta fundamental ir un
paso por delante de los actores maliciosos, y
comprender las complejidades de tus redes es
una parte integral de ello. Una herramienta
que puede ayudarte a hacerlo se ha ganado su
reputación como incondicional de la
ciberseguridad: Nmap. Nmap, abreviatura de
Network Mapper (mapeador de red), tiene la
llave para desvelar información valiosa sobre
tu infraestructura de red. Tanto si eres un profesional de la ciberseguridad en busca de
vulnerabilidades como un administrador de sistemas encargado de mantener la salud de tu red,
entender cómo usar Nmap es esencial.
¿Qué es Nmap?
Nmap es una herramienta de código abierto utilizada para analizar credes y realizar auditorías de
seguridad. Gracias a sus capacidades y versatilidad, este software se ha convertido en un elemento
básico en el arsenal de los profesionales de la ciberseguridad, administradores de sistemas y
hackers éticos. El conjunto de funciones de Nmap va más allá de la exploración básica de redes e
incluye:
• Descubrimiento del host: Nmap identifica los hosts activos en una red, sentando las bases
para una exploración más profunda.
• Exploración de puertos: Nmap descubre puertos y servicios abiertos, lo que permite a los
administradores conocer la superficie de ataque de una red.
• Detección de versiones: Nmap puede identificar versiones de servicios y ayudar a
localizar posibles vulnerabilidades asociadas a versiones específicas.
Seguridad Web 2024 Ing. En sistemas computacionales
• Interacción programable: el NSE (Nmap Scripting Engine) de Nmap permite a los
usuarios crear análisis a medida y automatizar tareas complejas.
• Huella digital del sistema operativo: las capacidades de detección de SO de Nmap
permiten a los administradores identificar los sistemas operativos que se ejecutan en los
hosts descubiertos, lo que ayuda con el inventario de la red y las evaluaciones de seguridad.
Entender Nmap: escaneado de redes y auditoría de seguridad
El escaneado de redes explora sistemáticamente una red informática para identificar sus
componentes, evaluar su topología y descubrir posibles fallos de seguridad. Cuando los
administradores saben cómo está configurada una red, pueden tomar decisiones de seguridad con
conocimiento de causa y reforzar el perímetro digital.
Con su variada gama de técnicas de escaneado y su capacidad de personalización, Nmap es la
herramienta líder para el análisis de redes y la auditoría de seguridad. Estas son algunas de las
funciones que desempeña:
• Inventario de redes: Nmap puede elaborar una lista de todos los activos de software y
servicios de una red y crear un «mapa» de una red con detalles que incluyen direcciones
IP, puertos, versiones de software o servicios, sistemas operativos y direcciones MAC.
• Detección de vulnerabilidades: Nmap puede analizar una red en busca de
vulnerabilidades comparando los sistemas operativos y las versiones de los servicios que
se ejecutan en una red con las vulnerabilidades conocidas mediante el motor de secuencias
de comandos de Nmap (NSE).
• Supervisión de redes: la supervisión de redes puede lograrse automatizando las tareas de
escaneo con el motor de secuencias de comandos Nmap.
Empezar con Nmap
Instalar Nmap
Seguridad Web 2024 Ing. En sistemas computacionales
El primer paso para usar Nmap es instalarlo en tu equipo. A continuación, veremos las
instrucciones para los tres principales sistemas operativos. Puedes consultar la página de descargas
de Nmap para cada proceso de instalación para asegurarte de que obtienes la última versión del
software.
INSTALAR NMAP EN LINUX
La forma de instalar Nmap en Linux depende de la distribución que tengas. Para distribuciones
basadas en RPM como Red Hat, Mandrake, SUSE y Fedora, ejecuta el siguiente comando:
yum install nmap
Para Debian Linux y sus derivados como Ubuntu, ejecuta este comando:
apt-get install nmap
En la mayoría de las distribuciones de Linux, ZenMap, la interfaz gráfica oficial de Nmap, debe
instalarse por separado.
Instalar Nmap en Windows
Empieza dirigiéndote a la página de descargas de Nmap y descarga la última versión estable de
Nmap para Windows. Una vez descargado, haz doble clic en el archivo de instalación. Haz clic
en Sí cuando Windows te pregunte si deseas permitir que la aplicación realice cambios en tu
dispositivo y acepta la licencia.
En el siguiente menú se te preguntará qué componentes deseas instalar. Todo lo que necesitas ya
estará comprobado, incluido ZenMap si prefieres utilizar una interfaz gráfica de usuario. Haz clic
en Siguiente en esta pantalla
Seguridad Web 2024 Ing. En sistemas computacionales
En la pantalla final de la instalación de Nmap, haz clic en Instalar.
Una vez instalado Nmap, aparecerá la pantalla de configuración de Npcap. Npcap es la versión
para Windows de la librería libpcap, que soporta captura de paquetes y análisis de red y es
necesaria para que Nmap funcione. Acepta esta licencia y haz clic en Instalar en la siguiente
pantalla. A continuación, sólo tienes que seguir los pasos del proceso de instalación, dejando la
configuración predeterminada como está. Una vez finalizada la instalación, tendrás un enlace
Zenmap en tu escritorio y una carpeta en el menú de inicio.
Seguridad Web 2024 Ing. En sistemas computacionales
COMANDOS Y SINTAXIS BÁSICOS DE NMAP
Ahora que tienes Nmap instalado, puedes empezar a aprender algunos de los comandos básicos
para poder empezar con el escaneo de redes:
Ayuda
Para obtener ayuda de Nmap, ni siquiera tienes que utilizar un parámetro. Basta con ejecutar
nmap en un terminal.
Nmap
Detección sencilla de hosts
El primer paso en la exploración de la red es el descubrimiento de hosts, que revela los
dispositivos activos en la red. Aquí está ese comando:
nmap <target>
En el comando <target> puede haber una dirección IP, un nombre de host o un rango de
direcciones IP. He aquí ejemplos de cada uno de ellos:
#Single IP
nmap [Link]
#Hostname
nmap [Link]
#Range of IPs
nmap [Link]/24
Escaneo de ping
Escaneo básico de puertos
Puedes utilizar el escaneo básico de puertos para sondear los puertos y servicios abiertos en un
objetivo. El comando es el siguiente:
nmap -p <port-range> <target>
Seguridad Web 2024 Ing. En sistemas computacionales
Sustituye <port-range> con un único número de puerto o un rango de puertos (por ejemplo, 80,
443 o 1-1024) y <target> con la dirección IP o el nombre de host del destino.
Detección de versiones
Conocer las versiones de los servicios que se ejecutan en puertos abiertos es esencial para la
evaluación de vulnerabilidades. Para activar la detección de versiones en un escaneo básico de
puertos, sólo tienes que modificar el último comando de esta manera:
nmap -sV -p <port-range> <target>
El indicador -sV indica a Nmap que realice la detección de versiones en los puertos
especificados.
Huella digital del sistema operativo
Nmap también puede determinar el sistema operativo de un host objetivo a través de la huella
digital del SO cuando se utiliza el indicador -O. Aquí está ese comando:
nmap -O <target>
Aquí, <target> es una dirección IP o un nombre de host.
Usar Nmap para escanear la red
Ahora que conoces algunos de los comandos y opciones básicos de Nmap, vamos a ponerlos en
práctica. Para seguir adelante, necesitarás un rango de IP para escanear. Para encontrar un rango
en tu red, primero, encuentra la dirección IP de tu dispositivo. Para este artículo, usaremos
[Link], así que para nuestro rango IP, usaremos [Link]/24, que es la notación CIDR
(Classless Inter-Domain Routing) que representa las 256 direcciones [Link] – [Link].
También puedes utilizar [Link] como objetivo para algunos de estos escaneos, que se
creó para ayudar a la gente a aprender a utilizar Nmap.
Usar un escaneo de ping para identificar hosts activos
Seguridad Web 2024 Ing. En sistemas computacionales
Un escaneo de ping constituye la base del descubrimiento de hosts, permitiéndote encontrar
hosts activos con una red rápidamente. Para escanear mediante ping el rango de direcciones IP
de mi red, ejecuta el siguiente comando:
nmap -sn [Link]/24
Y aquí está el resultado, que muestra cinco hosts en mi red:
Exploración de diferentes técnicas de escaneado de puertos
Nmap es mucho más que un simple escaneo de ping. Un escaneo de ping nos dirá las direcciones
IP de los hosts, pero esos son los únicos datos que obtenemos del escaneo. Tendremos que
explorar más técnicas de escaneado para obtener más información sobre los hosts.
Exploración de conexión TCP
El escaneo de conexión TCP es la técnica de escaneo más directa. Nmap establece un protocolo
de enlace TCP completo de tres vías con cada puerto de destino para determinar su estado
(abierto, cerrado o filtrado). He aquí un ejemplo utilizando una IP encontrada en un escaneo de
ping:
nmap -sT [Link]
Este escaneo da una lista de los puertos en este host:
Seguridad Web 2024 Ing. En sistemas computacionales
Escaneo SYN
El escaneo SYN, un escaneo semiabierto o sigiloso, envía paquetes SYN a los puertos objetivo
sin completar el protocolo de enlace y evalúa las respuestas para determinar la apertura del
puerto sin conectarse completamente. Esta técnica es más rápida que el escaneo de conexión
TCP y es menos probable que se detecte. Aquí tienes un ejemplo de un escaneo SYN en esa
misma dirección IP:
sudo nmap -sS [Link]
Como puedes observar, se ha utilizado sudo con este comando. Algunos comandos de Nmap
requieren privilegios de root y devolverán este mensaje: «Has solicitado un tipo de análisis que
requiere privilegios de root». Esto se debe a que enviar y recibir paquetes sin procesar requiere
acceso root en un sistema Unix o Mac. En Windows, deberás utilizar una cuenta de
administrador. Aquí están los resultados de ese escaneo:
Seguridad Web 2024 Ing. En sistemas computacionales
Escaneo UDP
El escaneo UDP se dirige a los puertos UDP del host de destino. Dado que se trata de un
protocolo sin conexión, para determinar el estado de un puerto UDP es necesario interpretar la
respuesta o la ausencia de ella. Con este escaneo, Nmap detecta la limitación de velocidad y
reduce la velocidad para evitar desbordamientos. Cuando esto ocurre, el escaneo puede durar
mucho tiempo, hasta 18 horas, con un límite de un paquete por segundo. Por esta razón,
utilizamos la opción -F para escanear sólo los 100 puertos principales en lugar de los 65.535.
He aquí un ejemplo que también requiere privilegios de root o una cuenta de administrador:
sudo nmap -sU [Link] -F
Seguridad Web 2024 Ing. En sistemas computacionales
Y aquí está el resultado:
Escaneo del sistema operativo
Saber qué sistemas operativos se están ejecutando en los hosts de destino es importante para
comprender la arquitectura de una red. He aquí un ejemplo que de nuevo requiere privilegios de
root o una cuenta de administrador:
sudo nmap -O [Link]/24
Hemos vuelto a utilizar un rango de direcciones IP para este escaneo. He aquí algunos de los
resultados:
Seguridad Web 2024 Ing. En sistemas computacionales
Usar Nmap para auditorías de seguridad
Los comandos que acabas de aprender te ayudarán a comenzar con una auditoría de seguridad al
listar todos los puertos abiertos, servicios y sistemas operativos en uso en tu red. Esta auditoría
de seguridad te indicará los posibles puntos de entrada de agentes maliciosos. Puedes encontrar
más información sobre auditorías de seguridad utilizando Nmap Scripting Engine o NSE.
NSE incluye un conjunto de scripts que te ayudarán a encontrar vulnerabilidades en tus sistemas.
El motor de scripts utiliza el lenguaje de programación Lua y puedes escribir tus propios scripts
para personalizar los escaneos según tus necesidades. La lista actual de scripts NSE tiene 604
entradas que puedes consultar aquí. La mayoría de ellos llevan Nmap preinstalado.
Para nuestro ejemplo, utilizaremos el script vulners, que utiliza la base de datos de
vulnerabilidades Vulners. Este script depende de tener información sobre las versiones de
Seguridad Web 2024 Ing. En sistemas computacionales
software, por lo que debes utilizar el indicador -sV con él. Aquí hay un ejemplo de escaneo
usando este script para escanear un rango de IP:
nmap -sV --script=vulners [Link]/24
Por suerte o por desgracia, esta red no tenía vulnerabilidades, pero tienes un resultado parcial:
Nmap para diferentes sistemas operativos
Aunque los comandos de Nmap suelen ser constantes en los diferentes sistemas operativos,
algunos consejos y consideraciones pueden ser más relevantes para ciertos sistemas operativos.
Seguridad Web 2024 Ing. En sistemas computacionales
Linux
1. Instalar Nmap: la forma de instalar Nmap depende de tu gestor de paquetes.
Utilizarás apt-get en Debian y Ubuntu o yum en RHEL/CentOS. También
puedes ir a la página de descarga de Nmap e instalar los paquetes RPM
manualmente.
2. Ejecutar Nmap: para ejecutar Nmap en Linux, abre el terminal e introduce el
comando Nmap deseado
3. Actualizar Nmap: esto depende de tu distribución de Linux. Para Debian y
Ubuntu, el comando es sudo apt-get update y sudo apt-get upgrade nmap;
para RHEL/Centos, es sudo yum update nmap.
4. Desinstalar Nmap: de nuevo, esto depende de la distribución. Es sudo apt-get
remove nmap para Debian/Ubuntu y sudo yum remove nmap para
RHEL/Centos.
Windows
1. Instalar Nmap: dirígete a la página de descarga de Nmap y descarga el
ejecutable de instalación.
2. Ejecutar Nmap: en Windows, ejecuta Nmap abriendo el símbolo del sistema o
PowerShell e introduce el comando Nmap deseado.
3. Actualizar Nmap: Nmap detectará y actualizará automáticamente la última
versión en Windows.
4. Desinstalar Nmap: abre la carpeta donde está instalado Nmap y haz doble clic
en el script de desinstalación para iniciar el proceso de desinstalación.
5. Rendimiento: Nmap en Windows puede no ser tan eficiente como en un
sistema basado en Unix, y sólo soporta interfaces ethernet para escaneos de
Seguridad Web 2024 Ing. En sistemas computacionales
paquetes en bruto, pero el rendimiento es generalmente lo suficientemente
bueno para la mayoría de los casos de uso.
Mac
1. Instalar Nmap: en Mac, puedes instalar Nmap descargando el archivo de
instalación .dmg de la página de descargas de Nmap o con Homebrew mediante
este comando: brew install nmap.
2. Ejecutar Nmap: abre la aplicación terminal e introduce el comando Nmap
deseado.
3. Actualizar Nmap: si has instalado Nmap con Homebrew, ejecuta brew
upgrade nmap para actualizarlo. Si has descargado el archivo .dmg, puedes
encontrar tu versión de nmap ejecutando el comando nmap. Puedes compararla
con la versión estable actual en la página de descargas para ver si necesitas
descargar una nueva instalación.
4. Desinstalar Nmap: si has instalado Nmap con Homebrew, ejecuta brew
uninstall nmap para desinstalarlo. Si has instalado Nmap desde el sitio web
oficial, ejecuta sudo rm -rf /usr/local/bin/nmap
/usr/local/share/man/man1/nmap.1.
Sácale partido a Nmap y mejora la seguridad de tu red
Si tu objetivo es mantener tu red a salvo, Nmap puede ser un aliado muy valioso. Mediante
diversas técnicas de exploración, Nmap descubre hosts activos, sondea puertos abiertos e
identifica posibles vulnerabilidades. Nmap Scripting Engine (NSE) te ayudará a automatizar
estas evaluaciones y a abordar problemas de seguridad específicos.
Para sacarle el máximo partido a Nmap:
• Adapta los escaneos a objetivos y ámbitos específicos.
Seguridad Web 2024 Ing. En sistemas computacionales
• Parchea periódicamente los sistemas para protegerte de las vulnerabilidades
conocidas.
• Realiza auditorías de seguridad periódicas para adelantarte a las amenazas.
Con Nmap como copiloto de seguridad de confianza, podrás moverte por el complejo panorama
de la seguridad de redes, asegurar que tus activos digitales estén a salvo y protegerte frente a las
ciberamenazas.