Realizar escaneo TCP Xmas 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, aprenderá a realizar un escaneo de TCP Xmas utilizando Nmap. El laboratorio aborda varios aspectos del escaneo Xmas, incluyendo la ejecución de un escaneo básico en una dirección IP objetivo, el escaneo de puertos específicos, la adición de detalle al escaneo, la guardado de los resultados del escaneo, la comparación de escaneos Xmas con escaneos FIN y el análisis de los resultados en la terminal Xfce. Comprenderá cómo funcionan los escaneos Xmas al establecer las banderas FIN, PSH y URG en el encabezado TCP para identificar puertos abiertos o filtrados en un sistema objetivo.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/tcp_connect_scan("Basic TCP Connect Scan") nmap/NmapGroup -.-> nmap/output_formats("Output Formats") nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/scan_types("Scan Types and Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/verbosity("Verbosity Levels") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/stealth_scanning("Stealth and Covert Scanning") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/output_formats -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/save_output -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/port_scanning -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/scan_types -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/target_specification -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/verbosity -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/syn_scan -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} nmap/stealth_scanning -.-> lab-547106{{"Realizar escaneo TCP Xmas con Nmap"}} end

Ejecutar un escaneo Xmas con nmap -sX 192.168.1.1

En este paso, realizaremos un escaneo Xmas utilizando Nmap. Un escaneo Xmas es un tipo de escaneo de puertos que establece las banderas FIN, PSH y URG en el encabezado TCP. Este tipo de escaneo se denomina "Xmas" porque las banderas establecidas se asemejan a un árbol de Navidad. Es útil para identificar puertos abiertos o filtrados en un sistema objetivo.

Antes de comenzar, comprendamos qué significan estas banderas:

  • FIN (Finalizar): Indica el final de una conexión.
  • PSH (Empujar): Le dice al sistema receptor que empuje los datos almacenados en búfer a la aplicación.
  • URG (Urgente): Indica que el campo de apuntador urgente es significativo y apunta a los datos que deben procesarse urgentemente.

Cuando un host recibe un paquete de escaneo Xmas, debe responder con un paquete RST (reinicio) si el puerto está cerrado. Si el puerto está abierto, el host debe descartar el paquete y no responder. Sin embargo, algunos sistemas pueden no responder correctamente, lo que puede ayudar a identificar el sistema operativo o las reglas del firewall.

Ahora, ejecutemos el escaneo Xmas en la dirección IP objetivo 192.168.1.1. Abra su terminal Xfce y ejecute el siguiente comando:

sudo nmap -sX 192.168.1.1

Este comando le dice a Nmap que realice un escaneo Xmas (-sX) en la dirección IP objetivo 192.168.1.1. Necesitará privilegios de sudo para ejecutar este comando.

Después de que se complete el escaneo, Nmap mostrará los resultados. La salida mostrará qué puertos se consideran abiertos, cerrados o filtrados en función de las respuestas (o la falta de ellas) del sistema objetivo.

Salida de ejemplo (la salida real variará según el sistema objetivo):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
All 1000 scanned ports on 192.168.1.1 are filtered

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

En este ejemplo, los 1000 puertos escaneados se informan como filtrados. Esto significa que Nmap no pudo determinar si los puertos están abiertos o cerrados porque el sistema objetivo es probablemente bloquear o filtrar los paquetes de escaneo.

Escanear puertos específicos con nmap -sX -p 22,80 127.0.0.1

En este paso, centraremos nuestro escaneo Xmas en puertos específicos. Esto es útil cuando quieres comprobar rápidamente el estado de servicios particulares que se ejecutan en una máquina objetivo, en lugar de escanear todos los puertos. Escanearemos los puertos 22 (SSH) y 80 (HTTP) en el localhost (127.0.0.1).

La opción -p en Nmap te permite especificar qué puertos escanear. Puedes proporcionar un solo puerto, un rango de puertos (por ejemplo, 1-100), o una lista separada por comas de puertos (por ejemplo, 22,80,443).

Para escanear los puertos 22 y 80 usando un escaneo Xmas, abre tu terminal Xfce y ejecuta el siguiente comando:

sudo nmap -sX -p 22,80 127.0.0.1

Este comando le dice a Nmap que realice un escaneo Xmas (-sX) en los puertos 22 y 80 (-p 22,80) de la dirección IP objetivo 127.0.0.1 (localhost). Necesitarás privilegios de sudo para ejecutar este comando.

Después de que se complete el escaneo, Nmap mostrará los resultados para los puertos especificados. La salida indicará si los puertos están abiertos, cerrados o filtrados.

Salida de ejemplo (la salida real puede variar):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000029s latency).

PORT   STATE    SERVICE
22/tcp filtered ssh
80/tcp filtered http

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

En este ejemplo, ambos puertos 22 y 80 se informan como filtrados. Esto significa que Nmap no pudo determinar si estos puertos están abiertos o cerrados, posiblemente debido a reglas de firewall u otras configuraciones de red en el localhost.

Agregar detalle con nmap -v -sX 192.168.1.1

En este paso, agregaremos detalle a nuestro escaneo Xmas. El detalle en Nmap significa aumentar la cantidad de información mostrada durante el escaneo. Esto puede ser útil para entender lo que está haciendo Nmap y para solucionar cualquier problema que pueda surgir.

La opción -v en Nmap aumenta el nivel de detalle. Puedes usar -v para un detalle normal o -vv para una salida aún más detallada.

Para ejecutar un escaneo Xmas con detalle, abre tu terminal Xfce y ejecuta el siguiente comando:

sudo nmap -v -sX 192.168.1.1

Este comando le dice a Nmap que realice un escaneo Xmas (-sX) en la dirección IP objetivo 192.168.1.1 con detalle habilitado (-v). Necesitarás privilegios de sudo para ejecutar este comando.

La salida ahora incluirá más información sobre el proceso de escaneo, como los puertos que se están escaneando, los paquetes que se están enviando y cualquier respuesta recibida.

Salida de ejemplo (la salida real variará según el sistema objetivo y la configuración de red):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Xmas Scan at 10:00
Scanning 192.168.1.1 [1000 ports]
Completed Xmas Scan at 10:00, 0.00s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
All 1000 scanned ports on 192.168.1.1 are filtered

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

La salida detallada proporciona más detalles sobre el progreso del escaneo, incluyendo las horas de inicio y finalización, el número de puertos escaneados y cualquier error o advertencia encontrado.

Guardar los resultados del escaneo Xmas con nmap -sX -oN xmas.txt 127.0.0.1

En este paso, aprenderemos cómo guardar los resultados de un escaneo Xmas en un archivo. Esto es útil para un análisis posterior o para documentar tus hallazgos. Nmap ofrece varias opciones para guardar los resultados del escaneo en diferentes formatos. La opción -oN guarda los resultados en un formato legible por humanos "normal".

Para guardar los resultados de un escaneo Xmas en un archivo llamado xmas.txt, abre tu terminal Xfce y ejecuta el siguiente comando:

sudo nmap -sX -oN xmas.txt 127.0.0.1

Este comando le dice a Nmap que realice un escaneo Xmas (-sX) en la dirección IP objetivo 127.0.0.1 (localhost) y guarde los resultados en formato normal (-oN) en el archivo xmas.txt. El archivo se creará en tu directorio actual, que es ~/proyecto. Necesitarás privilegios de sudo para ejecutar este comando.

Después de que se complete el escaneo, puedes ver el contenido del archivo xmas.txt usando el comando cat o un editor de texto como nano.

cat xmas.txt

Salida de ejemplo (la salida real puede 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.000029s latency).
All 1000 scanned ports on localhost (127.0.0.1) are filtered

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

Alternativamente, puedes usar nano para abrir y ver el archivo:

nano xmas.txt

Esto abrirá el archivo xmas.txt en el editor de texto nano, lo que te permitirá examinar los resultados del escaneo. Recuerda guardar y salir de nano presionando Ctrl+X, luego Y para confirmar la guardada y finalmente Enter.

Comparar el escaneo Xmas con el escaneo FIN en la terminal Xfce

En este paso, compararemos los resultados de un escaneo Xmas con un escaneo FIN. Tanto los escaneos Xmas como los FIN son tipos de escaneos sigilosos que se pueden utilizar para identificar los puertos abiertos en un sistema objetivo. Funcionan enviando paquetes TCP especialmente elaborados al objetivo y analizando las respuestas.

Primero, ejecutemos un escaneo FIN en el localhost (127.0.0.1):

sudo nmap -sF 127.0.0.1

Este comando le dice a Nmap que realice un escaneo FIN (-sF) en la dirección IP objetivo 127.0.0.1. Necesitarás privilegios de sudo para ejecutar este comando.

Salida de ejemplo (la salida real puede variar):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000029s latency).
All 1000 scanned ports on localhost (127.0.0.1) are filtered

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

Ahora, comparemos esta salida con la salida del escaneo Xmas que realizamos anteriormente. Puedes retroceder en el historial de la terminal para encontrar la salida anterior del escaneo Xmas, o puedes volver a ejecutar el escaneo Xmas:

sudo nmap -sX 127.0.0.1

Salida de ejemplo (la salida real puede variar):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:01 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000029s latency).
All 1000 scanned ports on localhost (127.0.0.1) are filtered

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

Observe las similitudes y diferencias entre los dos resultados de escaneo. En muchos casos, los resultados serán idénticos, mostrando todos los puertos como filtrados. Esto se debe a que muchas firewall modernas y sistemas operativos están configurados para descartar o ignorar este tipo de paquetes.

Para comparar aún más, puedes guardar los resultados del escaneo FIN en un archivo, de manera similar a lo que hicimos con el escaneo Xmas:

sudo nmap -sF -oN fin.txt 127.0.0.1

Luego, puedes usar el comando diff para comparar los dos archivos:

diff xmas.txt fin.txt

Este comando te mostrará cualquier diferencia entre los archivos xmas.txt y fin.txt. Si los escaneos produjeron resultados idénticos, el comando diff no mostrará nada.

Analizar los resultados en la terminal Xfce

En este paso, analizaremos los resultados de los escaneos Nmap que hemos realizado. Comprender la salida de los escaneos Nmap es crucial para identificar posibles vulnerabilidades y riesgos de seguridad.

Comencemos examinando el archivo xmas.txt, que contiene los resultados del escaneo Xmas. Puedes ver el contenido de este archivo usando el comando cat o un editor de texto como nano:

cat xmas.txt

o

nano xmas.txt

La salida generalmente incluirá la siguiente información:

  • Versión de Nmap: La versión de Nmap utilizada para el escaneo.
  • Hora de inicio del escaneo: La fecha y hora en que se inició el escaneo.
  • Información del objetivo: La dirección IP o el nombre de host del sistema objetivo.
  • Estado del host: Si el host objetivo está activo o inactivo.
  • Estado del puerto: El estado de cada puerto escaneado (por ejemplo, abierto, cerrado, filtrado).
  • Hora de finalización del escaneo: La fecha y hora en que se completó el escaneo.

En el caso de los escaneos Xmas y FIN, a menudo verás que todos los puertos se informan como "filtrados". Esto significa que Nmap no pudo determinar si los puertos están abiertos o cerrados porque el sistema objetivo no respondió a los paquetes de escaneo de manera que permitiera a Nmap hacer una determinación definitiva. Este es un resultado común al escanear sistemas protegidos por firewalls o sistemas de detección de intrusiones (IDS).

Si ves puertos informados como "abiertos" o "cerrados", indica que el sistema objetivo respondió a los paquetes de escaneo de manera previsible. Sin embargo, es importante tener en cuenta que los escaneos Xmas y FIN pueden ser poco fiables y los resultados no siempre pueden ser exactos.

Para obtener una imagen más precisa de los puertos abiertos del sistema objetivo, es posible que necesites utilizar otros tipos de escaneos Nmap, como un escaneo de conexión TCP (-sT) o un escaneo SYN (-sS). Estos escaneos son más fiables pero también pueden ser detectados con más facilidad por firewalls e IDS.

En resumen, analizar los resultados de los escaneos Nmap implica examinar detenidamente la salida para identificar posibles vulnerabilidades y riesgos de seguridad. Es importante entender los diferentes tipos de escaneos Nmap y las limitaciones de cada tipo de escaneo. Al combinar diferentes técnicas de escaneo y analizar detenidamente los resultados, puedes obtener una comprensión más completa de la postura de seguridad del sistema objetivo.

Resumen

En este laboratorio, los participantes aprenden a realizar un escaneo Xmas TCP utilizando Nmap. Comiencen ejecutando un escaneo Xmas básico en una dirección IP objetivo (192.168.1.1) con el comando nmap -sX, comprendiendo que establece las banderas FIN, PSH y URG en el encabezado TCP para identificar puertos abiertos o filtrados. También aprenden a escanear puertos específicos, agregar detalle al escaneo y guardar los resultados en un archivo. Además, comparan los escaneos Xmas con los escaneos FIN y analizan los resultados en la terminal Xfce.