Introducción
En este laboratorio, aprenderás a realizar diversos escaneos de puertos utilizando Nmap, una poderosa herramienta de escaneo de redes. Explorarás diferentes tipos de escaneo, incluyendo el escaneo TCP connect, el escaneo SYN y técnicas para escanear puertos específicos, rangos de puertos y los puertos "top" más comunes. Al final de este laboratorio, tendrás una comprensión práctica de cómo usar Nmap para descubrir puertos y servicios abiertos en un sistema objetivo, una habilidad fundamental en la reconocimiento de redes y la auditoría de seguridad.
Cada tipo de escaneo tiene características y casos de uso únicos. Por ejemplo, el escaneo TCP connect completa el completo handshake de tres vías TCP, lo que lo hace confiable pero fácilmente detectable. En contraste, el escaneo SYN es más sigiloso, ya que no completa el handshake. Ejecutarás comandos de Nmap en la terminal Xfce y analizarás la salida para comprender el estado de los diferentes puertos.
Realizar un escaneo TCP Connect con nmap -sT 127.0.0.1
En este paso, realizarás un escaneo TCP connect utilizando Nmap. Este es un método básico y confiable de escaneo TCP que completa el completo handshake de tres vías TCP para establecer una conexión con el puerto objetivo. Si bien es confiable, este método es menos sigiloso que otros tipos de escaneo porque establece y luego cierra completamente una conexión, lo que el sistema objetivo puede registrar fácilmente.
Revisemos brevemente el handshake de tres vías TCP:
- SYN (Sincronizar): El escáner envía un paquete SYN al puerto objetivo.
- SYN/ACK (Sincronizar/Confirmar): Si el puerto está abierto, el objetivo responde con un paquete SYN/ACK.
- ACK (Confirmar): El escáner completa la conexión enviando un paquete ACK de regreso al objetivo.
La opción -sT de Nmap realiza explícitamente este escaneo TCP connect completo. Dado que completa la conexión TCP, no requiere privilegios de root, pero usaremos sudo para mantener la consistencia con los pasos siguientes que sí lo requieren.
Ahora, realicemos un escaneo TCP connect en 127.0.0.1 (localhost). Esta dirección IP siempre se refiere a tu propia máquina, lo que la convierte en un objetivo seguro para la práctica.
Abre la terminal Xfce. Debes estar en tu directorio de inicio,
~/project.Ejecuta el siguiente comando para realizar el escaneo TCP connect:
sudo nmap -sT 127.0.0.1Este comando indica a Nmap que realice un escaneo TCP connect (
-sT) en la dirección IP127.0.0.1. El usuariolabextiene privilegiossudosin contraseña, por lo que puedes simplemente presionarEntersi se te solicita.Observa la salida en la terminal. Verás una lista de puertos comunes y sus estados en tu máquina local. La salida se verá similar a esto:
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.000052s latency). Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 3001/tcp open nessus 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.04 secondsLa salida muestra el número de
PORT, suESTADOy elSERVICIOque Nmap asocia con ese puerto.opensignifica que Nmap estableció con éxito una conexión TCP a ese puerto.closedsignifica que Nmap recibió un paquete TCP RST (Reset) en respuesta a su paquete SYN, indicando que el puerto no está escuchando.- Observa que los puertos
22,2121,2222,3001y8080estánopen. Los servicios personalizados (2121, 2222, 8080) fueron configurados por el entorno del laboratorio, junto con SSH en el puerto 22 y otro servicio en el puerto 3001.
Ejecutar un escaneo SYN con nmap -sS 127.0.0.1
En este paso, aprenderás a realizar un escaneo SYN, también conocido como escaneo "semiabierto". Esta técnica suele ser más sigilosa que un escaneo TCP connect porque no completa el completo handshake de tres vías TCP, lo que reduce la probabilidad de que las aplicaciones del sistema objetivo lo registren.
Así es como funciona un escaneo SYN:
- SYN (Sincronizar): El escáner envía un paquete SYN al puerto objetivo.
- SYN/ACK (Sincronizar/Confirmar): Si el puerto está abierto, el objetivo responde con un paquete SYN/ACK.
- RST (Reiniciar): En lugar de enviar un ACK para completar la conexión, el escáner envía inmediatamente un paquete RST para interrumpir abruptamente la conexión.
Dado que nunca se establece la conexión TCP completa, los escaneos SYN son menos intrusivos y a menudo evaden reglas de firewall más simples que solo monitorean conexiones completadas. Sin embargo, los escaneos SYN generalmente requieren privilegios de root para crear paquetes sin procesar, por lo que usaremos sudo.
Ahora, realicemos un escaneo SYN en 127.0.0.1.
Asegúrate de estar en la terminal Xfce.
Ejecuta el siguiente comando:
sudo nmap -sS 127.0.0.1Este comando indica a Nmap que realice un escaneo SYN (
-sS) en la dirección IP127.0.0.1. PresionaEntersi se te solicita una contraseña.Observa la salida. La salida será similar al escaneo TCP connect, pero el mecanismo subyacente es diferente.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.0000040s latency). Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 3001/tcp open nessus 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.10 secondsLa columna
ESTADOindica el estado de cada puerto.opensignifica que Nmap recibió un paquete SYN/ACK en respuesta a su paquete SYN.closedsignifica que Nmap recibió un paquete RST.filtered(que podrías ver en otros escenarios) significa que Nmap no pudo determinar si el puerto está abierto o cerrado porque el filtrado de red (como un firewall) impide que Nmap alcance el puerto.
Escanear puertos específicos con nmap -p 2222,8080,2121 127.0.0.1
En este paso, aprenderás a escanear puertos específicos en un sistema objetivo utilizando Nmap. Esto es particularmente útil cuando deseas enfocar tu escaneo en servicios o aplicaciones particulares que sospechas que podrían estar ejecutándose en el objetivo, en lugar de escanear todos los puertos comunes.
La opción -p de Nmap te permite especificar los puertos exactos que deseas escanear. Puedes especificar puertos individuales separados por comas, un rango de puertos o una combinación de ambos. En este caso, escanearemos los puertos 2222, 8080 y 2121 en 127.0.0.1. Estos son los servicios TCP personalizados configurados por el script de inicialización del entorno de laboratorio.
- El puerto
2222está configurado para ejecutar un servicio SSH. - El puerto
8080está configurado para ejecutar un servidor web Nginx. - El puerto
2121está configurado para ejecutar un servicio FTP.
Asegúrate de estar en la terminal Xfce.
Ejecuta el siguiente comando:
sudo nmap -p 2222,8080,2121 127.0.0.1Este comando indica a Nmap que escanee solo los puertos
2222,8080y2121(-p 2222,8080,2121) en la dirección IP127.0.0.1. Nmap utilizará el método de escaneo SYN predeterminado dado que se usasudo. PresionaEntersi se te solicita una contraseña.Observa la salida. Deberías ver que los tres puertos especificados se reportan como
open.Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.000028s latency). PORT STATE SERVICE 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.10 secondsLa salida confirma el estado de los puertos especificados.
opensignifica que Nmap recibió un paquete SYN/ACK, indicando que el puerto está escuchando activamente conexiones.
Escanear un rango de puertos con nmap -p 1-9000 127.0.0.1
En este paso, aprenderás a escanear un rango de puertos en un sistema objetivo utilizando Nmap. Esto es útil cuando deseas identificar todos los puertos abiertos dentro de un rango numérico específico, lo que puede ayudarte a descubrir servicios que se ejecutan en puertos no estándar.
Como aprendiste en el paso anterior, la opción -p de Nmap te permite especificar puertos. Para escanear un rango de puertos, utilizas la sintaxis inicio-fin, donde inicio es el número de puerto inicial y fin es el número de puerto final. En este caso, escanearemos los puertos del 1 al 9000 en 127.0.0.1. Este rango se ha elegido para incluir los servicios personalizados (2121, 2222, 8080) configurados en tu entorno de laboratorio.
Asegúrate de estar en la terminal Xfce.
Ejecuta el siguiente comando:
sudo nmap -p 1-9000 127.0.0.1Este comando indica a Nmap que escanee los puertos del
1al9000(-p 1-9000) en la dirección IP127.0.0.1. Nmap utilizará el método de escaneo SYN predeterminado. PresionaEntersi se te solicita una contraseña.Observa la salida. Verás una lista de todos los puertos abiertos dentro del rango especificado. Esto puede llevar un poco más de tiempo que escanear puertos específicos debido al mayor número de puertos que se verifican.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.0000020s latency). Not shown: 8992 closed ports PORT STATE SERVICE 22/tcp open ssh 953/tcp open rndc 2121/tcp open ccproxy-ftp 2222/tcp open EtherNetIP-1 3001/tcp open nessus 3002/tcp open exlm-agent 5353/tcp open mdns 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 0.16 secondsLa salida muestra el estado de los puertos dentro del rango
1-9000en tu máquina local. Deberías ver los puertos personalizados (2121, 2222, 8080) listados comoopen, junto con otros servicios que se están ejecutando, como SSH (22), servicios relacionados con DNS (953, 5353) y servicios adicionales (3001, 3002).Not shown: 8992 closed portsindica que Nmap solo muestra los puertosopenofilteredde forma predeterminada al escanear un rango amplio.
Escanear los puertos principales con nmap --top-ports 10 127.0.0.1
En este paso, aprenderás a escanear los puertos más comunes en un sistema objetivo utilizando la opción --top-ports de Nmap. Esto es útil para identificar rápidamente los servicios más probables que se ejecutan en un host sin escanear los 65535 puertos posibles. Nmap mantiene una lista interna de los puertos más utilizados, compilada a partir de datos estadísticos.
La opción --top-ports indica a Nmap que escanee un número específico de estos puertos más comunes. Por ejemplo, --top-ports 10 escaneará los 10 puertos TCP más comunes.
En este caso, escanearemos los 10 puertos más comunes de 127.0.0.1.
Asegúrate de estar en la terminal Xfce.
Ejecuta el siguiente comando:
sudo nmap --top-ports 10 127.0.0.1Este comando indica a Nmap que escanee los 10 puertos más comunes (
--top-ports 10) en la dirección IP127.0.0.1. Nmap utilizará el método de escaneo SYN predeterminado. PresionaEntersi se te solicita una contraseña.Observa la salida. Verás el estado de los 10 puertos principales en tu máquina local.
Starting Nmap 7.80 ( https://nmap.org ) at 2025-06-03 13:36 CST Nmap scan report for localhost (127.0.0.1) Host is up (0.000010s latency). PORT STATE SERVICE 21/tcp closed ftp 22/tcp open ssh 23/tcp closed telnet 25/tcp closed smtp 80/tcp closed http 110/tcp closed pop3 139/tcp closed netbios-ssn 443/tcp closed https 445/tcp closed microsoft-ds 3389/tcp closed ms-wbt-server Nmap done: 1 IP address (1 host up) scanned in 0.09 secondsLa salida muestra el estado de los 10 puertos más comunes. Es posible que notes que algunos de los puertos personalizados (como 8080, 2121, 2222) no están en esta lista, ya que no se encuentran entre los 10 puertos más comunes a nivel global, sino que son específicos de nuestra configuración de laboratorio. Esto demuestra que, aunque
--top-portses eficiente, puede pasar por alto servicios menos comunes pero aún importantes.
Resumen
En este laboratorio, has aprendido a realizar diversos escaneos de puertos utilizando Nmap. Has realizado un escaneo TCP connect con la opción -sT en 127.0.0.1, comprendiendo el completo proceso de tres vías del protocolo TCP involucrado. También has ejecutado un escaneo SYN con -sS en 127.0.0.1, que es un escaneo más sigiloso de medio-apertura. Has practicado el escaneo de puertos específicos utilizando -p 2222,8080,2121 y un rango de puertos más amplio con -p 1-9000 en 127.0.0.1. Finalmente, has aprendido a escanear de forma eficiente los puertos más comunes utilizando --top-ports 10 en 127.0.0.1. A través de estos ejercicios prácticos, has adquirido experiencia práctica en la interpretación de la salida de Nmap y en la comprensión de diferentes tipos de escaneo para el reconocimiento de redes.



