← Regresar a lecciones

Qué es Nmap y cómo usarlo

Usando NMAP a través de la línea de comandos

Solo podemos hablar de pruebas de penetración y escaneo de vulnerabilidades analizando uno de los escáneres más poderosos, completos y veteranos que podemos encontrar en la red: Nmap.

Este software es uno de los más utilizados para buscar hosts dentro de una red local, pero también permite el descubrimiento de hosts en Internet para verificar si están conectados a la red. Además, podemos realizar escaneos de puertos extensivos y avanzados para comprobar si tenemos algún servicio en ejecución que no esté protegido por el firewall, e incluso podemos ver si tenemos un firewall en un host particular. Otra opción que podemos realizar con este programa es saber qué sistema operativo utiliza un host específico. Si escaneamos una computadora con Windows, indicará que estamos escaneando un sistema operativo Windows, y lo mismo con Linux o Unix.

Este programa es de código abierto y multiplataforma, aunque lo más común es usarlo en sistemas operativos Linux para realizar tareas de pruebas de penetración. Es el primer paso para realizar una intrusión en los sistemas e intentar hackear la computadora de manera adecuada, siempre con fines éticos para descubrir posibles vulnerabilidades.

captura de pantalla de zenmap

Este software tiene muchas opciones avanzadas y también cuenta con una interfaz gráfica opcional llamada Zenmap que podemos usar de manera rápida y fácil.

Es una herramienta esencial, ya que nos permite identificar posibles vulnerabilidades que podrían ser utilizadas como puntos de entrada por atacantes. Al ejecutar NMAP en un objetivo específico, podríamos observar esos dispositivos, servidores, servicios, firewalls y más, relacionados con el primero. Para hacer esto, la herramienta envía diferentes tipos de paquetes (ping, eco y dirigidos a puertos) para sondear una IP o un rango de IPs.

Rango

Usando NMAP a través de la línea de comandos

Normalmente, esta herramienta se ejecuta a través de la terminal (aunque existen adaptaciones con interfaz gráfica) con el formato:

1$ nmap <Flags> <Target>

La ejecución sin parámetros realiza un escaneo simple a los 1000 puertos más comunes, realizando previamente un ping para ver si la computadora está activa (si la computadora no responde al ping, no se realizará la prueba de puertos).

Flags de la línea de comandos de NMAP

Incontables Flags indicarán configuraciones particulares a la ejecución. Entre las más utilizadas, encontramos:

  • -sn, para determinar si un objetivo está disponible.

  • sT, para determinar qué puertos están abiertos en un objetivo usando TCP.

  • O, para identificar el sistema operativo y la versión del software que se ejecuta en un objetivo.

  • A, para el escaneo completo del objetivo.

Identificar una vulnerabilidad en un puerto proporciona al atacante un excelente vector de ataque que, con suerte y experiencia, puede comprometer la máquina. Es una herramienta muy flexible con multitud de opciones.

Nmap con scripts NSE

Aunque esta herramienta nació como un escáner de puertos, gracias a los scripts NSE incluidos por defecto (que se pueden descargar de multitud de páginas web) es posible utilizarla como una herramienta completa para buscar vulnerabilidades en redes y sistemas. Los scripts NSE utilizan la potencia de Nmap, pero también son capaces de explotar vulnerabilidades conocidas en ciertos programas, por lo que es muy útil actualizarla frecuentemente con los últimos scripts. Tanto NSE como Nmap forman un equipo realmente poderoso para ayudar al hacker a realizar pentesting.

Algunas de las funciones que podemos realizar son atacar servidores Samba probando cientos de usuarios y contraseñas, lo mismo con servidores FTP e incluso SSH, y podemos atacar una gran cantidad de servicios para explotar vulnerabilidades.

🔥 Cuando se publica una vulnerabilidad pública, los desarrolladores incorporan este exploit en Nmap NSE para explotarlo de manera fácil y rápida, con el fin de ayudar a los pen-testers en la tarea de explotar el sistema comprometido.

Razones para usar Nmap

  • Puede reconocer rápidamente todos los dispositivos, incluidos servidores, enrutadores y teléfonos móviles, entre otros. Y puede hacerlo tanto en redes únicas como múltiples. Por lo tanto, es una muy buena opción para el sector empresarial donde se utilizan diferentes redes.
  • Nos ayuda a hacer una identificación de los servicios que se ejecutan en el sistema. Los servidores web, DNS y otras aplicaciones también serán escaneados. Esto permite detectar diferentes versiones de las aplicaciones con mucha precisión, lo que ayuda a detectar vulnerabilidades existentes.
  • Puedes ubicar información sobre los sistemas operativos que se ejecutan en los dispositivos. También proporciona información muy detallada, como las versiones de los paquetes, lo que nos ayuda mucho a planificar diferentes enfoques durante la penetración de los paquetes.
  • En auditorías de seguridad y escaneo de vulnerabilidades, Nmap puede atacar sistemas utilizando scripts existentes en el motor de scripts de Nmap.
  • Tiene una interfaz gráfica llamada Zenmap, que nos ayuda a realizar mapeos visuales de redes. Esto es bueno para dar mayor usabilidad a la herramienta y facilita que los informes se generen de manera más detallada, intuitiva y accesible.

Ventajas de NMAP

Con Nmap, podemos obtener una serie de ventajas, que no solo nos ayudarán a tener más funcionalidades, sino que también pueden influir en su facilidad de uso. Algunas de ellas pueden ser:

  • El sistema operativo determina cuándo Nmap puede escanear puertos abiertos. Al menos uno de ellos tiene que estar abierto en el sistema al momento de escanear.
  • Se pueden determinar puertos abiertos que están escuchando, pero a menudo este puerto puede no identificar el sistema operativo.
  • Si se intenta identificar la generación del SO mediante un sondeo, se puede crear una superposición basada en la información determinada a partir del sondeo en sí, y esto no se considerará autoritativo. Después de todo, la identificación del SO se determina mediante un algoritmo que realiza un análisis de los puertos abiertos. Muchos elementos pueden hacer que esta identificación sea errónea.

Desventajas de NMAP

Pero como en todo, encontraremos algunas desventajas, que pueden hacernos cambiar de opinión sobre si usarlo o no. Por ejemplo:

  • Nmap puede ser utilizado como una herramienta de hacker. En cualquier caso, es posible que la seguridad del equipo no lo permita.
  • Se requiere NCAP y se debe instalar un controlador de filtro para la red. NCAP puede interactuar con otros software y, a su vez, causar problemas a través de desbordamientos operativos.
  • NCAP y NMAP están destinados a ser transparentes, sin embargo, pueden tener interacciones con software instalado en el entorno. Esto puede ser una preocupación para cualquier administrador, por lo que se recomienda realizar las pruebas adecuadas antes de usarlo.
  • Los dispositivos escaneados pueden responder de manera inesperada, especialmente si son muy diferentes de las máquinas habituales, como equipos médicos, por ejemplo.
  • Puede ser bloqueado por firewalls locales, tanto en el sistema que realiza el escaneo como en el sistema que se está escaneando. Esto puede limitar considerablemente los datos disponibles.
  • Puede ser bloqueado por software como antivirus, por ejemplo. Esto puede afectar la profundidad y precisión de todos los datos proporcionados por Nmap.
  • La metodología de Nmap intenta ser lo más eficiente posible, pero puede que no sea capaz de realizar escaneos en ciertos puntos de la red local donde se está realizando el escaneo.

Alternativas a NMAP

NMAP no es la única herramienta que podemos encontrar. Hay muchas en internet que pueden hacer la función correctamente, incluso algunas con nuevas características. Por ejemplo:

  • FING: Es una opción orientada a dispositivos móviles. Nos permite realizar un análisis rápido de la red en la que estamos conectados. Con facilidades para detectar intrusos y realizar control sobre la actividad realizada en la red.
  • Angry IP Scanner: Una vez más, este es un programa multiplataforma. Gratis y con la posibilidad de realizar un análisis de varias interfaces de red. Es muy rápido al escanear puertos.
  • WinMTR: En este caso estamos ante un ejemplo que es muy fácil de usar y también gratuito. Pero solo está disponible para Windows, lo que lo limita un poco. Puede diagnosticar problemas en las conexiones, y al mismo tiempo, nos da opciones de ping y traceroute. De todas maneras, es uno de los más básicos.
  • Scapy: Aquí no encontramos un analizador de redes. Pero sí permite manipular paquetes, y actuar como un sniffer. Esto hace posible descifrar paquetes WEB, analizar VLANs y verificar redes VoIP. Es uno de los más complejos de toda la lista.
  • Fingbox: Es una buena opción tanto para computadoras móviles como de escritorio. Tiene una versión gratuita, pero la más completa es de pago.