Explora los Niveles de Verbosity de Nmap para el Escaneo de Redes

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, aprenderá cómo utilizar Nmap, una potente herramienta de escaneo de redes, en varios niveles de detalle (verbosity). Nmap es la opción preferida de los expertos en seguridad para descubrir hosts y servicios en redes informáticas. Dominar las opciones de detalle de Nmap le permite controlar la información mostrada durante los escaneos, lo cual es esencial para un análisis eficiente de la red y la resolución de problemas.

A lo largo del laboratorio, configurará un servidor local para practicar el escaneo. También explorará cómo diferentes niveles de detalle afectan los resultados del escaneo y la información presentada.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") subgraph Lab Skills nmap/installation -.-> lab-415939{{"Explora los Niveles de Verbosity de Nmap para el Escaneo de Redes"}} nmap/basic_syntax -.-> lab-415939{{"Explora los Niveles de Verbosity de Nmap para el Escaneo de Redes"}} nmap/save_output -.-> lab-415939{{"Explora los Niveles de Verbosity de Nmap para el Escaneo de Redes"}} nmap/port_scanning -.-> lab-415939{{"Explora los Niveles de Verbosity de Nmap para el Escaneo de Redes"}} nmap/verbosity -.-> lab-415939{{"Explora los Niveles de Verbosity de Nmap para el Escaneo de Redes"}} end

Configuración de tu entorno para el escaneo de redes

En el primer paso de este experimento, vamos a configurar un servidor web local en tu máquina. Este servidor actuará como nuestro objetivo para el escaneo con Nmap. Nmap es una potente herramienta de escaneo de redes utilizada en ciberseguridad para descubrir hosts y servicios en una red informática. Al tener un servidor local, puedes practicar de forma segura el uso de Nmap sin afectar a las redes del mundo real.

Comprender los servidores HTTP

Antes de crear el servidor, entendamos qué es un servidor HTTP. HTTP significa Protocolo de Transferencia de Hipertexto (HyperText Transfer Protocol). Es el protocolo que utiliza tu navegador web para comunicarse con los sitios web. Un servidor HTTP es una aplicación de software que puede entender las URLs (direcciones web) y el protocolo HTTP. Cuando escribes una dirección web en tu navegador, el navegador envía una solicitud HTTP al servidor HTTP correspondiente, que luego envía de vuelta la página web solicitada. Para nuestro laboratorio, crearemos un servidor HTTP simple utilizando Python, un lenguaje de programación popular y fácil de aprender.

Creación del servidor HTTP

Primero, debemos asegurarnos de que estás en el directorio de trabajo correcto. El directorio de trabajo es como una carpeta donde se ejecutarán tus comandos. En este caso, queremos estar en el directorio /home/labex/project. Para navegar a este directorio, utiliza el siguiente comando:

cd /home/labex/project

Ahora que estamos en el lugar correcto, utilizaremos el módulo de servidor HTTP incorporado de Python para crear un servidor web simple. Configuraremos este servidor para que escuche en el puerto 8080. Un puerto es como una puerta en una computadora a través de la cual el tráfico de red puede entrar o salir. Diferentes servicios utilizan diferentes puertos. Escribe el siguiente comando:

python -m http.server --bind localhost 8080 &

Desglosemos lo que hace este comando:

  • python -m http.server: Esta parte inicia el módulo de servidor HTTP incorporado de Python. Le dice a Python que ejecute la funcionalidad del servidor HTTP.
  • 8080: Esto especifica que el servidor debe escuchar en el puerto 8080. Eso significa que cualquier solicitud HTTP entrante en este puerto será manejada por nuestro servidor.
  • &: Colocar un ampersand al final del comando ejecuta el servidor en segundo plano. Esto es útil porque te permite continuar utilizando la terminal para otros comandos mientras el servidor está en ejecución.

Después de ejecutar el comando, deberías ver una salida similar a:

Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

Esta salida indica que tu servidor HTTP ahora está en funcionamiento y está listo para aceptar conexiones en el puerto 8080. Con este servidor funcionando, ahora tenemos un objetivo que podemos escanear utilizando Nmap en los siguientes pasos.

Verificación de que el servidor HTTP está en funcionamiento

Es importante confirmar que tu servidor realmente está funcionando correctamente. Para hacer esto, podemos utilizar el siguiente comando:

ss -tulwn | grep 8080

El comando ss se utiliza para mostrar estadísticas de sockets. Las opciones -tulwn le indican a ss que muestre información de sockets TCP, UDP, en escucha y numérica. El | es una tubería (pipe), que toma la salida del comando ss y la pasa al comando grep. El comando grep luego busca la cadena 8080 en la salida. Si el servidor está en funcionamiento, este comando debería mostrar una salida que indique que algo está escuchando en el puerto 8080, lo que confirma que tu servidor HTTP está activo y listo para el escaneo con Nmap.

Comprender los conceptos básicos de Nmap y la verbosidad predeterminada

Ahora que nuestro servidor objetivo está funcionando, es hora de comenzar a explorar Nmap y sus niveles de verbosidad. Nmap, abreviatura de Network Mapper, es un potente escáner de seguridad. Su propósito principal es ayudarte a descubrir hosts y servicios en una red informática. Esto es crucial en ciberseguridad, ya que te permite entender la estructura de la red e identificar posibles riesgos de seguridad.

¿Qué es la verbosidad de Nmap?

En Nmap, la verbosidad determina cuánta información se muestra durante un escaneo. Dependiendo de cuán detallados quieras que sean los resultados de tu escaneo, puedes elegir diferentes niveles de verbosidad. Aquí está un desglose de los niveles de verbosidad comunes:

  • Nivel 0: Este es el nivel predeterminado. Te da la salida estándar, que proporciona la información básica sobre el escaneo.
  • Nivel 1: Al utilizar la opción -v, puedes obtener más detalles en la salida del escaneo.
  • Nivel 2: Utilizar la opción -vv te dará información aún más detallada.

Realizar un escaneo con la verbosidad predeterminada (nivel 0)

Comencemos realizando nuestro primer escaneo utilizando el nivel de verbosidad predeterminado de Nmap. Esto nos dará una comprensión básica de qué tipo de información podemos obtener sin agregar verbosidad adicional.

nmap -p 8080 localhost > /home/labex/project/verbosity-0.txt

Desglosemos este comando:

  • nmap: Este es el comando para invocar la herramienta de escaneo Nmap. Le dice a tu sistema que utilice Nmap para el escaneo de red.
  • -p 8080: Esta opción le dice a Nmap que enfoque el escaneo solo en el puerto 8080. Los puertos son como puertas en una computadora, y diferentes servicios utilizan diferentes puertos. Al especificar el puerto 8080, solo estamos interesados en el servicio que se está ejecutando en ese puerto en particular.
  • localhost: Esto indica que estamos escaneando la máquina local. En otras palabras, estamos comprobando los servicios que se están ejecutando en la misma computadora donde estamos ejecutando el comando Nmap.
  • > /home/labex/project/verbosity-0.txt: Esta parte del comando redirige la salida del escaneo a un archivo llamado verbosity-0.txt ubicado en el directorio /home/labex/project. Guardar la salida en un archivo nos permite revisarla más tarde.

Ahora, veamos los resultados del escaneo:

cat /home/labex/project/verbosity-0.txt

Después de ejecutar este comando, deberías ver una salida similar a la siguiente:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-10 15:30 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).

PORT     STATE SERVICE
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

Entendamos qué significa esta salida:

  • Cuándo comenzó el escaneo: La primera línea nos dice la hora exacta en la que comenzó el escaneo de Nmap. Esto es útil para llevar un registro de cuándo se recopiló la información.
  • El objetivo del escaneo: Muestra que estábamos escaneando localhost, que tiene la dirección IP 127.0.0.1.
  • Estado del host: Indica que el host está activo y respondiendo, con una latencia muy baja de 0.000097 segundos.
  • Estado del puerto: Nos dice que el puerto 8080 está en estado open, lo que significa que hay un servicio escuchando en ese puerto.
  • Servicio en ejecución: Sugiere que el servicio más probable que se esté ejecutando en el puerto 8080 es http-proxy.
  • Estadísticas de finalización del escaneo: La última línea nos da información sobre cuánto tiempo tardó el escaneo, que en este caso fue 0.05 segundos.

El nivel predeterminado proporciona información esencial, pero carece de detalles profundos. En los siguientes pasos, exploraremos cómo los niveles de verbosidad más altos pueden darnos información más detallada sobre el escaneo.

Aumentar la verbosidad con la opción -v

En el mundo del escaneo de redes, obtener información detallada es crucial. En este paso, aprenderemos cómo obtener detalles más profundos de Nmap aumentando el nivel de verbosidad. La verbosidad en Nmap se refiere a la cantidad de información que muestra durante un escaneo. La opción -v, que establece el nivel de verbosidad en 1, nos proporciona información adicional que puede ser extremadamente útil para el análisis de redes.

Realizar un escaneo con verbosidad aumentada

Comencemos realizando un escaneo con verbosidad aumentada. Utilizaremos el siguiente comando:

nmap -p 8080 localhost -v > /home/labex/project/verbosity-1.txt

Desglosemos este comando:

  • nmap es el comando para invocar la herramienta de escaneo Nmap. Nmap es una potente y ampliamente utilizada herramienta de exploración de redes y auditoría de seguridad.
  • -p 8080 le dice a Nmap que escanee solo el puerto 8080. Los puertos son como puertas en una red, y al especificar un puerto, estamos enfocando nuestro escaneo en un servicio en particular que podría estar funcionando en ese puerto.
  • localhost indica que estamos apuntando a la máquina local. Esto es útil para probar y entender cómo funciona Nmap en tu propio sistema.
  • -v aumenta el nivel de verbosidad a 1. Esto significa que Nmap mostrará más información sobre el proceso de escaneo.
  • > /home/labex/project/verbosity-1.txt redirige la salida del escaneo a un archivo llamado verbosity-1.txt en el directorio /home/labex/project. Guardar la salida en un archivo nos permite revisarla más tarde.

Ahora, veamos los resultados de nuestro escaneo:

cat /home/labex/project/verbosity-1.txt

Cuando ejecutes este comando, deberías ver una salida más detallada similar a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-08-10 15:35 UTC
Initiating Ping Scan at 15:35
Scanning localhost (127.0.0.1) [2 ports]
Completed Ping Scan at 15:35, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 15:35
Scanning localhost (127.0.0.1) [1 port]
Discovered open port 8080/tcp on 127.0.0.1
Completed Connect Scan at 15:35, 0.00s elapsed (1 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000089s latency).

PORT     STATE SERVICE
8080/tcp open  http-proxy

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

Comprender la información adicional

Con el nivel de verbosidad 1, la salida proporciona una gran cantidad de detalles adicionales. Esto es lo que puedes ver:

  1. El proceso de escaneo se desglosa en etapas. Por ejemplo, hay un Ping Scan y un Connect Scan. El Ping Scan se utiliza para comprobar si un host es alcanzable, mientras que el Connect Scan intenta establecer una conexión a un puerto específico.
  2. Se proporciona información de tiempo para cada etapa. Esto te ayuda a entender cuánto tiempo tomó cada parte del escaneo.
  3. Puedes ver el momento exacto en el que se descubrió el puerto abierto. Esto es importante ya que te da una cronología clara del escaneo.
  4. También se muestra los archivos de datos que Nmap utilizó durante el escaneo. Estos archivos contienen información sobre servicios, puertos y otros datos relacionados con la red que Nmap utiliza para realizar sus escaneos.

Esta información adicional es muy útil porque te permite:

  • Comprender cómo Nmap realiza sus escaneos. Al ver las diferentes etapas y el orden en que ocurren, puedes entender mejor el proceso de escaneo.
  • Conocer la cronología exacta de los eventos durante el escaneo. Esto puede ser útil para solucionar problemas o para entender el comportamiento de una red.
  • Determinar cuándo se descubrieron puertos y servicios específicos. Esto es crucial para las evaluaciones de seguridad y la gestión de redes.

Comparar niveles de verbosidad

Para ver más claramente la diferencia entre un escaneo normal y un escaneo con verbosidad aumentada, compararemos los dos archivos de salida. Utiliza el siguiente comando:

diff /home/labex/project/verbosity-0.txt /home/labex/project/verbosity-1.txt

El comando diff compara el contenido de dos archivos y muestra las diferencias entre ellos. La salida de este comando demostrará cómo aumentar el nivel de verbosidad proporciona más información sobre el proceso de escaneo. Esta información adicional puede ser especialmente útil cuando estás solucionando problemas de red o realizando evaluaciones de seguridad detalladas.

Niveles de verbosidad adicionales

Nmap no se detiene en el nivel de verbosidad 1. Admite niveles de verbosidad aún más altos:

  • -vv establece el nivel de verbosidad en 2.
  • -vvv establece el nivel de verbosidad en 3.

A medida que aumentas el nivel de verbosidad, Nmap proporcionará información cada vez más detallada sobre el proceso de escaneo. Esto puede ser muy útil cuando necesitas profundizar en la red y entender cada aspecto del escaneo.

Explorar niveles de verbosidad más altos y aplicaciones prácticas

En este paso, profundizaremos en las capacidades de Nmap. Comenzaremos utilizando un nivel de verbosidad aún más alto, que nos proporcionará información más detallada durante el proceso de escaneo. Luego, aprenderemos sobre las aplicaciones prácticas de diferentes configuraciones de verbosidad, para que sepas cuándo utilizar cada nivel en escenarios del mundo real.

Realizar un escaneo con la máxima verbosidad

Ejecutemos un escaneo con el nivel de verbosidad 2. En Nmap, podemos establecer el nivel de verbosidad utilizando la opción -vv. El nivel de verbosidad 2 proporcionará una cantidad significativa de información detallada sobre el escaneo. Aquí está el comando para ejecutar el escaneo:

nmap -p 8080 localhost -vv > /home/labex/project/verbosity-2.txt

En este comando, -p 8080 le dice a Nmap que escanee el puerto 8080. localhost es el objetivo que estamos escaneando, que se refiere a la máquina local. La opción -vv aumenta la verbosidad al nivel 2. El símbolo > redirige la salida del escaneo al archivo /home/labex/project/verbosity-2.txt.

Ahora, examinemos los resultados del escaneo. Podemos usar el comando cat para mostrar el contenido del archivo:

cat /home/labex/project/verbosity-2.txt

Cuando mires la salida, notarás que contiene aún más detalles técnicos sobre el proceso de escaneo. Estos detalles incluyen:

  • Información de tiempo más profunda: Esto te ayuda a entender cuánto tiempo tomó cada parte del escaneo.
  • Información adicional de depuración: Puede ser útil si algo sale mal durante el escaneo.
  • Información más detallada del protocolo: Esto te da una mejor comprensión de los protocolos de red involucrados en el escaneo.

Aplicaciones prácticas de diferentes niveles de verbosidad

Diferentes niveles de verbosidad son útiles en diferentes escenarios. Echemos un vistazo a cada nivel y sus aplicaciones prácticas:

  1. Nivel predeterminado (0):

    • El nivel de verbosidad predeterminado es el mejor para escaneos rápidos. Cuando solo necesitas información básica sobre el objetivo, como si un puerto específico está abierto o cerrado, este nivel es suficiente.
    • También es útil para comprobaciones rutinarias y mapeo de redes simples. Por ejemplo, si quieres comprobar rápidamente el estado básico de los puertos de un servidor, puedes usar el nivel predeterminado.
    • Un caso de uso de ejemplo es comprobar si ciertos puertos están abiertos en un servidor. Puedes obtener una visión general rápida sin abrumarte con demasiados detalles.
  2. Nivel de verbosidad 1 (-v):

    • Este nivel es útil para un análisis más detallado. Proporciona más información que el nivel predeterminado, lo que te ayuda a entender mejor la cronología del escaneo.
    • Si estás solucionando problemas de conectividad, la información adicional en este nivel puede ser muy útil. Puedes ver qué partes del escaneo están tomando más tiempo o si hay algún error.
    • Un caso de uso de ejemplo es solucionar problemas de conectividad. Puedes usar los detalles adicionales para averiguar qué podría estar causando el problema.
  3. Niveles de verbosidad más altos (-vv, -vvv):

    • Estos niveles son ideales para análisis en profundidad y depuración. Proporcionan la máxima cantidad de información, lo que es muy útil para auditorías de seguridad.
    • Cuando estás realizando una evaluación de seguridad detallada o necesitas entender exactamente cómo el escaneo está interactuando con el objetivo, los niveles de verbosidad más altos son la mejor opción.
    • Un caso de uso de ejemplo es evaluaciones de seguridad detalladas o cuando necesitas entender exactamente cómo el escaneo está interactuando con el objetivo. Puedes obtener una visión integral del proceso de escaneo.

Combinar la verbosidad con otras opciones de Nmap

Las opciones de verbosidad se pueden combinar con otras opciones de Nmap para realizar escaneos más potentes. Intentemos un escaneo más avanzado utilizando el siguiente comando:

nmap -p 8080 -sV localhost -v > /home/labex/project/advanced-scan.txt

Desglosemos este comando:

  • -p 8080 especifica que queremos escanear el puerto 8080.
  • -sV habilita la detección de versiones. Esta opción intenta determinar la versión del servicio que se está ejecutando en el puerto escaneado.
  • -v aumenta la verbosidad al nivel 1, por lo que obtendremos información más detallada sobre el proceso de escaneo.
  • El símbolo > redirige la salida del escaneo al archivo /home/labex/project/advanced-scan.txt.

Ahora, echemos un vistazo a los resultados del escaneo:

cat /home/labex/project/advanced-scan.txt

Notarás que la adición de -sV proporciona información sobre la versión del servicio que se está ejecutando en el puerto 8080. Al mismo tiempo, la opción -v asegura que obtengas información detallada sobre el proceso de escaneo, lo que facilita el análisis de los resultados.

Limpieza

Antes de terminar este experimento, necesitamos apagar adecuadamente el servidor HTTP que creamos anteriormente. Podemos usar el siguiente comando para hacer esto:

pkill -f "python -m http.server"

Este comando termina el proceso del servidor HTTP de Python que se está ejecutando en el puerto 8080. Es importante limpiar adecuadamente para evitar conflictos o problemas de uso de recursos en el futuro.

Resumen

En este laboratorio, has aprendido cómo utilizar de manera efectiva los niveles de verbosidad de Nmap para controlar la información mostrada durante los escaneos de red. Comenzando con la configuración básica de un servidor HTTP local, has explorado cómo diferentes niveles de verbosidad afectan las salidas de los escaneos de Nmap.

Has descubierto que el nivel de verbosidad predeterminado (0) proporciona detalles esenciales sobre los puertos abiertos y los servicios. Utilizar la opción -v aumenta la verbosidad, ofreciendo más información sobre el proceso de escaneo. Niveles más altos como -vv y -vvv proporcionan información técnica detallada para un análisis en profundidad. Las opciones de verbosidad también se pueden combinar con otras técnicas de Nmap para un análisis de red más potente. Estas habilidades son cruciales para los administradores de red y los profesionales de seguridad, ya que les permiten recopilar datos de red de manera eficiente y adaptar los escaneos a tareas específicas.