Realizar escaneos Nmap y guardar los resultados en diferentes formatos

NmapBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás cómo utilizar Nmap, una poderosa herramienta de escaneo de redes, para realizar un reconocimiento básico de la red. Nmap es una herramienta fundamental para los profesionales de seguridad, ya que ayuda a descubrir hosts, servicios y posibles vulnerabilidades en una red.

Comprender cómo guardar los resultados de los escaneos de Nmap en diferentes formatos es crucial para la evaluación y el informe de seguridad. Al dominar esta habilidad, puedes documentar tus hallazgos, compartir los resultados con los miembros de tu equipo, importar datos a otras herramientas y crear informes de seguridad completos. Este laboratorio, adecuado para principiantes, te guiará a través de los escaneos básicos de Nmap y el guardado de resultados en varios formatos, brindándote las habilidades esenciales para la evaluación de seguridad de redes.

Realizar tu primer escaneo Nmap y guardar la salida

En este paso, aprenderemos cómo realizar un escaneo básico con Nmap y guardar los resultados en un archivo de texto. Documentar las actividades de reconocimiento de red es crucial, ya que te ayuda a llevar un registro de lo que has descubierto y puede utilizarse para referencias futuras o informes. Por lo tanto, dominar esta habilidad es esencial para cualquier persona interesada en la seguridad de redes.

Comprender los conceptos básicos de Nmap

Nmap, abreviatura de Network Mapper, es una poderosa y ampliamente utilizada utilidad de código abierto y gratuita. Su propósito principal es la detección de redes y la auditoría de seguridad. Funciona enviando paquetes IP sin procesar a la red o el host objetivo. Basándose en las respuestas que recibe, Nmap puede averiguar mucha información. Puede decirte qué hosts están disponibles en la red, qué servicios ofrecen esos hosts (como servidores web, servidores de correo electrónico, etc.), qué sistemas operativos están ejecutando y muchas otras características importantes. Esta información es invaluable cuando intentas entender la postura de seguridad de una red.

Crear un directorio para los resultados del escaneo

Primero, abre una ventana de terminal. Por defecto, la terminal debería estar en el directorio /home/labex/project. Necesitamos un lugar específico para almacenar todos los resultados de nuestros escaneos con Nmap. Esto facilita la organización y gestión de los datos. Entonces, creemos un directorio para este propósito utilizando el siguiente comando:

mkdir -p /home/labex/project/scans

La opción -p en el comando mkdir es muy útil. Asegura que el directorio se cree incluso si los directorios padre no existen. En nuestro caso, el directorio padre ya existe, pero es una buena práctica utilizar esta opción en caso de que desees crear una estructura de directorios más compleja en el futuro. Si el comando se ejecuta correctamente, no verás ninguna salida. Eso es normal y significa que el directorio se ha creado.

Ejecutar un escaneo básico con Nmap

Para fines de demostración, escanearemos el localhost, que es tu propia máquina, en el puerto 9999. En una situación real, necesitarías la autorización adecuada para escanear hosts de red reales. Escanear sin permiso es poco ético e incluso puede ser ilegal.

Ahora, ejecutemos un escaneo básico con Nmap y guardemos la salida en un archivo de texto. Ejecuta el siguiente comando:

nmap -p 9999 localhost -oN /home/labex/project/scans/initial_scan.txt

Desglosemos este comando para entender qué hace cada parte:

  • nmap: Este es el comando para iniciar la herramienta Nmap. Le dice al sistema que queremos utilizar Nmap para nuestro escaneo de red.
  • -p 9999: La opción -p se utiliza para especificar el puerto que queremos escanear. En este caso, estamos escaneando el puerto 9999.
  • localhost: Este es el objetivo de nuestro escaneo. Dado que estamos utilizando localhost, estamos escaneando nuestra propia máquina.
  • -oN /home/labex/project/scans/initial_scan.txt: La opción -oN se utiliza para guardar la salida en formato "normal". La ruta /home/labex/project/scans/initial_scan.txt especifica dónde se guardará el archivo de salida.

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

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

PORT     STATE  SERVICE
9999/tcp closed unknown

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

Ver los resultados del escaneo guardados

Ahora que hemos ejecutado el escaneo y guardado los resultados en un archivo, comprobemos si los resultados se registraron correctamente. Podemos hacer esto viendo el contenido del archivo guardado utilizando el comando cat:

cat /home/labex/project/scans/initial_scan.txt

La salida que veas debería ser similar a la que se mostró en la terminal cuando ejecutaste el escaneo. Este archivo ahora sirve como un registro de tus actividades de reconocimiento de red. Puedes consultarlo siempre que necesites revisar la información.

Comprender los resultados del escaneo

Los resultados del escaneo contienen varias piezas importantes de información:

  • Cuándo se realizó el escaneo: Esto te ayuda a llevar un registro de la cronología de tu reconocimiento de red.
  • El objetivo que se escaneó: En nuestro caso, fue localhost.
  • El estado del host: Te dice si el host está activo (alcanzable) o inactivo (inalcanzable).
  • El estado del puerto especificado: Puede estar abierto, cerrado o filtrado. Un puerto abierto significa que un servicio está escuchando en ese puerto, un puerto cerrado significa que ningún servicio está escuchando y un puerto filtrado significa que el puerto está bloqueado por un firewall u otro dispositivo de seguridad.
  • El servicio típicamente asociado con ese puerto: Por ejemplo, el puerto 80 suele estar asociado con servicios HTTP.
  • Estadísticas sobre la duración del escaneo: Esto te da una idea de cuánto tiempo tardó el escaneo.

Ahora que has realizado con éxito tu primer escaneo con Nmap y guardado los resultados en un archivo con fines de documentación, en el siguiente paso, exploraremos diferentes formatos de salida que admite Nmap.

Guardar resultados de Nmap en formato XML

En este paso, aprenderemos cómo guardar los resultados de un escaneo de Nmap en formato XML. XML, o Extensible Markup Language (Lenguaje de Marcado Extensible), es un formato de datos estructurado. Es como un archivador bien organizado donde cada pieza de información tiene su propio cajón etiquetado. Esta estructura facilita el procesamiento de los datos por parte de otras herramientas y scripts de seguridad. En el mundo de la ciberseguridad, donde la automatización es clave, tener datos en un formato que se pueda integrar fácilmente en flujos de trabajo automatizados es extremadamente valioso.

Comprender los diferentes formatos de salida

Nmap, una poderosa herramienta de escaneo de redes, admite varios formatos de salida. Cada formato tiene sus propias características únicas y casos de uso.

  1. Salida normal (-oN): Este es un formato legible por humanos. En el paso anterior, utilizamos este formato para ver los resultados del escaneo de una manera fácil de entender. Presenta la información de manera directa en formato de texto.
  2. Salida XML (-oX): Como se mencionó anteriormente, XML es un formato estructurado. Organiza los datos de manera jerárquica utilizando etiquetas y elementos. Esto lo hace ideal para que otros programas lo analicen y extraigan información específica.
  3. Salida grepable (-oG): Este formato está diseñado para ser procesado fácilmente por herramientas de línea de comandos como grep. Si deseas buscar rápidamente patrones específicos en los resultados del escaneo, la salida grepable es muy útil.
  4. Salida para script kiddies (-oS): Este es un formato más amigable para los "script kiddies". Sin embargo, se utiliza raramente en evaluaciones de seguridad profesionales.

En las evaluaciones de seguridad profesionales, el formato XML se utiliza con frecuencia. La razón es que se puede importar a otras herramientas de seguridad para un análisis más profundo. Por ejemplo, puedes tomar la salida XML de un escaneo de Nmap y utilizarla en un sistema de gestión de vulnerabilidades para obtener una visión más detallada del estado de seguridad de la red.

Ejecutar un escaneo de Nmap con salida XML

Ahora, ejecutemos otro escaneo en el puerto 9999 del localhost. Pero esta vez, guardaremos la salida en formato XML. Aquí está el comando:

nmap -p 9999 localhost -oX /home/labex/project/scans/advanced_scan.xml

Desglosemos este comando para entender qué hace cada parte:

  • nmap: Este es el comando para ejecutar la herramienta Nmap. Es el punto de partida de todas nuestras operaciones de escaneo de red.
  • -p 9999: La opción -p se utiliza para especificar el puerto que queremos escanear. En este caso, estamos escaneando el puerto 9999.
  • localhost: Este es el objetivo que estamos escaneando. localhost se refiere a tu máquina local. Entonces, estamos escaneando el puerto 9999 de nuestra propia máquina.
  • -oX /home/labex/project/scans/advanced_scan.xml: La opción -oX le dice a Nmap que guarde la salida en formato XML. La ruta /home/labex/project/scans/advanced_scan.xml especifica dónde se guardará el archivo XML.

Cuando ejecutes este comando, deberías ver una salida similar a la que viste en el Paso 1. Pero ahora, los resultados también se guardan en formato XML en el archivo especificado.

Ver la salida XML

Echemos un vistazo al contenido del archivo XML que acabamos de crear. Podemos utilizar el comando cat para mostrar el contenido del archivo:

cat /home/labex/project/scans/advanced_scan.xml

La salida estará en formato XML. Se ve bastante diferente de la salida normal. XML utiliza etiquetas y elementos para estructurar los datos. Esta estructura facilita el análisis de la información por parte de las computadoras. Aquí hay un ejemplo simplificado de lo que podrías ver:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE nmaprun>
<nmaprun scanner="nmap" args="nmap -p 9999 localhost -oX /home/labex/project/scans/advanced_scan.xml" start="1635598800" startstr="Sat Oct 30 12:00:00 2023" version="7.80" xmloutputversion="1.04">
<scaninfo type="syn" protocol="tcp" numservices="1" services="9999"/>
<verbose level="0"/>
<debugging level="0"/>
<host starttime="1635598800" endtime="1635598800">
<status state="up" reason="localhost-response" reason_ttl="0"/>
<address addr="127.0.0.1" addrtype="ipv4"/>
<hostnames>
<hostname name="localhost" type="user"/>
<hostname name="localhost" type="PTR"/>
</hostnames>
<ports>
<port protocol="tcp" portid="9999">
<state state="closed" reason="conn-refused" reason_ttl="0"/>
<service name="unknown" method="table" conf="3"/>
</port>
</ports>
<times srtt="97" rttvar="5000" to="100000"/>
</host>
<runstats>
<finished time="1635598800" timestr="Sat Oct 30 12:00:00 2023" elapsed="0.07" summary="Nmap done at Sat Oct 30 12:00:00 2023; 1 IP address (1 host up) scanned in 0.07 seconds" exit="success"/>
<hosts up="1" down="0" total="1"/>
</runstats>
</nmaprun>

Ventajas de la salida XML

El formato XML ofrece varias ventajas:

  1. Datos estructurados: La información en XML está organizada en una estructura jerárquica. Cada elemento tiene una relación clara con otros elementos, lo que facilita la comprensión de la organización de los datos.
  2. Legible por máquina: Otros programas y scripts pueden analizar fácilmente los datos XML. Esto permite una integración perfecta con diferentes herramientas en tu flujo de trabajo de seguridad.
  3. Integración: La salida XML se puede importar a otras herramientas de seguridad como Metasploit, OpenVAS o paneles de control de seguridad personalizados. Esto te permite combinar los resultados de tu escaneo de Nmap con otras herramientas de análisis de seguridad.
  4. Transformación de datos: Puedes convertir los datos XML a otros formatos como HTML o PDF. Esto es útil para crear informes que sean fáciles de compartir y presentar.
  5. Extracción de datos: Utilizando herramientas de análisis XML, puedes extraer información específica del archivo XML. Por ejemplo, puedes extraer todos los puertos abiertos o los detalles de un host en particular.

Aplicaciones prácticas

En una evaluación de seguridad del mundo real, guardar los resultados del escaneo en formato XML puede ser muy útil. Aquí hay algunas aplicaciones prácticas:

  • Importar a sistemas de gestión de vulnerabilidades: Puedes importar la salida XML a un sistema de gestión de vulnerabilidades para obtener una visión integral de las vulnerabilidades de seguridad de la red.
  • Crear informes personalizados utilizando transformaciones XSLT: XSLT (Extensible Stylesheet Language Transformations, Lenguaje de Transformación de Hojas de Estilo Extensible) se puede utilizar para transformar los datos XML en informes personalizados. Esto te permite presentar la información de la manera más relevante para tus necesidades.
  • Procesar con scripts automatizados para extraer información específica: Puedes escribir scripts automatizados para analizar el archivo XML y extraer información específica, como todos los hosts con puertos abiertos en un servicio en particular.
  • Compartir datos estructurados con miembros del equipo o clientes: Los datos XML se pueden compartir fácilmente con otros. Los miembros del equipo o los clientes pueden utilizar los datos estructurados para su propio análisis.
  • Mantener una base de datos de datos de reconocimiento de red: Puedes almacenar los archivos XML en una base de datos para mantener un registro de tus actividades de reconocimiento de red a lo largo del tiempo.

Al aprender a guardar la salida de Nmap en diferentes formatos, has dado un paso importante en el desarrollo de tus habilidades en seguridad de redes. Estos formatos te permiten documentar tus hallazgos de manera efectiva e integrarlos con otras herramientas de seguridad en tu flujo de trabajo.

Resumen

En este laboratorio, has aprendido habilidades esenciales para la documentación del reconocimiento de redes utilizando Nmap. Has realizado con éxito escaneos básicos de Nmap en puertos específicos del localhost y has guardado los resultados del escaneo tanto en formato de texto normal como en formato XML. El formato de texto es fácil de leer para los humanos, mientras que el formato XML facilita la integración con otras herramientas de seguridad y el procesamiento automatizado.

Estas habilidades son cruciales para los profesionales de la seguridad para documentar hallazgos, crear informes y compartir resultados. Guardar los resultados del escaneo en diferentes formatos permite una gestión eficiente de los datos de reconocimiento de redes y una integración perfecta en los flujos de trabajo de seguridad. A medida que avanzes en el campo de la ciberseguridad, la documentación adecuada de las pruebas de seguridad resultará tan importante como las pruebas mismas. La flexibilidad para guardar las salidas de Nmap en varios formatos te permite elegir el formato más adecuado para diferentes escenarios.