Aleatorizar Objetivos en 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, exploraremos cómo aleatorizar el orden de los hosts objetivo en los escaneos de Nmap. Comenzaremos realizando un escaneo estándar de subred en 192.168.1.0/24 para identificar los hosts activos.

Luego, usaremos la opción --randomize-hosts para barajar el orden en el que Nmap escanea las direcciones IP objetivo, tanto para una subred (192.168.1.0/24) como para un rango específico (192.168.1.1-10). También agregaremos detalle con la bandera -v y guardaremos los resultados del escaneo aleatorizado en un archivo llamado random.txt. Finalmente, compararemos las salidas en la terminal Xfce para observar el efecto de la aleatorización.

Escanear la subred normalmente con nmap 192.168.1.0/24

En este paso, realizaremos un escaneo básico de red utilizando Nmap para identificar los hosts activos dentro de la subred 192.168.1.0/24. Esta es una técnica fundamental para la reconocimiento de red y la comprensión de los dispositivos presentes en una red.

Antes de comenzar, discutamos brevemente qué son Nmap y el escaneo de subredes:

  • Nmap (Network Mapper): Una utilidad gratuita y de código abierto para el descubrimiento de redes y auditoría de seguridad. Se utiliza para descubrir hosts y servicios en una red de computadoras enviando paquetes y analizando las respuestas.
  • Subred: Una subdivisión lógica de una red IP. La notación /24 (notación CIDR) indica la máscara de subred, que en este caso es 255.255.255.0. Esto significa que los primeros tres octetos (192.168.1) definen la red, y el último octeto (0-255) definen las direcciones de host dentro de esa red.
  • Escanear subred: El proceso de escanear todas las direcciones IP posibles dentro de una subred para identificar los hosts activos.

Ahora, realicemos el escaneo. Abra su terminal Xfce en la VM de LabEx. Recuerde que su directorio predeterminado es ~/project.

Ejecute el siguiente comando:

sudo nmap 192.168.1.0/24

Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios de sudo sin contraseña, simplemente presione Enter.

Este comando le dice a Nmap que escanee todas las direcciones IP desde 192.168.1.0 hasta 192.168.1.255. Nmap enviará varios sondeos a cada dirección IP para determinar si un host está activo.

La salida mostrará una lista de hosts descubiertos y su estado (por ejemplo, "Host is up"). También podría mostrar los puertos abiertos en esos hosts si Nmap es capaz de determinarlos.

Salida de ejemplo (la salida real variará según su red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

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

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.00 seconds

Esta salida indica que se encontraron dos hosts activos: 192.168.1.1 y 192.168.1.100. También muestra que el puerto 22 (SSH) está abierto en 192.168.1.1 y el puerto 80 (HTTP) está abierto en 192.168.1.100.

Aleatorizar hosts con nmap --randomize-hosts 192.168.1.0/24

En este paso, mejoraremos nuestro escaneo de red aleatorizando el orden en el que Nmap escanea los hosts dentro de la subred 192.168.1.0/24. Esta técnica es útil para evitar los sistemas básicos de detección de intrusiones (IDS) y hacer que el escaneo sea menos predecible.

Por defecto, Nmap escanea los hosts en orden secuencial. Esto puede ser fácilmente detectado por las herramientas de monitoreo de red. La opción --randomize-hosts baraja el orden de las direcciones IP objetivo antes de escanear, lo que hace más difícil identificar el escaneo.

Para aleatorizar el orden de los hosts, ejecute el siguiente comando en su terminal Xfce:

sudo nmap --randomize-hosts 192.168.1.0/24

Como antes, se le pedirá su contraseña. Dado que el usuario labex tiene privilegios de sudo sin contraseña, simplemente presione Enter.

Este comando escaneará la misma subred (192.168.1.0/24) que en el paso anterior, pero el orden en el que se escanean las direcciones IP será aleatorizado.

La salida será similar al escaneo anterior, mostrando los hosts descubiertos y su estado. Sin embargo, el orden en el que se listan los hosts puede ser diferente.

Salida de ejemplo (la salida real variará según su red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for 192.168.1.100
Host is up (0.00030s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
80/tcp  open  http

Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.10 seconds

Observe que el orden de los hosts (192.168.1.100 y 192.168.1.1) en la salida puede ser diferente del escaneo anterior. Esto se debe a la opción --randomize-hosts.

Aleatorizar rango con nmap --randomize-hosts 192.168.1.1-10

En este paso, nos centraremos en escanear un rango específico de direcciones IP (192.168.1.1 a 192.168.1.10) y aleatorizar el orden en el que se escanean estos hosts. Esto es útil cuando quieres enfocarte en un subconjunto más pequeño de una red y aún mantener cierto nivel de disimulo.

La opción --randomize-hosts, como vimos en el paso anterior, baraja el orden de las direcciones IP objetivo. Esta vez, la aplicaremos a un rango específico en lugar de toda la subred.

Para aleatorizar el orden de los hosts dentro del rango 192.168.1.1-10, ejecuta el siguiente comando en tu terminal Xfce:

sudo nmap --randomize-hosts 192.168.1.1-10

Se te pedirá tu contraseña. Dado que el usuario labex tiene privilegios de sudo sin contraseña, simplemente presiona Enter.

Este comando le dice a Nmap que escanee las direcciones IP de 192.168.1.1 a 192.168.1.10, pero en un orden aleatorizado.

La salida te mostrará una lista de los hosts descubiertos dentro de ese rango y su estado. El orden en el que se listan los hosts se aleatorizará cada vez que ejecutes el comando.

Salida de ejemplo (la salida real variará según tu red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.5
Host is up (0.00025s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh

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

Nmap done: 10 IP addresses (2 hosts up) scanned in 2.00 seconds

En este ejemplo, Nmap escanearon las direcciones IP de 192.168.1.1 a 192.168.1.10 en un orden aleatorio y encontraron dos hosts activos: 192.168.1.5 y 192.168.1.1. Los puertos mostrados son solo ejemplos y pueden variar en tu entorno.

Añadir detalle con nmap -v --randomize-hosts 192.168.1.0/24

En este paso, agregaremos detalle a nuestro escaneo de Nmap mientras seguimos aleatorizando el orden de los hosts. El detalle proporciona información más detallada sobre el proceso de escaneo, lo que puede ser útil para la depuración o la comprensión del comportamiento de Nmap.

La opción -v en Nmap aumenta el nivel de detalle. Usándola una vez proporciona más información que la salida predeterminada. Usándola dos veces (-vv) proporciona aún más detalle.

Para agregar detalle y aleatorizar el orden de los hosts, ejecuta el siguiente comando en tu terminal Xfce:

sudo nmap -v --randomize-hosts 192.168.1.0/24

Se te pedirá tu contraseña. Dado que el usuario labex tiene privilegios de sudo sin contraseña, simplemente presiona Enter.

Este comando escaneará la subred 192.168.1.0/24, aleatorizando el orden de los hosts y proporcionando una salida más detallada.

La salida ahora incluirá detalles sobre el proceso de escaneo, como las sondas que se envían, los puertos que se escanean y las razones para ciertas decisiones.

Salida de ejemplo (la salida real variará según tu red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Initiating Ping Scan at 10:15
Scanning 256 hosts [2 ports/host]
Completed Ping Scan at 10:15, 0.72s elapsed (256 total hosts)
Initiating Parallel DNS resolution of 256 hosts. at 10:15
Completed Parallel DNS resolution of 256 hosts. at 10:15, 1.81s elapsed
Initiating SYN Stealth Scan at 10:15
Scanning 256 hosts [1000 ports/host]
Discovered open port 22/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.100
Completed SYN Stealth Scan at 10:16, 3.21s elapsed (256 total hosts)
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.100
Host is up (0.00030s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.74 seconds

La salida ahora muestra más información sobre el proceso de escaneo, como la duración de la búsqueda ICMP y la resolución DNS. Esto puede ser útil para entender cómo funciona Nmap y para solucionar cualquier problema.

Guardar resultados con nmap --randomize-hosts -oN random.txt 192.168.1.0/24

En este paso, aprenderemos a guardar los resultados de un escaneo de Nmap en un archivo. Esto es crucial para un análisis posterior, informes o comparaciones con escaneos anteriores. Continuaremos aleatorizando el orden de los hosts mientras guardamos la salida.

Nmap ofrece varias opciones para guardar los resultados del escaneo, cada una con un formato diferente. La opción -oN especifica la salida "normal", que es legible por humanos y adecuada para ser analizada con herramientas simples.

Para guardar los resultados de un escaneo de hosts aleatorizado en un archivo llamado random.txt, ejecuta el siguiente comando en tu terminal Xfce:

sudo nmap --randomize-hosts -oN random.txt 192.168.1.0/24

Se te pedirá tu contraseña. Dado que el usuario labex tiene privilegios de sudo sin contraseña, simplemente presiona Enter.

Este comando le dice a Nmap que escanée la subred 192.168.1.0/24, aleatorice el orden de los hosts y guarde la salida en formato "normal" en un archivo llamado random.txt en tu directorio actual (~/proyecto).

Una vez finalizado el escaneo, puedes ver el contenido del archivo random.txt usando el comando cat o un editor de texto como nano.

cat random.txt

Salida de ejemplo (la salida real variará según tu red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
PORT   STATE SERVICE
22/tcp open  ssh

Nmap scan report for 192.168.1.100
Host is up (0.00030s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 256 IP addresses (2 hosts up) scanned in 5.00 seconds

El archivo random.txt ahora contiene la misma información que se mostró en la pantalla durante el escaneo. Ahora puedes usar este archivo para un análisis o informe adicional.

Comparar salidas en la terminal Xfce

En este paso, compararemos las salidas de los diferentes escaneos de Nmap que realizamos en los pasos anteriores. Esto nos ayudará a entender los efectos de las diversas opciones que usamos, como la aleatorización de los hosts y la detalle.

Primero, repasemos los comandos que ejecutamos:

  1. sudo nmap 192.168.1.0/24 (Escaneo normal)
  2. sudo nmap --randomize-hosts 192.168.1.0/24 (Hosts aleatorizados)
  3. sudo nmap --randomize-hosts 192.168.1.1-10 (Rango aleatorizado)
  4. sudo nmap -v --randomize-hosts 192.168.1.0/24 (Detalle, hosts aleatorizados)
  5. sudo nmap --randomize-hosts -oN random.txt 192.168.1.0/24 (Hosts aleatorizados, guardados en archivo)

Para comparar las salidas, puedes usar varios métodos:

  • Comparación directa en la terminal: Puedes retroceder en el historial de la terminal para comparar las salidas de los primeros cuatro comandos. Observa las diferencias en el orden de los hosts escaneados (si las hay) y el nivel de detalle proporcionado por el escaneo detallado.

  • Comparar el escaneo normal con el archivo guardado: Puedes ejecutar nuevamente el primer comando y comparar su salida con el contenido del archivo random.txt que creamos en el paso anterior.

    sudo nmap 192.168.1.0/24
    cat random.txt

    Observa que la salida debe ser similar, pero el orden de los hosts escaneados puede ser diferente debido a la opción --randomize-hosts usada al crear random.txt.

  • Usar el comando diff (Opcional): Para una comparación más detallada, puedes guardar la salida del escaneo normal en un archivo (por ejemplo, normal.txt) y luego usar el comando diff para comparar los dos archivos.

    sudo nmap -oN normal.txt 192.168.1.0/24
    diff normal.txt random.txt

    El comando diff resaltará cualquier diferencia entre los dos archivos. Si la única diferencia es el orden de los hosts, la salida mostrará líneas que se agregan y se eliminan, pero el contenido será el mismo.

Al comparar las salidas, deberías poder observar lo siguiente:

  • La opción --randomize-hosts cambia el orden en que Nmap escanea los hosts.
  • La opción -v proporciona más información detallada sobre el proceso de escaneo.
  • La opción -oN guarda los resultados del escaneo en un archivo en un formato legible por humanos.

Este es el final del laboratorio de Nmap. Has aprendido a realizar escaneos básicos de Nmap, aleatorizar el orden de los hosts, aumentar el detalle y guardar los resultados en un archivo. Estas son habilidades fundamentales para la reconocimiento de redes y auditoría de seguridad.

Resumen

En este laboratorio, exploramos las capacidades de Nmap para el escaneo de redes y la detección de hosts. Comenzamos realizando un escaneo estándar de subred usando nmap 192.168.1.0/24 para identificar los hosts activos dentro del rango de red especificado. Este paso fundamental demostró cómo Nmap explora las direcciones IP para determinar la disponibilidad de los hosts.

Posteriormente, aprendimos a aleatorizar el orden en que Nmap escanea los objetivos usando la opción --randomize-hosts, aplicándola tanto a una subred (192.168.1.0/24) como a un rango de IP específico (192.168.1.1-10). También aumentamos el detalle del escaneo con la opción de verbosidad (-v) para obtener una salida más detallada y guardamos los resultados en un archivo (random.txt) para una comparación posterior, lo que destaca técnicas prácticas para controlar y documentar los escaneos de Nmap.