Network Mapper (Nmap) actualmente está considerada como una de las mejores herramientas para el reconocimiento de redes y auditorias de seguridad dentro del ámbito de la industría de la seguridad informática. Es un proyecto de código abierto y actualmente engloba a varios subproyectos como Ncat, Nping, Ncrack… En el caso de usar Parrot/Kali, la manera más simple de descargarlo sería con el siguiente comando:
sudo apt -y install nmap
Vamos a hacer un breve resumen de cada uno de los parámetros que proporciona Nmap (por lo menos los más usados) y así crear un pequeño cheatsheet para consultarlo siempre que haya dudas.
Parámetros | Explicación | Ejemplo |
---|---|---|
-sn | Lanza un escáner Ping contra un segmento de red o máquina. | nmap -sn <target> |
-sn --traceroute | Escaneo mediante Ping + Ruta que realizan paquetes. | nmap -sn --traceroute google.com |
--dns-servers | Especifica un servidor DNS. | nmap --dns-servers 8.8.8.8,8.8.4.4 web.org |
-Pn | No realiza escáner Ping. Tratar todos los hosts como operativos. | nmap -Pn 10.10.10.3 |
-n | Indicar que no aplique resolución DNS. | nmap -n test.htb |
-p- | Indicar todo el rango de puertos. | nmap -p- test.htb |
-p80,443 | Indicar puertos específicos. | nmap -p80,443 test.htb |
-e | Especificar una interfaz de red a utilizar. | nmap -e tun0 test.htb |
-sV | Activar la detección de servicios. | nmap -sV test.htb |
-O | Activar la detección de Sistema Operativo. | nmap -O test.htb |
-A | Activar el modo detección agresiva. Incluye -O,-sV, -sC, –traceroute. | nmap -A test.htb |
-v | Activa el modo verbose (Nos da más información acerca de lo que estemos haciendo). | nmap -O -v 192.168.0.3 |
-sC | Ejecuta scripts de enumeración básicos de la categoria Default. | nmap -sC 10.10.10.3 |
--script | Ejecuta el script NSE que seleccionemos. | nmap --script http-enum -p80 10.10.10.34 |
-iL | Carga objetivos de un fichero. | nmap -iL targets.txt |
-iR <n> | Genera una lista de objetivos aleatorios externos. | nmap -iR 100 |
--open | Filtrar unicamente por puertos abiertos. | nmap -p- --open 10.10.10.34 |
-T<n> | Indicar el rendimiento y el temporizado del escaneo. Rango 0-5. | nmap -p- --open -T5 google.es |
-sS | Escaneo TCP/SYN. | nmap -sS 10.10.11.134 |
-sU | Escaneo UDP. | nmap -sU test.htb |
--min-rate <n> | Indica la cantidad de paquetes mínimos por segundo que enviaremos. | nmap -p- --open -sS --min-rate 5000 test.htb |
-oN | Exporta evidencias en formato nmap. | nmap -sCV -p80 10.10.10.34 -oN targeted |
-oX | Exporta evidencias en formato XML. | nmap -sCV -p80 10.10.10.34 -oX targeted |
-oG | Exporta evidencias en formato grep. | nmap -sCV -p80 10.10.10.34 -oG targeted |
-oA | Exporta evidencias en todos los formatos. | nmap -sCV -p80 10.10.10.34 -oA targeted |
Para el reconocimiento a la hora de realizar una máquina para prácticar, ya sea en HTB o en cualquier otro recurso, siempre intento seguir la misma metodología que solo varía en función del sistema operativo de la máquina objetivo.
Linux
nmap -p- --open -T5 -n -v -Pn <IP> -oG allPorts nmap -sCV -p<ports> <IP> -oN targeted
Windows
nmap -p- --open -sS --min-rate 5000 -n -vvv -Pn <IP> -oG allPorts nmap -sCV -p<ports> <IP> -oN targeted
En el caso que queramos realizar un escaneo de puertos por el protocolo UDP, hay que especificar lo máximo posible en el comando ya que la demora puede ser muy grande si no lo hacemos bien.
UDP
nmap --top-ports 100 --open -sU -v -T5 -n <IP> -oG allPortsUDP