Cómo usar Nmap: guía completa con ejemplos

How to Use Nmap blog image

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.
  • 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

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 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. Configuración de Nmap

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.   Nmap Setup - acuerdo de licencia

Instalar Nmap en Mac

Hay un par de opciones para instalar Nmap en un ordenador Mac. La primera es sencilla si ya tienes Homebrew instalado. Sólo tienes que ejecutar el siguiente comando:

brew install nmap

También puedes visitar el Mapa de descargas de Nmap, desplazarte hasta la sección Mac OS X Binaries y descargar el último instalador de la versión estable, un archivo .dmg. Esta versión también incluye ZenMap. Sólo tienes que hacer doble clic en el archivo dmg para iniciar el instalador y seguir las instrucciones. Mapa de descarga de Nmap

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 127.0.0.1
#Hostname
nmap example.com
#Range of IPs
nmap 192.168.10.0/24
Escaneo de ping

Este comando identifica hosts activos en tu red sin enviar ningún paquete al host. La sintaxis para esta exploración es:

nmap -sn <target>

Aquí, <target> también puede ser una dirección IP, un nombre de host o un rango de direcciones IP.

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>

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 10.0.0.23, así que para nuestro rango IP, usaremos 10.0.0.0/24, que es la notación CIDR (Classless Inter-Domain Routing) que representa las 256 direcciones 10.0.0.0 – 10.0.0.255. También puedes utilizar scanme.nmap.org 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

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 10.0.0.0/24

Y aquí está el resultado, que muestra cinco hosts en mi red:

Escaneo de red Nmap

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 10.0.0.1

Este escaneo da una lista de los puertos en este host:

Escaneo de conexión TCP

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 10.0.0.1

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:

Escaneo SYN

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 10.0.0.1 -F

Y aquí está el resultado: Escaneo UDP

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 10.0.0.0/24

Hemos vuelto a utilizar un rango de direcciones IP para este escaneo. He aquí algunos de los resultados:

Escaneo del SO

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 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 10.0.0.0/24

Por suerte o por desgracia, esta red no tenía vulnerabilidades, pero tienes un resultado parcial:

Auditoría de seguridad

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.

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 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.
  • 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.

Próximos pasos

Los fundamentos de la seguridad de los dispositivos son esenciales para la seguridad general. NinjaOne facilita la aplicación de parches, el fortalecimiento, la seguridad y las copias de seguridad de todos tus dispositivos de forma centralizada, remota y a gran escala.

También te puede gustar

¿Listo para simplificar los aspectos más complejos de las TI?
×

¡Vean a NinjaOne en acción!

Al enviar este formulario, acepto la política de privacidad de NinjaOne.

Términos y condiciones de NinjaOne

Al hacer clic en el botón “Acepto” que aparece a continuación, estás aceptando los siguientes términos legales, así como nuestras Condiciones de uso:

  • Derechos de propiedad: NinjaOne posee y seguirá poseyendo todos los derechos, títulos e intereses sobre el script (incluidos los derechos de autor). NinjaOne concede al usuario una licencia limitada para utilizar el script de acuerdo con estos términos legales.
  • Limitación de uso: solo podrás utilizar el script para tus legítimos fines personales o comerciales internos, y no podrás compartirlo con terceros.
  • Prohibición de republicación: bajo ninguna circunstancia está permitido volver a publicar el script en ninguna biblioteca de scripts que pertenezca o esté bajo el control de cualquier otro proveedor de software.
  • Exclusión de garantía: el script se proporciona “tal cual” y “según disponibilidad”, sin garantía de ningún tipo. NinjaOne no promete ni garantiza que el script esté libre de defectos o que satisfaga las necesidades o expectativas específicas del usuario.
  • Asunción de riesgos: el uso que el usuario haga del script corre por su cuenta y riesgo. El usuario reconoce que existen ciertos riesgos inherentes al uso del script, y entiende y asume cada uno de esos riesgos.
  • Renuncia y exención: el usuario no hará responsable a NinjaOne de cualquier consecuencia adversa o no deseada que resulte del uso del script y renuncia a cualquier derecho o recurso legal o equitativo que pueda tener contra NinjaOne en relación con su uso del script.
  • CLUF: si el usuario es cliente de NinjaOne, su uso del script está sujeto al Contrato de Licencia para el Usuario Final (CLUF).