Nmap es la forma abreviada 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 descubrir los dispositivos que se ejecutan 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 encontrar sus puertos y servicios abiertos. Nmap también es muy popular, ya que aparece en películas como The Matrix y la popular serie Mr. Robot.
¿Por qué Nmap?
Hay una serie de razones por las que se prefiere Nmap a otras herramientas de escaneo. Nmap le ayuda a trazar rápidamente una red sin comandos ni configuraciones sofisticados. Nmap 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 redes únicas o múltiples.
- Identifique 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 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, etc.
> nmap scanme.nmap.org
Escaneo básico de Nmap
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 3 vías , por lo que es difícil para el objetivo determinar el sistema de escaneo.
> nmap -sS scanme.nmap.org
Puede usar 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 acercan un paso más a ingresar con éxito en un sistema.
Escaneo de versiones de Nmap
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 utilizar indicadores 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 mucho a un probador de lápiz a acercarse a su objetivo.
Escaneo del sistema operativo Nmap
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 sondas y es más probable que se detecte durante las auditorías de seguridad.
Escaneo agresivo de Nmap
Escaneo de varios hosts
Nmap tiene la capacidad de escanear múltiples hosts simultáneamente. Esta función 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 973192.164.0.1
- Si especifica el tipo de puerto, puede buscar información sobre un tipo particular de conexión. p.ej. para 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. Exportar los resultados de Nmap puede ser ú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 que escanea la red de un cliente.
Salida detallada de Nmap
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 de archivo Nmap
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, lo que lo hace fácilmente analizable al importar resultados de escaneo.
> nmap -oX output.xml scanme.nmap.org
Salida XML de Nmap
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 salida 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
Ayuda de Nmap
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 en función de sus requisitos. Incluso puede modificar los scripts existentes utilizando el lenguaje de programación Lua .
Scripts Nmap
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.
Interfaz de usuario de Zenmap
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 que los principiantes prueben 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. Nmap 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 está interesado en aprender Nmap en profundidad, aquí hay un gran recurso para usted .