Nmap es la herramienta de escaneo más famosa utilizada por los probadores de penetración. En este artículo, veremos algunas características centrales de Nmap junto con algunos comandos útiles.
¿Qué es Nmap?
Nmap es la abreviatura de Network Mapper. Es una herramienta de línea de comandos de Linux de código abierto que se utiliza para escanear direcciones IP y puertos en una red y para detectar aplicaciones instaladas.
Nmap permite a los administradores de red encontrar qué dispositivos se están ejecutando en su red, descubrir puertos y servicios abiertos y detectar vulnerabilidades.
Gordon Lyon (seudónimo de Fyodor) escribió Nmap como una herramienta para ayudar a mapear una red completa fácilmente y para encontrar sus puertos y servicios abiertos.
Nmap se ha vuelto muy popular, apareciendo en películas como The Matrix y la popular serie Mr.Robot.
¿Por qué usar Nmap?
Hay una serie de razones por las que los profesionales de la seguridad prefieren Nmap a otras herramientas de análisis.
Primero, Nmap le ayuda a trazar rápidamente una red sin comandos ni configuraciones sofisticados. También admite comandos simples (por ejemplo, para verificar si un host está activo) y secuencias de comandos complejas a través del motor de secuencias de comandos Nmap.
Otras características de Nmap incluyen:
- Capacidad para reconocer rápidamente todos los dispositivos, incluidos servidores, enrutadores, conmutadores, dispositivos móviles, etc. en una o varias redes.
- Ayuda a identificar los servicios que se ejecutan en un sistema, incluidos servidores web, servidores DNS y otras aplicaciones comunes. Nmap también puede detectar versiones de aplicaciones con una precisión razonable para ayudar a detectar vulnerabilidades existentes.
- Nmap puede encontrar información sobre el sistema operativo que se ejecuta en los dispositivos. Puede proporcionar información detallada como las versiones del sistema operativo, lo que facilita la planificación de enfoques adicionales durante las pruebas de penetración.
- Durante la auditoría de seguridad y el análisis de vulnerabilidades, puede utilizar Nmap para atacar sistemas utilizando scripts existentes del motor de scripting de Nmap.
- Nmap tiene una interfaz gráfica de usuario llamada Zenmap. Le ayuda a desarrollar mapeos visuales de una red para una mejor usabilidad e informes.
Comandos
Veamos algunos comandos de Nmap. Si no tiene Nmap instalado, puede obtenerlo desde aquí.
Escaneos básicos
Escanear la lista de dispositivos activos en una red es el primer paso en el mapeo de la red. Hay dos tipos de escaneos que puede usar para eso:
- Análisis de ping: analiza la lista de dispositivos en funcionamiento en una subred determinada.
> nmap -sp 192.168.1.1/24
- Escanear un solo host: escanea un solo host en busca de 1000 puertos conocidos. Estos puertos son los que utilizan servicios populares como SQL, SNTP, apache y otros.
> nmap scanme.nmap.org

Escaneo sigiloso
El escaneo sigiloso se realiza enviando un paquete SYN y analizando la respuesta. Si se recibe SYN / ACK, significa que el puerto está abierto y puede abrir una conexión TCP.
Sin embargo, un escaneo sigiloso nunca completa el protocolo de enlace de tres vías, lo que dificulta que el objetivo determine el sistema de escaneo.
> nmap -sS scanme.nmap.org
Puede utilizar el comando '-sS' para realizar un escaneo sigiloso. Recuerde, el escaneo sigiloso es más lento y no tan agresivo como los otros tipos de escaneo, por lo que es posible que deba esperar un tiempo para obtener una respuesta.
Escaneo de versiones
Encontrar versiones de aplicaciones es una parte crucial en las pruebas de penetración.
Le facilita la vida, ya que puede encontrar una vulnerabilidad existente en la base de datos de vulnerabilidades y exploits comunes (CVE) para una versión particular del servicio. Luego puede usarlo para atacar una máquina usando una herramienta de explotación como Metasploit.
> nmap -sV scanme.nmap.org
Para hacer un escaneo de versiones, use el comando '-sV'. Nmap proporcionará una lista de servicios con sus versiones. Tenga en cuenta que los escaneos de versiones no siempre son 100% precisos, pero lo acerca un paso más a ingresar con éxito en un sistema.

Escaneo de SO
Además de los servicios y sus versiones, Nmap puede proporcionar información sobre el sistema operativo subyacente mediante huellas dactilares TCP / IP. Nmap también intentará encontrar el tiempo de actividad del sistema durante un análisis del sistema operativo.
> nmap -sV scanme.nmap.org
Puede usar las banderas adicionales como osscan-limit para limitar la búsqueda a unos pocos objetivos esperados. Nmap mostrará el porcentaje de confianza para cada conjetura del sistema operativo.
Una vez más, la detección del sistema operativo no siempre es precisa, pero ayuda en gran medida a ayudar a un probador de lápiz a acercarse a su objetivo.

Escaneo agresivo
Nmap tiene un modo agresivo que permite la detección del sistema operativo, detección de versiones, escaneo de scripts y traceroute. Puede utilizar el argumento -A para realizar un análisis agresivo.
> nmap -A scanme.nmap.org
Los escaneos agresivos brindan mucha mejor información que los escaneos regulares. Sin embargo, un análisis agresivo también envía más sondeos y es más probable que se detecte durante las auditorías de seguridad.

Escaneo de varios hosts
Nmap tiene la capacidad de escanear múltiples hosts simultáneamente. Esta característica resulta muy útil cuando administra una amplia infraestructura de red.
Puede escanear varios hosts a través de numerosos enfoques:
- Escriba todas las direcciones IP en una sola fila para escanear todos los hosts al mismo tiempo.
> nmap 192.164.1.1 192.164.0.2 192.164.0.2
- Utilice el asterisco (*) para escanear todas las subredes a la vez.
> nmap 192.164.1.*
- Agregue comas para separar las terminaciones de las direcciones en lugar de escribir todos los dominios.
> nmap 192.164.0.1,2,3,4
- Use un guion para especificar un rango de direcciones IP
> nmap 192.164.0.0–255
Escaneo de puertos
El escaneo de puertos es una de las características más fundamentales de Nmap. Puede buscar puertos de varias formas.
- Usar el parámetro -p para buscar un solo puerto
> nmap -p 973 192.164.0.1
- Si especifica el tipo de puerto, puede buscar información sobre un tipo particular de conexión, por ejemplo, una conexión TCP.
> nmap -p T:7777, 973 192.164.0.1
- Se puede escanear un rango de puertos separándolos con un guión.
> nmap -p 76–973 192.164.0.1
- También puede usar la marca -top-ports para especificar los n primeros puertos para escanear.
> nmap --top-ports 10 scanme.nmap.org
Escanear desde un archivo
Si desea escanear una gran lista de direcciones IP, puede hacerlo importando un archivo con la lista de direcciones IP.
> nmap -iL /input_ips.txt
El comando anterior producirá los resultados del análisis de todos los dominios dados en el archivo "input_ips.txt". Además de simplemente escanear las direcciones IP, también puede usar opciones y banderas adicionales.
Verbosidad y exportación de resultados de escaneo
Las pruebas de penetración pueden durar días o incluso semanas. La exportación de los resultados de Nmap puede resultar útil para evitar el trabajo redundante y ayudar a crear informes finales. Veamos algunas formas de exportar los resultados del escaneo de Nmap.
Salida detallada
> nmap -v scanme.nmap.org
La salida detallada proporciona información adicional sobre el análisis que se está realizando. Es útil monitorear paso a paso las acciones que Nmap realiza en una red, especialmente si usted es un extraño escaneando la red de un cliente.

Salida normal
Los escaneos de Nmap también se pueden exportar a un archivo de texto. Será ligeramente diferente de la salida de la línea de comandos original, pero capturará todos los resultados de escaneo esenciales.
> nmap -oN output.txt scanme.nmap.org

Salida XML
Los escaneos de Nmap también se pueden exportar a XML. También es el formato de archivo preferido de la mayoría de las herramientas de prueba de lápiz, por lo que se puede analizar fácilmente al importar los resultados del escaneo.
> nmap -oX output.xml scanme.nmap.org

Múltiples formatos
También puede exportar los resultados del escaneo en todos los formatos disponibles a la vez usando el comando -oA.
> nmap -oA output scanme.nmap.org
El comando anterior exportará el resultado del análisis en tres archivos: output.xml, output. Nmap y output.gnmap.
Ayuda de Nmap
Nmap tiene un comando de ayuda incorporado que enumera todos los indicadores y opciones que puede usar. A menudo es útil dada la cantidad de argumentos de línea de comandos con los que viene Nmap.
> nmap -h

Motor de secuencias de comandos de Nmap
Nmap Scripting Engine (NSE) es una herramienta increíblemente poderosa que puede utilizar para escribir scripts y automatizar numerosas funciones de red.
Puede encontrar muchos scripts distribuidos en Nmap o escribir su propio script según sus requisitos. Incluso puede modificar los scripts existentes utilizando el lenguaje de programación Lua.

NSE también tiene scripts de ataque que se utilizan para atacar la red y varios protocolos de red.
Revisar el motor de scripting en profundidad estaría fuera del alcance de este artículo, así que aquí hay más información sobre el motor de scripting de Nmap.
Zenmap
Zenmap es una interfaz gráfica de usuario para Nmap. Es un software gratuito y de código abierto que le ayuda a empezar a utilizar Nmap.

Además de proporcionar asignaciones de red visuales, Zenmap también le permite guardar y buscar sus escaneos para uso futuro.
Zenmap es ideal para principiantes que desean probar las capacidades de Nmap sin pasar por una interfaz de línea de comandos.
Conclusión
Nmap es claramente la "navaja suiza" de las redes, gracias a su inventario de comandos versátiles.
Le permite escanear y descubrir rápidamente información esencial sobre su red, hosts, puertos, firewalls y sistemas operativos.
Nmap tiene numerosas configuraciones, indicadores y preferencias que ayudan a los administradores del sistema a analizar una red en detalle.
Si desea aprender Nmap en profundidad, aquí hay un gran recurso para usted.
¿Te encantó este artículo? Únete a mi Newslettery obtenga un resumen de mis artículos y videos todos los lunes.