Nmap
¿Qué es nmap
?
nmap
?nmap
(Network Mapper) es una herramienta de código abierto utilizada para descubrir equipos y servicios en una red. Es ampliamente usada en pentesting, administración de redes y análisis de seguridad.
¿Para qué sirve?
Descubrir qué hosts están activos en una red.
Detectar qué puertos están abiertos en un equipo.
Identificar qué servicios están corriendo y en qué versiones.
Detectar el sistema operativo de un host.
Ejecutar scripts personalizados para detectar vulnerabilidades o realizar tareas automatizadas (usando el motor de scripts NSE).
Ejemplos de uso comunes
nmap 192.168.0.1
→ escaneo básico de los 1000 puertos TCP más comunes.nmap -sV 192.168.0.1
→ detecta versiones de los servicios que corren en los puertos abiertos.nmap -O 192.168.0.1
→ intenta identificar el sistema operativo del host objetivo.nmap -A 192.168.0.1
→ escaneo agresivo: incluye servicios, versiones, OS detection, traceroute y scripts NSE.nmap --script vuln 192.168.0.1
→ usa scripts de vulnerabilidades para detectar fallos conocidos.nmap -p- 192.168.0.1
→ escanea todos los puertos TCP (de 1 al 65535).nmap -Pn 192.168.0.1
→ omite el ping inicial, útil cuando ICMP está bloqueado.nmap -oN resultado.txt 192.168.0.1
→ guarda la salida del escaneo en un archivo de texto plano.nmap -T4 192.168.0.1
→ acelera el escaneo (modo de velocidad agresivo).
Algunos parametros útiles de nmap
nmap
| Opción | Descripción |
| ------ | ---------------------------------------------------- |
| `-sS` | Escaneo SYN (rápido y discreto) |
| `-sV` | Detección de versiones de servicios |
| `-O` | Detección de sistema operativo |
| `-Pn` | No realiza ping (útil si el host no responde a ICMP) |
| `-p-` | Escanea todos los puertos (1 al 65535) |
| `-T4` | Aumenta la velocidad del escaneo |
| `-oN` | Guarda el resultado en un archivo en formato normal |
¿Qué son los scripts de nmap
?
nmap
?nmap
incluye un motor de scripting llamado NSE (Nmap Scripting Engine) que permite ejecutar scripts escritos en Lua para automatizar tareas de escaneo avanzadas.
Estos scripts permiten desde detección de servicios especÃficos hasta pruebas de vulnerabilidades y explotación básica.
Los scripts se agrupan en categorÃas como:
default
→ se ejecutan con-sC
vuln
→ scripts de detección de vulnerabilidadesauth
,safe
,intrusive
,exploit
, entre otros
Se encuentran por defecto en: /usr/share/nmap/scripts/
Cómo usarlos
nmap --script <script>
→ ejecuta un script especÃfico
nmap --script <categorÃa>
→ ejecuta todos los scripts de una categorÃa
nmap --script-help <script>
→ muestra la descripción y uso del script
Ejemplos de uso de scripts NSE
nmap --script vuln 192.168.0.1
→ ejecuta todos los scripts de la categorÃa "vuln" para detectar posibles vulnerabilidades conocidas
nmap --script default 192.168.0.1
→ ejecuta los scripts por defecto, útiles para reconocimiento general
nmap --script http-title 192.168.0.1
→ muestra el tÃtulo de la página web (útil para identificar aplicaciones web)
nmap --script ftp-anon 192.168.0.1
→ detecta si el servidor FTP permite acceso anónimo
nmap --script smb-os-discovery 192.168.0.1
→ identifica información de sistemas operativos mediante SMB
nmap --script http-enum 192.168.0.1
→ enumera recursos en servidores HTTP
nmap --script ssh-auth-methods 192.168.0.1
→ enumera los métodos de autenticación soportados por SSH
nmap --script dns-brute 192.168.0.1
→ intenta descubrir subdominios mediante fuerza bruta
nmap --script http-headers 192.168.0.1
→ obtiene y muestra los encabezados HTTP de un servidor web
nmap --script mysql-empty-password 192.168.0.1
→ prueba si el servicio MySQL permite login con contraseña vacÃa
Para filtrar y buscar todas las categorias disponibles de los scripts de nmap podemos usar el siguiente comando
┌──(root㉿kali)-[/home/kali/Documents/HTB]
└─# locate .nse | xargs grep "categories" | grep -oP '".*?"' | sort -u
"auth"
"broadcast"
"brute"
"default"
"discovery"
"dos"
"exploit"
"external"
"fuzzer"
"info"
"intrusive"
"malware"
"safe"
"version"
"vuln"
Last updated