Escaneo de Redes con Nmap

NmapNmapBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, explorarás el mundo de la seguridad de redes aprendiendo cómo usar Nmap, una herramienta de escaneo de redes poderosa y versátil. Nmap (Network Mapper) es una utilidad de código abierto que utilizan los administradores de sistemas y los profesionales de seguridad para descubrir hosts, servicios y vulnerabilidades en una red. Es como una linterna en una habitación oscura, que te ayuda a ver lo que hay y lo que podría estar escondido.

En este laboratorio práctico, aprenderás:

  1. Cómo instalar y usar Nmap
  2. Diferentes tipos de escaneos de redes
  3. Cómo interpretar los resultados de Nmap
  4. La importancia de la seguridad de redes en contextos del mundo real

Recuerda, las habilidades que aprendes aquí son poderosas y solo deben usarse de manera ética y en redes que pertenezcan a ti o para las que tengas permiso explícito para probar. ¡Empecemos!

Instalación de Nmap

Antes de poder comenzar a explorar redes, necesitamos equiparnos con la herramienta adecuada. En este paso, instalaremos Nmap en tu sistema.

  1. Primero, abramos la terminal. En el mundo real, muchas operaciones de red se realizan a través de una interfaz de línea de comandos, así que es bueno sentirte cómodo con ella. En tu escritorio, localiza y abre la terminal Xfce.
Ventana de la terminal Xfce abierta

Nota: Los usuarios gratuitos no pueden conectarse a Internet, por lo que Nmap ya está preinstalado en el entorno del laboratorio. Puedes saltar al punto 4 de la lista (comprobar si Nmap está instalado). Actualízate a usuario pro para practicar la instalación de Nmap por ti mismo.

Solo para usuarios Pro
  1. Una vez que la terminal esté abierta, necesitamos actualizar las listas de paquetes. Esto asegura que tengamos la información más reciente sobre el software disponible. Escribe el siguiente comando y presiona Enter:
sudo apt-get update

sudo se utiliza para ejecutar comandos con privilegios administrativos.

  1. Ahora que nuestras listas de paquetes están actualizadas, instalemos Nmap. Ingresa el siguiente comando:
sudo apt-get install nmap -y

La opción -y responde automáticamente "sí" a cualquier solicitud, lo que hace que la instalación sea más fluida.

  1. Después de que se complete la instalación, es una buena práctica verificar que Nmap se haya instalado correctamente. Podemos hacer esto comprobando su versión. Ingresa:
nmap --version

Deberías ver una salida similar a esta:

Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.6 openssl-3.0.2 nmap-libssh2-1.8.2 libz-1.2.11 libpcre-8.39 libpcap-1.10.1 nmap-libdnet-1.12 ipv6
Compiled without:
Available nsock engines: epoll poll select

No te preocupes si el número de versión o algunos detalles son diferentes; Nmap se actualiza regularmente.

¡Felicidades! Acabas de instalar una poderosa herramienta de escaneo de redes. Nmap es como un cuchillo suizo para la exploración de redes y la auditoría de seguridad. Tiene muchas funciones, desde simples escaneos de ping hasta la detección avanzada de vulnerabilidades. En este laboratorio, nos centraremos en su uso básico para ayudarte a entender sus capacidades.

Si estás curioso por saber qué más puede hacer Nmap, puedes escribir man nmap en la terminal. Esto mostrará la página del manual de Nmap, que detalla todas sus opciones y capacidades. Siéntete libre de explorar, pero no te preocupes por entender todo de inmediato; cubriremos las partes más importantes en este laboratorio.

Comprensión de las direcciones IP

Antes de comenzar a escanear redes, es fundamental entender las direcciones IP. Imagina una dirección IP como la dirección de tu casa para tu computadora en la red. Así como un servicio postal necesita tu dirección de casa para entregar el correo, otros dispositivos en la red necesitan tu dirección IP para comunicarse con tu computadora.

  1. Una dirección IP es un identificador único para un dispositivo en una red. Por lo general, se ve como una serie de números separados por puntos, como 192.168.1.1.
graph LR A[Internet] --- B[Router 192.168.1.1] B --- C[PC 192.168.1.10] B --- D[Laptop 192.168.1.11] B --- E[Smartphone 192.168.1.12] B --- F[Smart TV 192.168.1.13] style A fill:#f9f,stroke:#333,stroke-width:4px style B fill:#bbf,stroke:#333,stroke-width:2px style C fill:#dfd,stroke:#333,stroke-width:2px style D fill:#dfd,stroke:#333,stroke-width:2px style E fill:#dfd,stroke:#333,stroke-width:2px style F fill:#dfd,stroke:#333,stroke-width:2px
  1. Para encontrar tu propia dirección IP, usaremos un comando que muestra información de las interfaces de red. Ingresa este comando:
ip addr show | grep inet

Desglosemos esto:

  • ip addr show muestra información sobre todas las interfaces de red
  • | (tubería) envía esa salida al siguiente comando
  • grep inet filtra la salida para mostrar solo las líneas que contengan "inet", que incluyen direcciones IP

Verás una salida similar a esta:

inet 127.0.0.1/8 scope host lo
inet 172.19.0.3/16 brd 172.19.255.255 scope global eth1
  1. En esta salida, verás varias direcciones IP. Esto es lo que significan:

    • 127.0.0.1 es la dirección "localhost". Cada computadora se refiere a sí misma como 127.0.0.1. Esto se utiliza para conexiones locales dentro de tu propia máquina.
    • 172.19.0.3 es la dirección IP de tu máquina en la red. Esta es la dirección que otros dispositivos utilizarían para comunicarse con tu máquina.
  2. Anota la dirección IP que no sea 127.0.0.1 (en este caso, 172.19.0.3). La usaremos en el siguiente paso.

La /16 después de la dirección IP se llama máscara de subred. Define el tamaño de la red. En este caso, /16 significa que los dos primeros números de la dirección IP (172.19) definen la red, y los dos últimos se pueden utilizar para dispositivos individuales.

Si te preguntas sobre los diferentes tipos de direcciones IP, vale la pena señalar que hay dos versiones principales del protocolo IP: IPv4 (como 172.19.0.3) e IPv6 (que comenzaría con caracteres como fe80::). IPv6 se creó para resolver el problema de quedarse sin direcciones IPv4 a medida que más dispositivos se conectan a Internet. Para este laboratorio, nos centraremos en las direcciones IPv4.

Realización de un escaneo básico de Nmap

Ahora que entendemos las direcciones IP y tenemos Nmap instalado, realicemos nuestro primer escaneo de red. Comenzaremos escaneando nuestra propia máquina para ver qué nos puede decir Nmap sobre ella.

  1. Usaremos la dirección IP que anotaste en el paso anterior. Ejecuta el siguiente comando, reemplazando <YOUR_IP> con la dirección IP que encontraste:
nmap <YOUR_IP>

Por ejemplo, si tu dirección IP es 172.19.0.3, ejecutarías:

nmap 172.19.0.3
  1. Después de ejecutar este comando, Nmap realizará un escaneo y mostrará los resultados. Aquí tienes un ejemplo de lo que podrías ver:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-24 10:00 CST
Nmap scan report for 336efdcfb776.external (172.19.0.3)
Host is up (0.00017s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
  1. Desglosemos esta salida para entender lo que Nmap nos está diciendo:

    • "Starting Nmap 7.80": Esta es la versión de Nmap que estás utilizando.
    • "Host is up": Esto confirma que la dirección IP respondió al escaneo.
    • "Not shown: 998 closed ports": Nmap escaneó 1000 puertos comunes, y 998 de ellos estaban cerrados.
    • "PORT STATE SERVICE": Esto muestra los puertos abiertos que Nmap encontró.
      • 22/tcp open ssh: El puerto 22 está abierto y se utiliza típicamente para SSH (Secure Shell), un protocolo para acceso remoto seguro.
      • 3001/tcp open nessus: El puerto 3001 está abierto y está asociado con el escáner de vulnerabilidades Nessus.
  2. Este escaneo básico nos da una visión general rápida de los servicios que se ejecutan en la máquina. En un escenario del mundo real, esta información se podría utilizar para:

    • Identificar posibles vulnerabilidades (por ejemplo, un puerto abierto innecesario)
    • Verificar que los servicios necesarios estén en funcionamiento
    • Detectar servicios inesperados que podrían indicar una violación de seguridad

Recuerda, en el mundo real, solo debes realizar escaneos en redes y dispositivos que pertenezcan a ti o para los que tengas permiso explícito para probar. El escaneo no autorizado puede ser ilegal y poco ético.

Realización de un escaneo de detección de sistema operativo

Nmap no se limita solo a encontrar puertos abiertos. También puede intentar determinar el sistema operativo de la máquina objetivo. Esta función es increíblemente útil para administradores de redes y profesionales de seguridad, ya que diferentes sistemas operativos tienen diferentes vulnerabilidades y requieren diferentes medidas de seguridad.

  1. Para realizar un escaneo de detección de sistema operativo, usamos la opción -O (ten en cuenta que esta es una 'O' mayúscula, no el número cero). Este escaneo requiere privilegios de root, así que usaremos sudo. Ejecuta este comando, reemplazando <YOUR_IP> con tu dirección IP real:
sudo nmap -O <YOUR_IP>

Por ejemplo, si tu dirección IP es 172.19.0.3, ejecutarías:

sudo nmap -O 172.19.0.3
  1. La salida será similar al escaneo básico, pero con información adicional sobre el sistema operativo. Aquí tienes un ejemplo:
Starting Nmap 7.80 ( https://nmap.org ) at 2024-09-24 10:01 CST
Nmap scan report for 336efdcfb776.external (172.19.0.3)
Host is up (0.000035s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/.
Nmap done: 1 IP address (1 host up) scanned in 1.76 seconds
  1. Desglosemos la nueva información:

    • "Device type: general purpose": Esto indica que es una computadora regular, no un dispositivo especializado como un enrutador o una impresora.
    • "Running: Linux 2.6.X": Nmap ha determinado que probablemente se trata de un sistema Linux que ejecuta la versión 2.6.X del kernel.
    • "OS details: Linux 2.6.32": Esta es una suposición más específica sobre la versión del kernel.
  2. En un escenario del mundo real, esta información se podría utilizar de varias maneras:

    • Por parte de los atacantes para aprovechar vulnerabilidades específicas asociadas con el sistema operativo.
    • Por parte de los defensores para asegurarse de que los sistemas estén correctamente parcheados y seguros.
    • Por parte de los administradores de red para mantener un inventario de los sistemas y asegurarse de que todos estén actualizados.

Vale la pena señalar que la detección de sistema operativo no siempre es 100% precisa. Nmap hace su mejor suposición basándose en cómo el sistema responde a varias sondas, pero los firewalls y otras medidas de seguridad a veces pueden interferir con la detección precisa.

Escaneo de un rango de red

En entornos de red reales, a menudo es necesario escanear múltiples direcciones IP o segmentos de red enteros. Esto es útil para descubrir todos los dispositivos en una red, lo cual es una tarea común para administradores de red y profesionales de seguridad. Intentemos escanear un rango de red.

  1. Escanearemos un pequeño rango de direcciones IP basado en la IP que hemos estado utilizando. Vamos a escanear el rango 172.19.0.1 - 20:
nmap 172.19.0.1-20

Este comando le dice a Nmap que escanee todas las direcciones IP desde 172.19.0.1 hasta 172.19.0.20.

  1. Ahora, escanemos una subred completa. Usaremos la notación CIDR para especificar la red. Ejecuta el siguiente comando, reemplazando <YOUR_NETWORK> con la dirección de tu red:
nmap YOUR_NETWORK /24

Por ejemplo:

nmap 172.19.0.0/24

NMAP escanea las 256 direcciones IP en el rango de red 172.19.0.0/24 (donde /24 indica una máscara de subred de 24 bits) en busca de hosts activos y puertos abiertos.

  1. Para guardar la salida de este escaneo en un archivo para su posterior análisis, podemos usar la opción -oN seguida de un nombre de archivo. Ejecuta:
nmap 172.19.0.0/24 -oN network_scan.txt

Esto realizará el escaneo y guardará los resultados en un archivo llamado network_scan.txt en tu directorio actual.

  1. Examinemos el contenido del archivo:
cat network_scan.txt

La salida mostrará los resultados para cada host que responda en el rango. Aquí tienes un ejemplo de lo que podrías ver:

## Nmap 7.80 scan initiated Fri Sep 27 15:45:29 2024 as: nmap -oN network_scan.txt 172.19.0.0/24
Nmap scan report for iZrj9gvdh5xn02z8rmsn9mZ (172.19.0.1)
Host is up (0.00045s latency).
Not shown: 997 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
10010/tcp open  rxapi

Nmap scan report for node_openresty.external (172.19.0.2)
Host is up (0.00047s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
80/tcp open  http

Nmap scan report for 36cff415ddd9.external (172.19.0.3)
Host is up (0.00045s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

Nmap scan report for 041bf22f47a1.external (172.19.0.4)
Host is up (0.00050s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

Nmap scan report for 2299e8eff7e5.external (172.19.0.5)
Host is up (0.00048s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
3001/tcp open  nessus

## Nmap done at Fri Sep 27 15:45:32 2024 -- 256 IP addresses (5 hosts up) scanned in 3.25 seconds
  1. Interpretemos esta salida:

    • Nmap escaneó todas las 256 direcciones IP en la red 172.19.0.0/24.
    • Encontró 5 hosts que estaban activos y respondían.
    • Para cada host, listó los puertos abiertos y los servicios detectados.
  2. En un escenario del mundo real, este tipo de escaneo es invaluable para:

    • Administradores de red: Para mantener un inventario de hosts activos y servicios en su red.
    • Profesionales de seguridad: Para identificar todos los dispositivos en una red y asegurarse de que todos estén contabilizados y seguros.
    • Atacantes: Para identificar posibles objetivos en una red, razón por la cual es crucial proteger las redes contra el escaneo no autorizado.

Recuerda, aunque este conocimiento es poderoso, es fundamental usarlo de manera responsable. Siempre obtén la autorización adecuada antes de escanear cualquier red que no sea tuya.

Resumen

¡Felicidades! Acabas de dar tus primeros pasos en el mundo del escaneo de redes y la seguridad. En este laboratorio, has adquirido experiencia práctica con Nmap, una de las herramientas más poderosas en el arsenal de un profesional de redes. Repasemos lo que has aprendido:

  1. Instalación: Has instalado Nmap, una habilidad crucial para configurar tu conjunto de herramientas de ciberseguridad.
  2. Uso básico: Has realizado un escaneo simple, aprendiendo cómo identificar puertos abiertos y servicios en un solo host.
  3. Detección de sistema operativo: Has utilizado la función de detección de sistema operativo de Nmap, comprendiendo cómo esta información puede ser crucial tanto para atacantes como para defensores.
  4. Exploración de red: Has escaneado un rango de direcciones IP y una subred completa, simulando cómo los profesionales podrían mapear una red.
  5. Gestión de salida: Has aprendido cómo guardar los resultados de un escaneo en un archivo para su posterior análisis, una habilidad esencial para documentar auditorías de red.

Este laboratorio te ha proporcionado una base en el escaneo de redes, pero hay mucho más que aprender sobre Nmap y la seguridad de redes. Para continuar tu viaje y profundizar en tu comprensión, te recomendamos tomar el curso integral "Quick Start with Nmap" disponible en https://labex.io/courses/quick-start-with-nmap.

Quick Start with Nmap

Este curso se basará en las habilidades que has aprendido hoy y te presentará técnicas más avanzadas de Nmap y conceptos de seguridad de redes.

Recuerda, el conocimiento que has adquirido es poderoso y debe usarse de manera responsable. Asegúrate siempre de tener la autorización adecuada antes de escanear cualquier red, y utiliza tus habilidades para promover la seguridad y las prácticas éticas en el mundo digital.

Sigue aprendiendo, mantén la curiosidad y ¡feliz escaneo!