nmap

NSE: Scripts en Nmap

Nmap es una herramienta muy popular para escanear y monitorizar redes. Hay muchas formas de encontrar información sobre Nmap, vblogs y artículos, hasta capacitación formal. Sin embargo, pocas de estas herramientas de aprendizaje analizan una de las funciones más poderosas de Nmap: el motor de secuencias de comandos de Nmap (NSE). Espero poder llevarlo a tu alcance de una forma sencilla.

Comenzare por resolver la interrogante que te debes estar planteando ¿Qué es lNSE?. Pues esta herramienta hace dos cosas, permite que el comando nmap acepte opciones que especifican procedimientos con scripts como parte de un análisis; ademas de permitir que los usuarios de Nmap crean y compartan secuencias de comando, lo que proporciona una biblioteca robusta y en constante evolución de escaneos preconfigurados. 😉

Gracias a estas particularidades, NSE lleva a Nmap, más allá de los escaneos rápidos y «con mucho ruido» estándar, a un ambiente de profunda automatización y detalle. Muchos han creado scripts para abordar requisitos de seguridad específicos o solucionar consultas. Nmap proporciona documentación extensa y detallada para la aplicación en general y para el NSE en particular.

Tipos de Scripts NSE

Están organizados en 14 categorías. Muchas orientadas a la seguridad, mientras que otras insinúan el descubrimiento y la resolución de problemas. Algunas de las categorías más interesantes son:

  • broadcast
  • default
  • discovery
  • intrusive
  • vuln
  • brute
  • malware

A fecha de que escribí esta entrada, habían mas de 600 disponibles en la página NSE Scripts. Lo mas posible, es que ya hay uno hecho, que pueda cubrir tu necesidad, así que no estaría demás darle una visita.

Ejecutar Scripts

La sintaxis principal para agregar scripts NSE, al comando nmap es -sC. La opción –script define cual ejecutar si está utilizando su script. Algunos usan argumentos personalizados o reaccionan a los resultados de un escaneo Nmap más tradicional.

nmap -sC ejecuta un escaneo paso a paso y se considera parte de la categoría default. Asegúrese de saber qué hacen estos scripts, ya que algunos activarán el software de detección de intrusos o se considerarán intrusivos. ¡muahaha!

Para cargar un script específico, como un banner, escriba:

$ nmap -sV --script=banner target

Este script realiza una captura de banner básica en los sistemas de destino (target). Tenga en cuenta que es posible que deba usar sudo para ejecutar Nmap en algunos entornos, así que precaución con lo que se hace, que por curioso se murió el gato….(aunque nació el hacker, dicen por allí)

Consulta la documentación, esto no es para hacer copy/paste y ya. Ay que obtener un mayor conocimiento sobre la personalización de scripts y su ejecución.

Algunos NSE Útiles

Llegue a esto de los scripts NSE mientras «me ensuciaba las manos» tratando de dar solución a un problema de DHCP, así que los dos primeros ejemplos a continuación son scripts que se enfocan en este servicio. Muchas de las secuencias de comandos muestran información sobre servicios de red comunes, incluido el Protocolo de tiempo de red (NTP), servicios web, DNS, protocolos de enrutamiento y más.

  • scripts DHCP

broadcast-dhcp-discover: transmite un mensaje DHCPDISCOVER en la red y muestra cualquier respuesta DHCPOFFER resultante. Con este puedes encontrar servidores DHCP no autorizados o usarlo como parte de la resolución de problemas de DHCP. Pertenece a la categoría broadcast.

dhcp-discover: es un poco diferente al anterior. Este envía un mensaje DHCPINFORM para obtener los ajustes de configuración sin intentar obtener una dirección IP. Es parte de la categoría discovery.

  • Servidores SMB

smb-os-discovery: es parte de la categoría default. Es un script antiguo, por lo que es posible que no devuelva toda la información para los sistemas Windows. También descubre servidores de pequeñas y medianas empresas (SMB), como los que utilizan Samba.

smb-enum-users: busque este script en la categoría de auth. Intenta enumerar usuarios en sistemas Windows y se ejecuta con al menos una cuenta local con privilegios bajos. Es interesante de usar para los pentesting, tanto como para white hat, como black hat o por supuesto blue team o red team.

  • SSH

ssh-auth-methods: muestra los métodos de autenticación admitidos para el servidor SSH de destino y es útil para las huella. Pertenece a las categorías auth e intrusive.

Como vez, muchos tienen como objetivo protocolos específicos o servicios específicos, así que consulta el sitio para ver qué podría ser útil para la resolución, enumeración o las pruebas de penetración en tu entorno. Solo se curioso con sentido común, no lo ejecutes en ámbitos de producción, si no tienes los permisos, respaldos y conocimiento necesario sobre lo que hace el script.

Conclusión

La documentación de NSE también explica cómo crear tus propios scripts. La explicación cubre las secciones de un script y analiza las convenciones estándar. La documentación hace un trabajo fantástico al desglosar los scripts y explicar los componentes. Aumentando el poder de Nmap, si bien muchos de los scripts no se aplicarán al entorno que administras, muchos serán útiles para las auditorías de red. Y no olvides que herramientas como Nmap (y Wireshark y tcpdump) son excelentes utilidades para solucionar problemas. 😉

Así que lo mejor que puedes hacer es examinar la documentación y ver qué análisis pueden serte útiles. Sugiero que trabajes con estos scripts antes de que tenga un problema; de esa manera, ya estará familiarizado con el NSE cuando lo necesites. También puedes darte una vuelta por tres entradas antiguas que tengo sobre Nmap en el blog, te podrían ser de utilidad: Conociendo Nmap Nivel Basico, Nmap: Gestion de Puertos y Conociendo Nmap Nivel Avanzado. Hasta otro post lector, buenas vibras.

Happy Hacking!


Fuentes

Deja un comentario