Gestionar Formatos de Salida 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, el objetivo es aprender a manejar los formatos de salida en Nmap. Comenzarás realizando un escaneo básico en la dirección IP 192.168.1.1 para recopilar información sobre los puertos y servicios abiertos. Luego, guardarás los resultados del escaneo en diferentes formatos, incluyendo texto normal, XML y salida grepable, y también aprenderás a anexar la salida a un archivo existente. Finalmente, abrirás los resultados en el editor de texto Xfce.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/basic_syntax("Basic Command Syntax") nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/basic_syntax -.-> lab-530182{{"Gestionar Formatos de Salida en Nmap"}} nmap/output_formats -.-> lab-530182{{"Gestionar Formatos de Salida en Nmap"}} nmap/save_output -.-> lab-530182{{"Gestionar Formatos de Salida en Nmap"}} nmap/host_discovery -.-> lab-530182{{"Gestionar Formatos de Salida en Nmap"}} nmap/service_detection -.-> lab-530182{{"Gestionar Formatos de Salida en Nmap"}} end

Realizar un escaneo básico con nmap 192.168.1.1

En este paso, realizaremos un escaneo básico de la dirección IP 192.168.1.1 utilizando Nmap. Nmap es una herramienta de escaneo de red poderosa que se utiliza para descubrir hosts y servicios en una red de computadoras al enviar paquetes y analizar las respuestas. Un escaneo básico proporciona información sobre el objetivo, como puertos abiertos y detalles del sistema operativo.

Primero, entendamos la sintaxis básica del comando nmap:

nmap [target]

Donde [target] es la dirección IP o el nombre de host que desea escanear.

Ahora, ejecutemos el escaneo básico en 192.168.1.1. Abra su terminal y ejecute el siguiente comando:

nmap 192.168.1.1

Este comando iniciará un escaneo de la dirección IP objetivo. Nmap intentará determinar qué puertos están abiertos, qué servicios están en ejecución y, potencialmente, el sistema operativo del objetivo.

La salida se verá similar a esto (la salida exacta variará según el sistema objetivo):

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 done: 1 IP address (1 host up) scanned in 2.18 seconds

Esta salida muestra que el host 192.168.1.1 está activo y el puerto 22 (SSH) está abierto. La línea "Not shown: 999 closed ports" indica que Nmap no mostró los 999 puertos cerrados para mantener la salida concisa.

Guardar en un archivo normal con nmap -oN scan.txt 127.0.0.1

En este paso, guardaremos la salida de un escaneo de Nmap en un archivo de texto normal utilizando la opción -oN. Esto es útil para almacenar los resultados del escaneo para un análisis o informe posterior.

La opción -oN le indica a Nmap que guarde la salida en un formato legible por humanos en el archivo especificado. La sintaxis es la siguiente:

nmap -oN <nombre_del_archivo> <objetivo>

Donde <nombre_del_archivo> es el nombre del archivo en el que desea guardar la salida, y <objetivo> es la dirección IP o el nombre de host que desea escanear.

En este caso, escanearemos 127.0.0.1 (localhost) y guardaremos la salida en un archivo llamado scan.txt en su directorio ~/proyecto.

Abra su terminal y ejecute el siguiente comando:

nmap -oN scan.txt 127.0.0.1

Una vez que se complete el escaneo, puede ver el contenido del archivo scan.txt utilizando un editor de texto o el comando cat. Por ejemplo:

cat scan.txt

La salida será similar a la siguiente (la salida exacta variará):

## Nmap 7.80 scan initiated Tue Oct 27 10:00:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000073s latency).
Not shown: 999 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

## Nmap done at Tue Oct 27 10:00:02 2023 -- 1 IP address (1 host up) scanned in 2.00 seconds

Esta salida es la misma información que vería en la terminal, pero ahora está guardada en el archivo scan.txt para referencia futura.

Generar XML con nmap -oX scan.xml 192.168.1.1

En este paso, generaremos un archivo XML que contiene los resultados de un escaneo de Nmap. El formato XML es útil para analizar los resultados del escaneo de manera programática, lo que facilita la integración de Nmap con otras herramientas o scripts.

La opción -oX le indica a Nmap que guarde la salida en formato XML en el archivo especificado. La sintaxis es la siguiente:

nmap -oX <nombre_del_archivo> <objetivo>

Donde <nombre_del_archivo> es el nombre del archivo XML que desea crear, y <objetivo> es la dirección IP o el nombre de host que desea escanear.

En este caso, escanearemos 192.168.1.1 y guardaremos la salida en un archivo llamado scan.xml en su directorio ~/proyecto.

Abra su terminal y ejecute el siguiente comando:

nmap -oX scan.xml 192.168.1.1

Una vez que se complete el escaneo, puede ver el contenido del archivo scan.xml utilizando un editor de texto o el comando cat. Sin embargo, como es un archivo XML, contendrá mucha sintaxis y es posible que no sea fácil de leer en un editor de texto plano.

cat scan.xml

La salida será un documento XML grande que contiene información detallada sobre el escaneo, incluyendo detalles del host, puertos abiertos, versiones de servicios y más. Puede utilizar herramientas como xmllint para formatear y validar el archivo XML, o utilizar lenguajes de programación como Python con bibliotecas como xml.etree.ElementTree para analizar los datos.

Esta salida XML está diseñada para el procesamiento automatizado, no para la legibilidad por humanos.

Crear una salida grepable con nmap -oG scan.grep 127.0.0.1

En este paso, generaremos un archivo de salida grepable a partir de un escaneo de Nmap. Este formato está diseñado específicamente para ser fácilmente analizado por herramientas de línea de comandos como grep, awk y sed, lo que lo hace conveniente para scripting y análisis automatizado.

La opción -oG le indica a Nmap que guarde la salida en un formato grepable en el archivo especificado. La sintaxis es la siguiente:

nmap -oG <nombre_del_archivo> <objetivo>

Donde <nombre_del_archivo> es el nombre del archivo en el que desea guardar la salida grepable, y <objetivo> es la dirección IP o el nombre de host que desea escanear.

En este caso, escanearemos 127.0.0.1 (localhost) y guardaremos la salida en un archivo llamado scan.grep en su directorio ~/proyecto.

Abra su terminal y ejecute el siguiente comando:

nmap -oG scan.grep 127.0.0.1

Una vez que se complete el escaneo, puede ver el contenido del archivo scan.grep utilizando un editor de texto o el comando cat.

cat scan.grep

La salida estará en un formato que es fácil de analizar con grep. Por ejemplo:

## Nmap 7.80 scan initiated Tue Oct 27 10:00:00 2023
## Nmap scan report for localhost (127.0.0.1)
Host: 127.0.0.1 (localhost)	Status: Up
Host: 127.0.0.1 (localhost)	Ports: 22/open/tcp//ssh///, 80/open/tcp//http///
## Nmap done at Tue Oct 27 10:00:02 2023 -- 1 IP address (1 host up) scanned in 2.00 seconds

Ahora, puede usar grep para buscar información específica en el archivo. Por ejemplo, para encontrar todos los puertos abiertos, puede usar el siguiente comando:

grep "Ports:" scan.grep

Esto imprimirá la línea que contiene los puertos abiertos:

Host: 127.0.0.1 (localhost)	Ports: 22/open/tcp//ssh///, 80/open/tcp//http///

El formato de salida grepable proporciona una forma simple y eficiente de extraer datos específicos de los resultados de un escaneo de Nmap para su posterior procesamiento.

Anexar la salida con nmap -oN scan.txt --append-output 192.168.1.1

En este paso, anexaremos la salida de un escaneo de Nmap a un archivo existente. Esto es útil cuando desea combinar los resultados de múltiples escanes en un solo archivo sin sobrescribir los resultados anteriores.

Utilizaremos la opción -oN para guardar la salida en formato normal y la opción --append-output para anexar la salida al archivo especificado.

Primero, recordemos que en un paso anterior, creamos un archivo llamado scan.txt con los resultados de un escaneo de 127.0.0.1. Ahora, anexaremos los resultados de un escaneo de 192.168.1.1 al mismo archivo.

Abra su terminal y ejecute el siguiente comando:

nmap -oN scan.txt --append-output 192.168.1.1

Una vez que se complete el escaneo, la salida se anexará al archivo scan.txt. Puede ver el contenido del archivo scan.txt utilizando un editor de texto o el comando cat.

cat scan.txt

Debería ver los resultados de ambos escanes en el archivo. La primera parte será el escaneo de 127.0.0.1 y la segunda parte será el escaneo de 192.168.1.1.

La opción --append-output asegura que los nuevos resultados del escaneo se agreguen al final del archivo, preservando el contenido anterior. Esto es diferente de usar -oN scan.txt 192.168.1.1 sin --append-output, que sobrescribiría el archivo scan.txt existente.

Abrir los resultados en el editor de texto de Xfce

En este paso, abriremos los resultados del escaneo de Nmap en el editor de texto de Xfce. Esto te permite visualizar y analizar la salida del escaneo en un entorno gráfico.

El editor de texto de Xfce se llama mousepad. Podemos utilizarlo para abrir los archivos que creamos en los pasos anteriores, como scan.txt, scan.xml y scan.grep.

Para abrir un archivo en mousepad desde la terminal, use el siguiente comando:

mousepad <nombre_del_archivo>

Donde <nombre_del_archivo> es el nombre del archivo que desea abrir.

Primero, abramos el archivo scan.txt. En su terminal, ejecute el siguiente comando:

mousepad scan.txt

Esto abrirá el archivo scan.txt en el editor de texto mousepad. Ahora puede desplazarse por el archivo y examinar los resultados del escaneo de Nmap.

A continuación, abramos el archivo scan.xml. En su terminal, ejecute el siguiente comando:

mousepad scan.xml

Esto abrirá el archivo scan.xml en mousepad. Este archivo contiene los resultados del escaneo en formato XML, que es útil para el análisis con scripts y otras herramientas.

Finalmente, abramos el archivo scan.grep. En su terminal, ejecute el siguiente comando:

mousepad scan.grep

Esto abrirá el archivo scan.grep en mousepad. Este archivo contiene los resultados del escaneo en un formato grepable, que es útil para buscar y filtrar los resultados utilizando herramientas de línea de comandos como grep.

Utilizar un editor de texto como mousepad proporciona una forma conveniente de visualizar y analizar los resultados del escaneo de Nmap en un entorno gráfico.

Resumen

En esta práctica, los participantes aprendieron a manejar los formatos de salida en Nmap. Comenzaron realizando un escaneo básico en la dirección IP 192.168.1.1 para recopilar información sobre los puertos y servicios abiertos. Luego, guardaron los resultados del escaneo en diferentes formatos: texto normal usando -oN, XML usando -oX y salida grepable usando -oG. También aprendieron a anexar la salida a un archivo existente con la opción --append-output. Finalmente, abrieron los resultados en el editor de texto de Xfce para revisión.