Realizar un escaneo TCP ACK 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, aprenderá a realizar un escaneo TCP ACK utilizando Nmap. El laboratorio aborda varios aspectos del escaneo ACK, incluyendo la ejecución de un escaneo ACK básico, el escaneo de un rango de puertos específico, la adición de detalle al escaneo, la guardado de los resultados del escaneo, el análisis de los puertos filtrados y la comparación de escaneos ACK con escaneos SYN en la terminal Xfce. Comprenderá cómo funcionan los escaneos ACK al enviar paquetes TCP ACK a un host objetivo y analizar las respuestas para determinar si los puertos están filtrados o no.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) 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") subgraph Lab Skills nmap/output_formats -.-> lab-547092{{"Realizar un escaneo TCP ACK en Nmap"}} nmap/save_output -.-> lab-547092{{"Realizar un escaneo TCP ACK en Nmap"}} nmap/port_scanning -.-> lab-547092{{"Realizar un escaneo TCP ACK en Nmap"}} nmap/scan_types -.-> lab-547092{{"Realizar un escaneo TCP ACK en Nmap"}} nmap/target_specification -.-> lab-547092{{"Realizar un escaneo TCP ACK en Nmap"}} nmap/verbosity -.-> lab-547092{{"Realizar un escaneo TCP ACK en Nmap"}} end

Ejecutar un escaneo ACK con nmap -sA 192.168.1.1

En este paso, aprenderá a realizar un escaneo ACK utilizando Nmap. Un escaneo ACK es un tipo de escaneo TCP que envía paquetes TCP ACK a un host objetivo. A diferencia de otros tipos de escaneo, un escaneo ACK no establece una conexión TCP completa. En lugar de eso, analiza las respuestas (o la falta de ellas) para determinar si un puerto está filtrado o no filtrado.

Comprendiendo los conceptos básicos del escaneo ACK

  • Paquete ACK: Un paquete TCP ACK (Aceptación) generalmente se utiliza para confirmar la recepción de datos en una conexión TCP establecida.
  • Comportamiento del firewall: Los firewalls a menudo tienen reglas para bloquear conexiones TCP entrantes no solicitadas. Los escaneos ACK explotan este comportamiento para mapear los conjuntos de reglas del firewall.
  • Filtrado vs. No filtrado:
    • No filtrado: Si el puerto objetivo no está filtrado, Nmap recibirá un paquete RST (Reinicio) como respuesta a la sonda ACK. Esto indica que ningún firewall está bloqueando la conexión.
    • Filtrado: Si el puerto objetivo está filtrado, Nmap no recibirá respuesta, o un mensaje de error ICMP. Esto sugiere que un firewall está bloqueando la conexión.

Realizando un escaneo ACK

  1. Abra la terminal Xfce: Si no está abierta, inicie la terminal Xfce desde el entorno de escritorio.

  2. Ejecute el comando de escaneo ACK: En la terminal, escriba el siguiente comando y presione Enter:

    nmap -sA 192.168.1.1
    • nmap: El escáner de línea de comandos de Nmap.
    • -sA: Especifica el tipo de escaneo ACK.
    • 192.168.1.1: La dirección IP objetivo. Reemplace esto con la dirección IP real que desea escanear. Si está ejecutando esto en un entorno virtual, es posible que desee escanear su puerta de enlace o otra máquina en su red. Si no tiene otra máquina, puede escanear la dirección IP de su localhost 127.0.0.1.
    nmap -sA 127.0.0.1
  3. Analice los resultados: Nmap mostrará los resultados del escaneo. Busque los puertos que estén marcados como "No filtrado" o "Filtrado".

    Ejemplo de salida (puede variar según el objetivo):

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
    Nmap scan report for 127.0.0.1
    Host is up (0.00020s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    Nmap done: 1 IP address (1 host up) scanned in 2.50 seconds

    En este ejemplo, los puertos 22, 80, 111 y 631 no están filtrados, lo que significa que un paquete ACK enviado a estos puertos probablemente recibirá una respuesta RST.

Consideraciones importantes:

  • Los escaneos ACK no siempre son confiables para determinar el estado exacto de un puerto. Los firewalls y los dispositivos de red a veces pueden producir resultados engañosos.
  • Los escaneos ACK se utilizan principalmente para mapear las reglas del firewall e identificar posibles puntos de entrada a una red.

Escanear un rango de puertos con nmap -sA -p 1-100 127.0.0.1

En este paso, ampliará sus conocimientos sobre los escaneos ACK al escanear un rango de puertos específico. Esto es útil para restringir su investigación a los puertos más comúnmente utilizados o a los puertos de interés.

Comprendiendo los rangos de puertos

Un rango de puertos especifica un conjunto de puertos para escanear, en lugar de escanear todos los 65535 puertos. Esto puede reducir significativamente el tiempo de escaneo y centrar su análisis. Los rangos de puertos comunes incluyen:

  • 1-1024: Puertos bien conocidos, a menudo utilizados por servicios del sistema.
  • 1-100: Un rango más pequeño para verificaciones rápidas.
  • 80,443,8080: Puertos específicos de interés (HTTP, HTTPS, HTTP alternativo).

Escanear un rango de puertos con Nmap

  1. Abra la terminal Xfce: Si no está abierta, inicie la terminal Xfce desde el entorno de escritorio.

  2. Ejecute el comando de escaneo ACK con un rango de puertos: En la terminal, escriba el siguiente comando y presione Enter:

    nmap -sA -p 1-100 127.0.0.1
    • nmap: El escáner de línea de comandos de Nmap.
    • -sA: Especifica el tipo de escaneo ACK.
    • -p 1-100: Especifica el rango de puertos a escanear (puertos 1 a 100).
    • 127.0.0.1: La dirección IP objetivo (localhost en este caso).
  3. Analice los resultados: Nmap mostrará los resultados del escaneo, centrándose solo en los puertos dentro del rango especificado (1-100).

    Ejemplo de salida (puede variar según el objetivo):

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00018s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT    STATE      SERVICE
    21/tcp  unfiltered ftp
    22/tcp  unfiltered ssh
    25/tcp  unfiltered smtp
    53/tcp  unfiltered domain
    80/tcp  unfiltered http
    
    Nmap done: 1 IP address (1 host up) scanned in 0.85 seconds

    Esta salida muestra el estado de los puertos 21, 22, 25, 53 y 80 en el localhost. Todos ellos no están filtrados.

Beneficios de escanear rangos de puertos:

  • Eficiencia: Reduce el tiempo de escaneo al centrarse en puertos específicos.
  • Análisis dirigido: Le permite investigar servicios o aplicaciones específicas que se ejecutan en el objetivo.
  • Ruido reducido: Filtra la información irrelevante, lo que facilita la identificación de posibles vulnerabilidades.

Agregar detalle con nmap -v -sA 192.168.1.1

En este paso, aprenderá a aumentar el detalle de los escaneos de Nmap. El detalle proporciona información más detallada sobre el proceso de escaneo, lo que puede ser útil para la solución de problemas o la comprensión más profunda de los resultados.

Comprendiendo los niveles de detalle

Nmap ofrece diferentes niveles de detalle, controlados por la opción -v. Usar -v una vez aumenta el nivel de detalle, y usarlo múltiples veces (por ejemplo, -vv) lo aumenta aún más. Los niveles de detalle más altos proporcionan una salida más detallada.

Agregar detalle a un escaneo ACK

  1. Abra la terminal Xfce: Si no está abierta, inicie la terminal Xfce desde el entorno de escritorio.

  2. Ejecute el comando de escaneo ACK con detalle: En la terminal, escriba el siguiente comando y presione Enter:

    nmap -v -sA 192.168.1.1
    • nmap: El escáner de línea de comandos de Nmap.
    • -v: Habilita la salida detallada.
    • -sA: Especifica el tipo de escaneo ACK.
    • 192.168.1.1: La dirección IP objetivo. Reemplace esto con la dirección IP real que desea escanear. Si está ejecutando esto en un entorno virtual, es posible que desee escanear su puerta de enlace o otra máquina en su red. Si no tiene otra máquina, puede escanear la dirección IP de su localhost 127.0.0.1.
    nmap -v -sA 127.0.0.1
  3. Analice los resultados: Nmap mostrará los resultados del escaneo con información más detallada. Verá más salida sobre el proceso de escaneo, como las sondas que se envían y las respuestas que se reciben.

    Ejemplo de salida (puede variar según el objetivo):

    Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
    Initiating Ping Scan at 10:10
    Scanning 127.0.0.1 [4 ports]
    Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
    Initiating ACK Scan at 10:10
    Scanning localhost (127.0.0.1) [1000 ports]
    Discovered open port 22/tcp on 127.0.0.1
    Discovered open port 80/tcp on 127.0.0.1
    Discovered open port 111/tcp on 127.0.0.1
    Discovered open port 631/tcp on 127.0.0.1
    Completed ACK Scan at 10:10, 0.15s elapsed (1000 total ports)
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00016s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds

    La salida detallada muestra las diferentes etapas del escaneo, incluyendo el escaneo de ping y el escaneo ACK, así como los puertos descubiertos.

Beneficios del detalle:

  • Solución de problemas: Ayuda a identificar problemas durante el proceso de escaneo, como problemas de conectividad de red o interferencia de firewall.
  • Comprensión más profunda: Proporciona más información sobre cómo funciona Nmap y cómo determina el estado de los puertos.
  • Informes detallados: Ofrece información más completa para informes y análisis.

Guardar los resultados del escaneo ACK con nmap -sA -oN ack.txt 127.0.0.1

En este paso, aprenderá a guardar los resultados de un escaneo ACK de Nmap en un archivo. Esto es útil para un análisis posterior, informes o comparación con otros escaneos.

Comprendiendo las opciones de salida de Nmap

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". Otras opciones incluyen -oX para el formato XML y -oS para el formato de "script kiddie" (menos legible).

Guardar los resultados del escaneo ACK en un archivo

  1. Abra la terminal Xfce: Si no está abierta, inicie la terminal Xfce desde el entorno de escritorio.

  2. Ejecute el comando de escaneo ACK con salida a archivo: En la terminal, escriba el siguiente comando y presione Enter:

    nmap -sA -oN ack.txt 127.0.0.1
    • nmap: El escáner de línea de comandos de Nmap.
    • -sA: Especifica el tipo de escaneo ACK.
    • -oN ack.txt: Especifica que la salida debe guardarse en formato normal en un archivo llamado ack.txt. El archivo se guardará en su directorio actual (~/project).
    • 127.0.0.1: La dirección IP objetivo (localhost en este caso).
  3. Verifique la creación del archivo: Una vez que se complete el escaneo, verifique que el archivo ack.txt haya sido creado en su directorio ~/project. Puede usar el comando ls para listar los archivos en el directorio:

    ls ~/project

    Debería ver ack.txt en la lista de archivos.

  4. Visualice el contenido del archivo: Puede visualizar el contenido del archivo ack.txt usando el comando cat o un editor de texto como nano:

    cat ~/project/ack.txt

    o

    nano ~/project/ack.txt

    El archivo contendrá los resultados del escaneo de Nmap en un formato legible por humanos.

    Contenido de ejemplo de ack.txt (puede variar según el objetivo):

    ## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.00016s latency).
    Other addresses for localhost (alias(es)): localhost
    
    PORT      STATE      SERVICE
    22/tcp    unfiltered ssh
    80/tcp    unfiltered http
    111/tcp   unfiltered rpcbind
    631/tcp   unfiltered ipp
    ...
    
    ## Nmap done at Fri Oct 27 10:15:01 2023 -- 1 IP address (1 host up) scanned in 0.85 seconds

Beneficios de guardar los resultados del escaneo:

  • Documentación: Proporciona un registro de los resultados del escaneo para futura referencia.
  • Análisis: Le permite analizar los resultados en mayor detalle usando herramientas de procesamiento de texto o scripts.
  • Informes: Facilita la creación de informes basados en los resultados del escaneo.
  • Comparación: Permite comparar los resultados de diferentes escaneos a lo largo del tiempo para rastrear los cambios en la red.

Analizar los puertos filtrados en la terminal Xfce

En este paso, aprenderá a analizar los puertos filtrados identificados durante un escaneo ACK de Nmap. Comprender por qué los puertos están filtrados es crucial para evaluar la seguridad de la red e identificar posibles vulnerabilidades.

Comprendiendo los puertos filtrados

En Nmap, un puerto "filtrado" significa que Nmap no puede determinar si el puerto está abierto o cerrado porque el filtrado de paquetes impide que las sondas de Nmap lleguen al puerto. Esto suele ser debido a una regla de firewall que bloquea el tipo específico de tráfico que Nmap está usando para el escaneo. Con el escaneo ACK, los puertos filtrados generalmente indican la presencia de un firewall u otro dispositivo de red que está bloqueando los paquetes ACK.

Analizando los puertos filtrados del escaneo ACK

  1. Abra la terminal Xfce: Si no está abierta, inicie la terminal Xfce desde el entorno de escritorio.

  2. Revise el archivo ack.txt: En el paso anterior, guardó los resultados del escaneo ACK en el archivo ack.txt. Use el comando cat o nano para ver el contenido del archivo:

    cat ~/project/ack.txt

    o

    nano ~/project/ack.txt
  3. Identifique los puertos filtrados: Busque líneas en la salida que indiquen que un puerto está en el estado "filtrado". Por ejemplo:

    PORT      STATE      SERVICE
    21/tcp    filtered  ftp
    23/tcp    filtered  telnet

    Esto indica que los puertos 21 (FTP) y 23 (Telnet) están filtrados.

  4. Investigue la causa del filtrado: El hecho de que los puertos estén filtrados sugiere que un firewall u otro dispositivo de red está bloqueando los paquetes ACK enviados a esos puertos. Para investigar más, puede considerar lo siguiente:

    • Reglas de firewall: Verifique la configuración del firewall en la máquina o red objetivo para ver si hay reglas que bloquean los paquetes ACK a puertos específicos. Dado que está escanendiendo 127.0.0.1, puede verificar las reglas de firewall locales. Sin embargo, en el entorno de LabEx, es probable que no tenga acceso para modificar las reglas de firewall.
    • Topología de red: Considere la topología de red entre su máquina de escaneo y el objetivo. ¿Hay algún dispositivo intermedio (por ejemplo, routers, firewalls) que podría estar filtrando el tráfico?
    • Otros tipos de escaneo: Use otros tipos de escaneo de Nmap (por ejemplo, escaneo SYN, escaneo de conexión TCP) para ver si proporcionan más información sobre el estado de los puertos. Lo hará en el siguiente paso.
  5. Análisis de ejemplo:

    Si ve que puertos comunes como 21 (FTP), 23 (Telnet) y 80 (HTTP) están filtrados, es probable que un firewall esté configurado para bloquear las conexiones entrantes no solicitadas a estos puertos. Esta es una práctica de seguridad común para evitar el acceso no autorizado a los servicios que se ejecutan en la máquina objetivo.

Consideraciones importantes:

  • Los escaneos ACK a menudo se usan para mapear los conjuntos de reglas de firewall. Al enviar paquetes ACK a diferentes puertos, puede determinar qué puertos están siendo filtrados y cuáles no.
  • Los resultados de un escaneo ACK pueden verse afectados por la configuración de red y la presencia de firewalls.
  • Los puertos filtrados no necesariamente significan que el servicio no está en ejecución. Simplemente significa que Nmap no puede determinar su estado debido al filtrado.

Comparar el escaneo ACK con el escaneo SYN en la terminal Xfce

En este paso, comparará los resultados de un escaneo ACK de Nmap con un escaneo SYN. Esta comparación le ayudará a entender las diferencias entre estos tipos de escaneo y cómo se pueden utilizar para recopilar diferentes información sobre un objetivo.

Comprendiendo los escaneos ACK y SYN

  • Escaneo ACK (-sA): Envía paquetes TCP ACK al objetivo. Se utiliza principalmente para mapear los conjuntos de reglas de firewall. Si un puerto está sin filtrar, generalmente significa que el firewall permite que los paquetes ACK pasen. Si un puerto está filtrado, significa que el firewall probablemente está bloqueando los paquetes ACK. El escaneo ACK no determina si un puerto está abierto o cerrado.
  • Escaneo SYN (-sS): Envía paquetes TCP SYN al objetivo. Es un escaneo más sigiloso que un escaneo de conexión TCP completo porque no completa el handshake TCP. Si se recibe un paquete SYN/ACK, el puerto se considera abierto. Si se recibe un paquete RST, el puerto se considera cerrado.

Realizando un escaneo SYN

  1. Abra la terminal Xfce: Si no está abierta, inicie la terminal Xfce desde el entorno de escritorio.

  2. Ejecute el comando de escaneo SYN: En la terminal, escriba el siguiente comando y presione Enter:

    nmap -sS 127.0.0.1
    • nmap: El escáner de línea de comandos de Nmap.
    • -sS: Especifica el tipo de escaneo SYN.
    • 127.0.0.1: La dirección IP objetivo (localhost en este caso).
  3. Ejecute el comando de escaneo SYN con salida a archivo: En la terminal, escriba el siguiente comando y presione Enter:

    nmap -sS -oN syn.txt 127.0.0.1
    • nmap: El escáner de línea de comandos de Nmap.
    • -sS: Especifica el tipo de escaneo SYN.
    • -oN syn.txt: Especifica que la salida debe guardarse en formato normal en un archivo llamado syn.txt. El archivo se guardará en su directorio actual (~/project).
    • 127.0.0.1: La dirección IP objetivo (localhost en este caso).

Comparando los resultados

  1. Ver los resultados del escaneo SYN: Una vez que se complete el escaneo SYN, vea los resultados en la terminal. Debería ver una lista de puertos abiertos, cerrados y filtrados.

  2. Ver el contenido del archivo: Puede ver el contenido del archivo syn.txt usando el comando cat o un editor de texto como nano:

    cat ~/project/syn.txt

    o

    nano ~/project/syn.txt

    El archivo contendrá los resultados del escaneo de Nmap en un formato legible por humanos.

  3. Compare con los resultados del escaneo ACK: Compare los resultados del escaneo SYN con los resultados del escaneo ACK que obtuvo en los pasos anteriores (ya sea a partir de la salida de la terminal o el archivo ack.txt).

  4. Analice las diferencias:

    • Puertos abiertos: El escaneo SYN le mostrará qué puertos están realmente abiertos en el objetivo. El escaneo ACK no revelará directamente los puertos abiertos.
    • Puertos filtrados: Si un puerto está filtrado en el escaneo ACK pero abierto en el escaneo SYN, sugiere que el firewall está bloqueando los paquetes ACK pero permitiendo los paquetes SYN a ese puerto. Este es un escenario común.
    • Puertos cerrados: El escaneo SYN le mostrará qué puertos están cerrados. El escaneo ACK no revelará directamente los puertos cerrados.

Comparación de ejemplo:

Digamos que el escaneo ACK muestra que el puerto 80 (HTTP) está filtrado, mientras que el escaneo SYN muestra que el puerto 80 está abierto. Esto indica que el firewall probablemente está bloqueando los paquetes ACK al puerto 80, pero permitiendo los paquetes SYN. Esta es una configuración típica para un servidor web, donde se permiten los paquetes SYN entrantes para establecer conexiones, pero se bloquean los paquetes ACK no solicitados.

Conclusiones clave:

  • Los escaneos ACK y SYN proporcionan diferentes tipos de información sobre un objetivo.
  • Los escaneos ACK son útiles para mapear los conjuntos de reglas de firewall.
  • Los escaneos SYN son útiles para identificar puertos abiertos.
  • Al comparar los resultados de estos escaneos, puede obtener una mejor comprensión de la postura de seguridad del objetivo.

Resumen

En este laboratorio, aprenderá a realizar un escaneo TCP ACK utilizando Nmap. Comenzará realizando un escaneo ACK básico con el comando nmap -sA <target_ip>, comprendiendo cómo funcionan los paquetes ACK y cómo determinar si un puerto está filtrado o sin filtrar según las respuestas. También aprenderá a escanear un rango de puertos específicos, agregar detalle al escaneo y guardar los resultados en un archivo. Además, analizará los puertos filtrados y comparará los escaneos ACK con los escaneos SYN en la terminal Xfce.