¿Cómo uso los argumentos de script NSE de nmap?

1

¿Cómo puedo mejorar esto pasando argumentos a http-default-accounts. ? Siento que estoy haciendo algo mal. No estoy obteniendo ningún buen resultado

# Find vulnerable web logins

# How many random hosts do you want to scan ?

N_HOSTS=5000

nmap\
 -Pn\
 -sS\
 -sV\
 -n\
 -T5\
 -p 8080, 80, 8000\
 --script http-default-accounts\
 --open\
 -oX results.xml\
 -iR $N_HOSTS
    
pregunta Ricky Wilson 11.07.2017 - 08:21
fuente

2 respuestas

1

Pasar argumentos al script NSE es muy fácil una vez que se comprende correctamente. Básicamente sigue el formato de tabla lua. Además, si tiene alguna duda con el uso de las opciones de Nmap, puede activar el modo de depuración utilizando el indicador -d<level> . Por lo general, -d2 es suficiente para ver los scripts. Para el script dado http-default-accounts sería como -

nmap <options> --script http-default-accounts --script-args "http-default-accounts.basepath='/admin', category='web', fingerprintfile=/usr/share/nmap/nselib/data/http-default-accounts-fingerprints.lua"

Note que he usado el formato script-name.argument así como el formato argument en los argumentos. Ambos funcionan igual, mientras que el anterior se usa cuando diferentes scripts asumen las mismas variables de argumento y usted quiere dar valores diferentes. En el estado actual, esta secuencia de comandos no toma varias baseepath o category o fingerprintfile . Para dominar el uso del argumento del script, puede intentar usar el script http-form-fuzzer que puede ocupar una tabla anidada de cualquier profundidad.

    
respondido por el Abhishek Singh 11.07.2017 - 14:17
fuente
0

Tienes esencialmente 2 preguntas aquí:

  • ¿Por qué no obtengo buenos resultados ?
  • ¿Qué argumentos de script puedo usar para mejorar mis resultados?

La razón más probable por la que no está obteniendo buenos resultados para el script http-default-accounts es que no hay muchos sistemas en Internet con cuentas predeterminadas que el script conoce. 5000 direcciones pueden parecer mucho, pero es solo el 0,00012% de Internet enrutable. Sus posibilidades aumentarán considerablemente si limita su exploración a listas de direcciones que se sabe que están activas. Además, si conoce algunas cuentas predeterminadas que el script no cubre, agregarlas al archivo de huellas digitales (y enviarlas al Proyecto Nmap) ayudará a capturar más de esos sistemas.

Los scripts heredan argumentos de script de las bibliotecas que utilizan. Puede encontrar la lista de argumentos y argumentos de biblioteca para una secuencia de comandos en el portal NSEdoc . A continuación le indicamos cómo encontrarlos para su script en particular.

Primero, obtenga la URL de la documentación ejecutando nmap --script-help your-script-name :

$ nmap --script-help http-default-accounts

Starting Nmap 7.50 ( https://nmap.org ) at 2017-07-11 09:05 CDT

http-default-accounts
Categories: discovery auth intrusive
https://nmap.org/nsedoc/scripts/http-default-accounts.html
  Tests for access with default credentials used by a variety of web applications and devices.
<snip>

Esa URL debajo de la línea Categories: enlaza con la página NSEdoc para http-default-accounts . Allí, bajo el encabezado Argumentos de secuencia de comandos , puede ver la lista de argumentos que admite la secuencia de comandos.

Una revisión rápida de esos argumentos muestra que están principalmente preocupados por limitar o cambiar el alcance de la prueba:

  • http-default-accounts.category : limite las pruebas solo a esta categoría en lugar de intentarlas todas.
  • http-default-accounts.fingerprintfile : use un archivo de huella digital diferente, si lo escribió usted mismo.
  • http-default-accounts.basepath : verifica las aplicaciones web instaladas en un URI base diferente. No es útil para un escaneo amplio como este.

Los argumentos heredados de la biblioteca http son principalmente para la optimización del rendimiento, aunque se puede configurar http.useragent para evitar anunciar que está escaneando con NSE. Las otras bibliotecas ( creds , smbauth ) no son realmente relevantes aquí, ya que se usan para pasar credenciales a los scripts que se van a usar, y este script usa su propia lista en su lugar.

En un comentario sobre una respuesta diferente, preguntó si existe una manera de especificar la lista de nombres de usuario y contraseñas . No hay, para http-default-accounts , porque usa los nombres de usuario y contraseñas predeterminado para varias aplicaciones. En su lugar, puede querer http-brute o http-form-brute , para probar varias formas de autenticación web para una lista específica de nombres de usuario y contraseñas.

    
respondido por el bonsaiviking 11.07.2017 - 19:30
fuente

Lea otras preguntas en las etiquetas