Realizar un Escaneo de Puertos 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 puertos utilizando Nmap. El laboratorio aborda varios tipos de escaneos, incluyendo el escaneo de conexión TCP, el escaneo SYN, el escaneo de puertos específicos, rangos de puertos y los puertos más utilizados. Ejecutará comandos como nmap -sT, nmap -sS y otros en diferentes direcciones IP y rangos, y luego comprobará los resultados en la terminal Xfce.

Cada tipo de escaneo tiene sus propias características y casos de uso. Por ejemplo, el escaneo de conexión TCP completa la handshake TCP de tres pasos, lo que es confiable pero menos disimulado. Al final del laboratorio, tendrá una mejor comprensión de cómo utilizar Nmap para el escaneo de puertos.


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/common_ports("Common Ports Scanning") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/stealth_scanning("Stealth and Covert Scanning") subgraph Lab Skills nmap/tcp_connect_scan -.-> lab-530176{{"Realizar un Escaneo de Puertos con Nmap"}} nmap/common_ports -.-> lab-530176{{"Realizar un Escaneo de Puertos con Nmap"}} nmap/port_scanning -.-> lab-530176{{"Realizar un Escaneo de Puertos con Nmap"}} nmap/target_specification -.-> lab-530176{{"Realizar un Escaneo de Puertos con Nmap"}} nmap/syn_scan -.-> lab-530176{{"Realizar un Escaneo de Puertos con Nmap"}} nmap/stealth_scanning -.-> lab-530176{{"Realizar un Escaneo de Puertos con Nmap"}} end

Ejecutar un escaneo de conexión TCP con nmap -sT 127.0.0.1

En este paso, aprenderá a realizar un escaneo de conexión TCP utilizando Nmap. Un escaneo de conexión TCP es una forma básica de escanear TCP que completa la handshake TCP de tres pasos para establecer una conexión con el objetivo. Este método es menos disimulado que otros tipos de escaneos, pero es confiable y no requiere privilegios especiales.

Antes de comenzar, entendamos la handshake TCP de tres pasos:

  1. SYN (Sincronizar): El escáner envía un paquete SYN al objetivo.
  2. SYN/ACK (Sincronizar/Confirmar): Si el puerto está abierto, el objetivo responde con un paquete SYN/ACK.
  3. ACK (Confirmar): El escáner completa la conexión enviando un paquete ACK de vuelta al objetivo.

La opción -sT de Nmap realiza este escaneo completo de conexión TCP. Debido a que completa la conexión TCP, es fácil de registrar por el sistema objetivo.

Ahora, realicemos un escaneo de conexión TCP en 127.0.0.1 (localhost). Esta dirección siempre se refiere a su propia máquina.

  1. Abra la terminal Xfce.

  2. Ejecute el siguiente comando:

sudo nmap -sT 127.0.0.1

Este comando le dice a Nmap que realice un escaneo de conexión TCP (-sT) en la dirección IP 127.0.0.1. Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

  1. Observe la salida. Debería ver una lista de puertos abiertos en su máquina local. La salida se verá similar a esto:
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000063s latency).
Other addresses for localhost: ::1

PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    closed smtp
80/tcp    closed http
111/tcp   closed rpcbind
139/tcp   closed netbios-ssn
445/tcp   closed microsoft-ds
631/tcp   closed ipp
3306/tcp  closed mysql
5432/tcp  closed postgresql
8080/tcp  closed http-proxy
8443/tcp  closed https-alt
9090/tcp  closed zeus-admin
10000/tcp closed snet-sensor-mgmt

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

La salida muestra los puertos que están abiertos, cerrados o filtrados en el sistema objetivo. En este caso, está escanneando su propia máquina. La columna STATE indica el estado de cada puerto. open significa que Nmap pudo establecer una conexión TCP a ese puerto. closed significa que Nmap recibió un paquete de restablecimiento TCP (RST) en respuesta a su paquete SYN.

Ejecutar un escaneo SYN con nmap -sS 192.168.1.1

En este paso, aprenderá a realizar un escaneo SYN (también conocido como "escaneo semi-abierto") utilizando Nmap. Un escaneo SYN es una técnica más disimulada que un escaneo de conexión TCP porque no completa la handshake TCP de tres pasos.

Aquí está cómo funciona un escaneo SYN:

  1. SYN (Sincronizar): El escáner envía un paquete SYN al objetivo.
  2. SYN/ACK (Sincronizar/Confirmar): Si el puerto está abierto, el objetivo responde con un paquete SYN/ACK.
  3. RST (Restablecer): En lugar de enviar un ACK para completar la conexión, el escáner envía un paquete RST para terminar abruptamente la conexión.

Debido a que la conexión TCP completa nunca se establece, los escaneos SYN son menos propensos a ser registrados por el sistema objetivo en comparación con los escaneos de conexión TCP. Sin embargo, los escaneos SYN generalmente requieren privilegios de root para crear paquetes brutos.

La opción -sS de Nmap realiza un escaneo SYN.

Ahora, realicemos un escaneo SYN en 192.168.1.1. Nota: Esta dirección IP es probablemente una dirección IP privada en una red local. Asegúrese de tener permiso para escanear esta dirección. En un escenario real, escanear una red sin permiso es ilegal. Con fines de este laboratorio, asumiremos que esta dirección IP representa un objetivo seguro dentro de su entorno de prueba. Si no tiene un dispositivo en esta dirección, es probable que el escaneo muestre todos los puertos como filtrados.

  1. Abra la terminal Xfce.

  2. Ejecute el siguiente comando:

sudo nmap -sS 192.168.1.1

Este comando le dice a Nmap que realice un escaneo SYN (-sS) en la dirección IP 192.168.1.1. Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

  1. Observe la salida. La salida variará dependiendo del sistema objetivo. Podría verse similar a esto:
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp closed https

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

La salida muestra los puertos que están abiertos, cerrados o filtrados en el sistema objetivo. La columna STATE indica el estado de cada puerto. open significa que Nmap recibió un paquete SYN/ACK en respuesta a su paquete SYN. closed significa que Nmap recibió un paquete RST. filtered significa que Nmap no pudo determinar si el puerto está abierto o cerrado porque el filtrado de red está impidiendo que Nmap alcance el puerto.

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

En este paso, aprenderá a escanear puertos específicos en un sistema objetivo utilizando Nmap. Esto es útil cuando desea centrar su escaneo en servicios o aplicaciones particulares que sospecha que pueden estar en ejecución en el objetivo.

La opción -p de Nmap le permite especificar los puertos que desea escanear. Puede especificar puertos individuales, un rango de puertos o una combinación de ambos. En este caso, escanearemos los puertos 22 y 80 en la dirección IP 192.168.1.1.

  • El puerto 22 se utiliza comúnmente para SSH (Secure Shell), un protocolo de acceso remoto seguro.
  • El puerto 80 se utiliza comúnmente para HTTP (Hypertext Transfer Protocol), el protocolo utilizado para la navegación web.

Nota: Al igual que en el paso anterior, 192.168.1.1 es probablemente una dirección IP privada en una red local. Asegúrese de tener permiso para escanear esta dirección. En un escenario real, escanear una red sin permiso es ilegal. Con fines de este laboratorio, asumiremos que esta dirección IP representa un objetivo seguro dentro de su entorno de prueba. Si no tiene un dispositivo en esta dirección, es probable que el escaneo muestre los puertos como filtrados o cerrados.

  1. Abra la terminal Xfce.

  2. Ejecute el siguiente comando:

sudo nmap -p 22,80 192.168.1.1

Este comando le dice a Nmap que escanee los puertos 22 y 80 (-p 22,80) en la dirección IP 192.168.1.1. Nmap utilizará el escaneo SYN predeterminado a menos que se especifique lo contrario. Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter.

  1. Observe la salida. La salida variará dependiendo del sistema objetivo. Podría verse similar a esto:
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0011s latency).

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

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

La salida muestra el estado de los puertos 22 y 80 en el sistema objetivo. open significa que Nmap recibió un paquete SYN/ACK en respuesta a su paquete SYN, lo que indica que el puerto está escuchando conexiones.

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

En este paso, aprenderá a escanear un rango de puertos en un sistema objetivo utilizando Nmap. Esto es útil cuando desea identificar todos los puertos abiertos dentro de un rango específico, lo que puede ayudarle a entender los servicios en ejecución en el objetivo.

Como aprendió en el paso anterior, la opción -p de Nmap le permite especificar los puertos que desea escanear. Para escanear un rango de puertos, puede usar la sintaxis start-end, donde start es el número de puerto inicial y end es el número de puerto final. En este caso, escanearemos los puertos del 1 al 100 en la dirección IP 127.0.0.1.

127.0.0.1 es la dirección de bucle (loopback), también conocida como localhost. Siempre se refiere a la máquina actual. Escanear 127.0.0.1 es seguro y no requiere permisos especiales.

  1. Abra la terminal Xfce.

  2. Ejecute el siguiente comando:

nmap -p 1-100 127.0.0.1

Este comando le dice a Nmap que escanear los puertos del 1 al 100 (-p 1-100) en la dirección IP 127.0.0.1. Dado que estamos escaneando la máquina local, no es necesario sudo. Nmap utilizará el escaneo SYN predeterminado a menos que se especifique lo contrario, pero dado que no estamos usando sudo, se revertirá a un escaneo de conexión TCP.

  1. Observe la salida. La salida variará dependiendo de los servicios en ejecución en su máquina virtual LabEx. Podría verse similar a esto:
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000081s latency).
Not shown: 97 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
631/tcp open  ipp
992/tcp open  unknown

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

La salida muestra el estado de los puertos del 1 al 100 en la máquina local. open significa que Nmap pudo establecer una conexión TCP con el puerto, lo que indica que el puerto está escuchando conexiones. closed significa que Nmap recibió un paquete RST, lo que indica que el puerto no está escuchando. filtered significa que Nmap no pudo determinar si el puerto está abierto o cerrado.

Escanear los puertos más comunes con nmap --top-ports 10 192.168.1.0/24

En este paso, aprenderá a escanear los puertos más comunes en una red utilizando Nmap. Esto es útil cuando desea identificar rápidamente los servicios más probables que se ejecutan en un rango de hosts. Nmap mantiene una lista de los puertos más frecuentemente utilizados, y la opción --top-ports le permite escanear un número especificado de estos puertos.

La opción --top-ports le dice a Nmap que escanee el número especificado de los puertos más comunes, basado en la lista de frecuencia de servicios de Nmap. Esta lista se compila a partir de datos estadísticos recolectados durante muchos años de escanos de red.

En este caso, escanearemos los 10 puertos más comunes en la red 192.168.1.0/24.

  • 192.168.1.0/24 es una notación CIDR (Classless Inter-Domain Routing) que representa un rango de red. El /24 indica que los primeros 24 bits de la dirección IP son fijos, lo que significa que la red incluye todas las direcciones IP desde 192.168.1.0 hasta 192.168.1.255.

Importante: Escanear un rango de red puede afectar potencialmente el rendimiento de la red y puede considerarse intrusivo. Asegúrese de tener permiso para escanear la red antes de continuar. Con fines de este laboratorio, asumiremos que esta dirección IP representa un objetivo seguro dentro de su entorno de prueba. Si no tiene una red en esta dirección, es probable que el escaneo no encuentre ningún puerto abierto.

  1. Abra la terminal Xfce.

  2. Ejecute el siguiente comando:

sudo nmap --top-ports 10 192.168.1.0/24

Este comando le dice a Nmap que escanee los 10 puertos más comunes (--top-ports 10) en la red 192.168.1.0/24. Se le pedirá su contraseña. Dado que el usuario labex tiene privilegios sudo sin contraseña, simplemente presione Enter. Nmap utilizará el escaneo SYN predeterminado.

  1. Observe la salida. La salida variará dependiendo de los dispositivos en su red. Podría verse similar a esto:
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.00098s latency).

PORT     STATE SERVICE
21/tcp   filtered  ftp
22/tcp   open  ssh
23/tcp   filtered  telnet
25/tcp   filtered  smtp
53/tcp   filtered  domain
80/tcp   open  http
110/tcp  filtered  pop3
135/tcp  filtered  msrpc
139/tcp  filtered  netbios-ssn
443/tcp  filtered  https

Nmap scan report for 192.168.1.2
Host is up (0.00098s latency).

PORT     STATE SERVICE
21/tcp   filtered  ftp
22/tcp   filtered  ssh
23/tcp   filtered  telnet
25/tcp   filtered  smtp
53/tcp   filtered  domain
80/tcp   filtered  http
110/tcp  filtered  pop3
135/tcp  filtered  msrpc
139/tcp  filtered  netbios-ssn
443/tcp  filtered  https

Nmap done: 256 IP addresses (2 hosts up) scanned in 2.52 seconds

La salida muestra el estado de los 10 puertos más comunes en cada host en el rango de red. open significa que Nmap recibió un paquete SYN/ACK en respuesta a su paquete SYN, lo que indica que el puerto está escuchando conexiones. filtered significa que Nmap no pudo determinar si el puerto está abierto o cerrado, por lo general porque un firewall está bloqueando la conexión.

Verificar los resultados en la terminal Xfce

En este paso, revisará los resultados de los escanos de Nmap que realizó en los pasos anteriores. La terminal Xfce muestra la salida de cada comando, lo que le permite analizar los resultados del escaneo e identificar los puertos abiertos y los servicios en los sistemas objetivo.

  1. Revise la salida del escaneo de conexión TCP:

    Desplace hacia atrás en la terminal Xfce para encontrar la salida del comando nmap -sT 127.0.0.1. Este escaneo utilizó el método de escaneo de conexión TCP para determinar el estado de los puertos en su máquina local. Busque la columna STATE para ver si un puerto está abierto, cerrado o filtrado.

  2. Revise la salida del escaneo SYN:

    Encuentre la salida del comando sudo nmap -sS 192.168.1.1. Este escaneo utilizó el método de escaneo SYN, que generalmente es más rápido y más sigiloso que el escaneo de conexión TCP. Una vez más, examine la columna STATE para determinar el estado de los puertos escaneados.

  3. Revise la salida del escaneo de puerto específico:

    Localice la salida del comando sudo nmap -p 22,80 192.168.1.1. Este escaneo se dirigió a los puertos 22 y 80 en la dirección IP especificada. Verifique la salida para ver si estos puertos están abiertos, cerrados o filtrados.

  4. Revise la salida del escaneo de rango de puertos:

    Encuentre la salida del comando nmap -p 1-100 127.0.0.1. Este escaneo escanearon los puertos del 1 al 100 en su máquina local. Analice la salida para identificar cualquier puerto abierto dentro de este rango.

  5. Revise la salida del escaneo de puertos más comunes:

    Localice la salida del comando sudo nmap --top-ports 10 192.168.1.0/24. Este escaneo escanearon los 10 puertos más comunes en la red especificada. Examine la salida para ver cuáles de estos puertos están abiertos en los hosts de la red.

Al revisar los resultados de estos escanos, puede obtener información valiosa sobre los servicios en ejecución en su red e identificar posibles vulnerabilidades de seguridad. Recuerde que la salida específica variará dependiendo de la configuración de su máquina virtual LabEx y de la red que está escanneando.

Resumen

En este laboratorio, aprendió a realizar varios escanos de puertos utilizando Nmap. Realizó un escaneo de conexión TCP con la opción -sT en 127.0.0.1, comprendiendo la completa conexión TCP de tres pasos implicada. También ejecutó un escaneo SYN con -sS en 192.168.1.1, escanear puertos específicos con -p 22,80 en 192.168.1.1, escanear un rango de puertos con -p 1 - 100 en 127.0.0.1 y escanear los puertos más comunes con --top - ports 10 en 192.168.1.0/24. Todos los resultados se verificaron en la terminal Xfce.