El escaneo de puertos es una técnica utilizada para identificar los puertos abiertos en una máquina
remota, lo que permite detectar servicios activos y vulnerabilidades potenciales. A continuación, se
describen varios tipos de escaneos y opciones que se pueden utilizar con Nmap.
Escaneo por defecto:
o nmap 192.168.1.11: Realiza un escaneo de puertos en la dirección IP especificada.
Si se ejecuta con privilegios de root o administrador, realiza un escaneo SYN a
todos los puertos de forma predeterminada.
2. Escaneo con opciones específicas:
o nmap -Pn 192.168.1.11: Utiliza la opción -Pn para omitir el ping de detección de
host. Esto es útil cuando no se desea que Nmap intente descubrir si el host está
activo antes de hacer el escaneo de puertos.
o nmap -Pn -F 192.168.180.133: Realiza un escaneo más rápido al especificar la
opción -F, que limita los puertos escaneados a los más comunes.
o nmap -Pn -p 80 192.168.180.133: Escanea el puerto 80 del host.
o nmap -Pn -p1-100 192.168.180.133: Escanea el rango de puertos del 1 al 100.
o nmap -T4 -Pn -p- 192.168.180.133: Utiliza la opción -T4 para hacer el escaneo más
rápido y -p- para escanear todos los puertos.
3. Escaneo sin privilegios:
o Si el usuario no tiene privilegios de root/admin, se debe especificar el tipo de
escaneo explícitamente:
▪ nmap -Pn -sS -F 192.168.180.133: Realiza un escaneo SYN (más rápido y
menos detectable), aunque con la opción -F, también limita los puertos a
los más comunes.
4. Escaneo más completo (escaneo TCP completo):
o nmap -Pn -sT 192.168.180.133: Realiza un escaneo de conexión TCP completa (-
sT), también conocido como Full Connect Scan. Este escaneo establece la conexión
completa del protocolo TCP (realiza el "handshake" completo de 3 pasos: SYN,
SYN-ACK, ACK). A diferencia del escaneo SYN, que solo envía un paquete SYN para
intentar establecer la conexión, el escaneo de conexión completa puede ser más
fácilmente detectado por firewalls, IPS o IDS.
5. Escaneo de puertos UDP:
o nmap -Pn -sU 192.168.180.133: Realiza un escaneo de puertos UDP (-sU), que es
útil para identificar servicios que operan sobre el protocolo UDP en lugar de TCP.
Resumen de Opciones Principales de Nmap:
• -Pn: Omitir el ping de detección de host.
• -sS: Escaneo SYN (más rápido y menos detectable).
• -sT: Escaneo de conexión TCP completa (más lento, más fácil de detectar).
• -sU: Escaneo de puertos UDP.
• -F: Escaneo rápido (solo puertos comunes).
• -p <puerto>: Especificar un puerto o rango de puertos para escanear.
• -T4: Acelerar el escaneo (con un mayor riesgo de detección).
Service Version & OS Detection
Comandos de Nmap para realizar escaneos avanzados, incluyendo la detección de versiones de
servicios y la detección del sistema operativo (OS).
1. Escaneo SYN (sin detección de sistema operativo ni versiones):
o nmap -sS 192.168.180.3: Realiza un escaneo SYN en la IP 192.168.180.3, lo que
permite identificar los puertos abiertos sin establecer una conexión completa, lo
que lo hace menos detectable.
2. Escaneo SYN con todos los puertos y velocidad aumentada:
o nmap -T4 -sS -p- 192.168.180.3: Realiza un escaneo SYN de todos los puertos (-p-),
con la opción -T4, que incrementa la velocidad del escaneo.
3. Escaneo SYN con detección de versiones de servicios y detección de sistema operativo:
o nmap -T4 -sS -sV -O -p- 192.168.180.3: Realiza un escaneo SYN de todos los
puertos, y adicionalmente utiliza las opciones:
▪ -sV: Detección de versiones de servicios, lo que permite obtener
información sobre las versiones de los servicios que están corriendo en los
puertos abiertos.
▪ -O: Detección del sistema operativo del host objetivo.
4. Escaneo SYN con detección de versiones y sistema operativo, con adivinación de OS:
o nmap -T4 -sS -sV -O --osscan-guess -p- 192.168.180.3: Similar al comando anterior,
pero con la opción adicional --osscan-guess, que permite a Nmap realizar una
adivinación de sistema operativo si no puede identificarlo con certeza.
5. Escaneo SYN con versiones de servicios, detección de sistema operativo y una mayor
intensidad de la detección de versiones:
o nmap -T4 -sS -sV --version-intensity 8 -O --osscan-guess -p- 192.168.180.3: Este
comando realiza un escaneo SYN similar al anterior, pero con la opción --version-
intensity 8, que ajusta la intensidad de la detección de versiones de servicios. Los
valores posibles para la intensidad van de 0 a 9, donde 0 es la menor intensidad
(menos detallado) y 9 es la mayor (más exhaustivo, pero puede ser más lento y
ruidoso).
Resumen de Opciones de Detección:
• -sn: Escaneo de ping para detectar hosts activos sin escanear puertos.
• -sS: Escaneo SYN, rápido y menos detectable.
• -T4: Acelera el escaneo, aumentando la velocidad (con riesgo de ser detectado).
• -p-: Escaneo de todos los puertos.
• -sV: Detección de versiones de servicios, identifica el software y su versión en los puertos
abiertos.
• -O: Detección de sistema operativo.
• --osscan-guess: Adivina el sistema operativo si no puede determinarlo con certeza.
• --version-intensity: Ajusta la intensidad de la detección de versiones (0-9).
Con estos comandos, Nmap puede proporcionar una información detallada sobre los servicios en
un host, identificar el sistema operativo y ofrecer detalles sobre las versiones de software.
Nmap Scripting Engine
El Nmap Scripting Engine (NSE) es una funcionalidad poderosa de Nmap que permite realizar
tareas automatizadas, como escaneo de puertos, detección de sistemas operativos (SO),
explotación de vulnerabilidades, ataques de fuerza bruta, auditorías de seguridad, entre otros. Los
scripts que utiliza Nmap para estas tareas están almacenados en la ruta /usr/share/nmap/scripts/
y tienen la extensión .nse.
Comandos de Nmap:
1. Comando: nmap -sS -sV -O -p- -T4 192.168.180.133
• -sS: Realiza un escaneo SYN, que es rápido y menos detectable.
• -sV: Realiza la detección de versiones de los servicios que están activos en los puertos
abiertos.
• -O: Detecta el sistema operativo del objetivo.
• -p-: Escanea todos los puertos disponibles en el host.
• -T4: Aumenta la velocidad del escaneo.
Este comando realiza un escaneo completo, identificando los puertos abiertos, las versiones de los
servicios y el sistema operativo en el host 192.168.180.133.
2. Comando: nmap -sS -sV -sC -p- -T4 192.168.180.133
• -sS: Escaneo SYN, como en el primer comando.
• -sV: Detección de versiones de los servicios, como en el primer comando.
• -sC: Ejecuta los scripts por defecto de Nmap (de la categoría default), que
incluyen una variedad de pruebas, como la detección de servicios comunes y
la identificación de configuraciones de seguridad.
• -p-: Escanea todos los puertos.
• -T4: Aumenta la velocidad del escaneo, como en el primer comando.
Este comando es similar al anterior, pero con la adición de -sC, lo que hace que Nmap ejecute un
conjunto de scripts de la categoría "default". Estos scripts realizan tareas como la recopilación de
más información sobre los servicios, comprobaciones de seguridad y detalles adicionales de los
puertos abiertos.
Ejemplo de búsqueda de scripts: Para buscar un script relacionado con HTTP, se puede utilizar el
siguiente comando:
ls -la /usr/share/nmap/scripts/ | grep "http-enu"
Esto mostrará un script llamado http-enu.nse.
• Para buscar un script relacionado con MongoDB, puedes usar:
ls -la /usr/share/nmap/scripts/ | grep "mongodb"
• Para obtener información sobre cómo usar un script específico, como mongodb-
databases, puedes ejecutar:
nmap --script-help=mongodb-databases
• Para ejecutar un script específico, como mongodb-info, en el host 192.168.180.133:
nmap -sS -sV --script=mongodb-info -p- -T4 192.168.180.133
Opciones del argumento -A
El argumento -A combina varias opciones de Nmap para realizar un escaneo más detallado:
• Detección de sistema operativo (-O).
• Detección de versiones de servicios (-sV).
• Ejecución de los scripts de Nmap (-sC) (scripts de la categoría default).
• Traceroute (para mapear la ruta de la red hacia el objetivo).
Un comando que utiliza -A sería:
nmap -sS -A -p- -T4 192.168.180.133
En el laboratorio "Scan the Server", se utilizó la herramienta Nmap para realizar un escaneo de
puertos y detección de servicios en un servidor remoto con el dominio demo.ine.local.
1. El primer comando nmap demo.ine.local realizó un escaneo básico, identificando los
puertos abiertos en el servidor.
2. En el segundo comando, nmap -p- demo.ine.local, se realizó un escaneo completo de
todos los puertos disponibles, lo que permitió identificar puertos adicionales que no
fueron descubiertos en el primer escaneo.
3. Finalmente, con nmap -sV -p 6421,41288,55413 demo.ine.local, se realizó un escaneo más
específico para detectar los servicios asociados a los puertos mencionados (6421, 41288 y
55413).