Nmap
Nmap, abreviatura de Network Mapper, es la herramienta de código abierto que se usa para explorar y cartografiar redes: qué máquinas se alcanzan, qué puertos están abiertos y qué software responde en ellos.
Nmap, abreviatura de Network Mapper, es una herramienta de código abierto que se usa para explorar y cartografiar redes informáticas, y para descubrir los dispositivos y servicios presentes en ellas.
Escrita por Gordon Lyon, también conocido como Fyodor, y publicada en 1997, la usan por igual administradores de sistemas, investigadores de seguridad y pentesters para entender qué expone una red en realidad.
Desde entonces está en desarrollo continuo, que es en parte por lo que sigue siendo la respuesta por defecto a la pregunta de qué hay corriendo en esta red.
Qué hace
Escaneo de puertos. Determina qué puertos de un objetivo están abiertos, cerrados o filtrados, que es lo primero que cualquiera necesita saber de una máquina, en los dos lados de un encargo.
Detección de servicios. Identifica los servicios y aplicaciones que hay detrás de esos puertos, incluidas las versiones del software, que es lo que conecta una máquina con una vulnerabilidad conocida públicamente.
Detección del sistema operativo. Comparando cómo responde una máquina contra una base de datos de comportamientos conocidos, deduce el sistema operativo. Esto es fingerprinting, y funciona porque las implementaciones se diferencian en detalles que nadie eligió publicar.
Ajuste del escaneo. Ofrece una amplia variedad de tipos de escaneo y de opciones de temporización, de lento y silencioso a rápido y ruidoso, incluido el escaneo SYN que no completa el handshake TCP.
Un ejemplo
Un administrador quiere saber qué expone su propia infraestructura.
Lanza un escaneo SYN sobre un rango interno, con una plantilla de temporización agresiva, cubriendo todo el rango de puertos:
nmap -sS -T4 -p 1-65535 192.168.1.0/24
Lo que vuelve es una lista de las máquinas encontradas, los puertos abiertos en cada una y los servicios detectados detrás de ellos. Lo que la hace útil es compararla con la lista de lo que se suponía que tenía que estar, porque las entradas interesantes son siempre las que nadie esperaba.
Dos cosas que conviene decir explícitamente
La primera es legal y contractual. Escanear una red que no es tuya o para la que no tienes autorización no es un acto neutro, y que un escaneo sea pasivo desde el punto de vista de quien lo lanza no lo hace invisible: aparece en los registros del objetivo y genera alertas. En un encargo legítimo, lo que lo hace aceptable es una autorización por escrito y un alcance acordado, que es para lo que están las rules of engagement.
La segunda es sobre qué significan los resultados. Un escaneo de puertos es una foto de un momento desde un punto de observación. Los cortafuegos, los balanceadores de carga y los grupos de seguridad del cloud hacen que la misma máquina se vea distinta según desde dónde se escanee, y un puerto filtrado no es lo mismo que uno cerrado. Leer un escaneo como si fuera un inventario completo es un error; tratarlo como una entrada más de la gestión de la superficie de ataque no lo es.
Dónde leer más
nmap.org: el sitio oficial y la documentación de referencia, incluida la lista completa de opciones y el motor de scripting.
Nmap Network Scanning, de Gordon Lyon: el libro, que cubre desde lo básico hasta la técnica de escaneo avanzada.