NMAP NSE

Explicación y uso de Nmap Scripting Engine

NMAP SCRIPTING ENGINE

La verdadera potencia de Nmap viene con el NSE , ya que se permite a los usuarios escribir (y compartir) scripts simples para automatizar una amplia variedad de tareas de red. Los scripts estan escritos en lenguaje LUA.

Podemos encontrar los scripts en:

/usr/share/nmap/scripts

Podemos encontrar los diccionarios en:

/usr/share/nmap/nselib/data

Categorias NSE

  • Auth: autenticacion de usuarios.

  • Broadcast: Broadcast para obtener informacion.

  • Brute: Auditar passwords con fuerza bruta.

  • Default: Script por defecto de escaner (-sC los ejecuta).

  • Discovery: Descubrir hosts y servicios.

  • Dos: ataque DoS.

  • Exploit: explotar vulnerabilidades.

  • External: Scripts de terceros.

  • Fuzzer: ejecutar fuzzing (parecido a dirb).

  • Intrusive: Generar ruido en la red para generar fallo o error.

  • Malware: Deteccion de malware.

  • Safe: Scripts seguros.

  • Version: Deteccion avanzada de versiones.

  • Vuln: Detectar y explotar vulnerabilidades.

Comandos NSE

nmap -sC → aplica los scripts de la categoria Default.

nmap --script filename|category|directory|expression,... → Es decir, aplica algunos de los scripts. como por ejemplo:

nmap --script discovery,vuln → Aplica los scripts de las categorias marcadas.

nmap --script “not (exploit or dos or intrusive)” → Aplica todos los scripts menos los marcados.

nmap --script “auth and Broadcast” → Aplica solo los scripts marcados, como la coma

nmap --script snmp-* → Aplica todos los scripts del protocolo SNMP (hay que tener en cuenta que hay que incluir argumentos)

nmap --script "snmp-* and not (snmp-enum or snmp-login) → Igual que el anterior pero sin esos dos scripts.

nmap --script http-tittle --script-args http.useragent="Mozilla 66" → Incluye argumentos al script, los arg necesarios se ven en el codigo fuente del script).

nmap --script http-tittle --script-args-file argumetentos.txt → Se pueden incluir argumentos en un archivo de texto, uno por linea

nmap --script nbstat --script-trace → muestra el trafico que se genera con un determinado script para depurar los argumentos.

nmap --script nbstat -d[1-9] → muestra el trafico tambien (cuanto mas alto el numero 1-9 mas detalle en el resultado.

Output de NMAP

-oG → formato grepeable.

-oS → formato script kiddie (formato de broma cambiando letras como escriben los Hackers de película)

-oN → formato normal (igual que la salida en terminal).

-oX → formato .xml para navegador web (es muy practico por que es importable a muchas otras aplicaciones).

Con ndiff Podemos comparar dos outputs de nmap y no dice la diferencia en estado de puertos, servicios, hosts, etc...

Descubrimiento de Hosts

nmap -sL --script=targets-sniffer -e wlan0

Esto permite descubrir hosts en una red o incluso en las redes con las que tiene relacion. Es muy util a la hora de pivotar entre redes.

Fuerza Bruta

nmap -p3306 --script mysql-brute

Asi podemos hacer fuerza bruta al servicio mysql (es util pero existen aplicaciones específicas dedicadas a esto)

nmap -p445 --script smb-brute --datadir=/root/diccionario.txt → Selecciona el diccionario que quieras.

REFERENCIAS

Última actualización