Tutorial de NSE

Tutorial de NSE
NSE (motor de secuencias de comandos NMAP) permite funciones adicionales en el proceso de exploración NMAP al permitir scripts para tareas adicionales como fuerza bruta, detección de vulnerabilidad o explotación.

El motor de secuencias de comandos NMAP (NSE) contiene un conjunto de scripts clasificados por categoría, y los usuarios pueden escribir sus propios scripts con características personalizadas.

Este tutorial explica los conceptos básicos de NSE, que incluyen ejemplos prácticos que muestran cómo usar el motor de secuencias de comandos NMAP para piratear sitios de WordPress y credenciales de SSH o ejecutar múltiples controles de seguridad adicionales.

NSE (Motor de secuencias de comandos NMAP) Scripts Categorías y tipos

Los scripts incluidos en el NSE se clasifican de acuerdo con diferentes criterios basados ​​en el momento de la ejecución, el propósito del script y los métodos.

La primera clasificación basada principalmente en el momento de la ejecución incluye 4 tipos de script:

  • Scripts de prerule se ejecutan antes de cualquier fase de escaneo NMAP, por ejemplo, scripts utilizados para generar nuevos objetivos.
  • Guiones de host se ejecutan durante el proceso de escaneo.
  • Scripts de servicio se ejecutan después de escanear cada lote de hosts, como los scripts de host.
  • Scripts posteriores se ejecutan después del proceso de escaneo; Estos scripts pueden explotar una vulnerabilidad descubierta durante el proceso de escaneo.

La segunda clasificación se basa en los propósitos y la seguridad del script. Categorías Ordenar guiones de acuerdo con ese criterio. Las categorías son:

Auth: Los scripts en esta categoría son útiles para lidiar con la autenticación. En esta categoría, puede encontrar scripts para evitar procesos de autenticación, como HTTP-Method-Tamper para evitar recursos protegidos por contraseña mediante la realización de la manipulación de verbos HTTP. Si no se establece una variedad de rutas para verificar, rastreará el servidor web y realizará la verificación de cualquier recurso protegido con contraseña encontrado.

La autenticación de la categoría no incluye scripts de fuerza bruta almacenados en la categoría Brute. Sin embargo, en Auth, puede encontrar funciones similares como el script http-default-accounts para probar el acceso con credenciales predeterminadas en varias aplicaciones y dispositivos web.

Transmisión: Estos scripts permiten descubrir hosts transmitiendo la red local.

Bruto: Esta categoría contiene scripts para ejecutar ataques de fuerza bruta como el script http-wordpress-bruta para atacar sitios de WordPress o rsync-bruta para realizar ataques contra el protocolo RSYNC.

Por defecto: Esta categoría incluye los requisitos de reuniones de scripts basados ​​en la velocidad, la utilidad, la verbosidad, la fiabilidad, la intrusión y la privacidad. Los scripts en esta categoría deben finalizar rápidamente y deben informar información valiosa sobre el objetivo. La salida debe ser legible y limitada a información precisa. Los scripts intrusivos que probablemente bloqueen el sistema o servicio de destino son menos adecuados para esta categoría.

Descubrimiento: Scripts en esta categoría Intente descubrir más sobre el objetivo consultando fuentes públicas, dispositivos, directorios y similares habilitados para SNMP. El Script HTTP-Affiliate-ID toma ID de red de afiliados como Google Adsense o Analytics, Amazon, etc., Desde una página web y se puede usar para identificar páginas con el mismo propietario.

DOS: Estos scripts son útiles para probar los objetivos de las vulnerabilidades antes de los ataques de DOS; Estos scripts son propensos a bloquear un sistema o servicio vulnerable.

Explotar: Los scripts en esta categoría se utilizan para explotar las vulnerabilidades en los objetivos.

Externo: Esta categoría contiene los scripts que involucran recursos externos durante el proceso de escaneo, como las solicitudes de información de la base de datos en el objetivo. Los scripts que comparten información sobre el proceso de escaneo con bases de datos de terceros se colocan en esta categoría. El ip-geolocation-geoplugin, por ejemplo, intenta determinar la ubicación del objetivo físico usando http: // www.geoplugin.com/.

Fuzzer: Esta categoría contiene scripts para enviar campos aleatorios masivamente para descubrir vulnerabilidades para explotar un desbordamiento de amortiguación, DOS (denegación de servicio), secuencias de comandos de sitios cruzados o inyección SQL.

Intruso: Es probable que los scripts en esta categoría bloqueen el objetivo utilizando una cantidad significativa de recursos o se detecten como actividad maliciosa.

Malware: Los scripts de malware están diseñados para detectar la posible presencia de malware o puertas traseras en el objetivo.

Seguro: Contrariamente a los guiones intrusivos, los guiones seguros es poco probable que bloqueen el objetivo, que no necesita una cantidad significativa de recursos y es poco probable que se detecten como maliciosos por el objetivo. Los scripts en esta categoría se ocupan principalmente de tareas de descubrimiento.

Versión: Los scripts de versión extienden la función de versión NMAP; Un ejemplo es la versión de script Docker utilizada para detectar una versión de servicio Docker.

Vuln: Los scripts Vuln son útiles para probar las vulnerabilidades en los objetivos con precisión.

Los guiones de NSE se encuentran en /usr/share/nmap/scripts, y cualquier script nuevo que desee agregar (e.gramo., Vulscan) debe colocarse allí.

Cómo usar el motor de secuencias de comandos NMAP (NSE)

NSE está incluido en NMAP, para comenzar a instalar NMAP en caso de que aún no lo tenga, ejecutándose (en distribuciones Linux con sede en Debian y Debian):

sudo apt install nmap

Nota: En las distribuciones de Linux basadas en Redhat, puede ejecutar:

yum instalación nmap

Después de la instalación, o si ya tiene NMAP instalado, ejecute el siguiente comando para actualizar la base de datos de NMAP Scripting Engine:

NMAP--Script-UpdatedB

NMAP permite diferentes sintaxis para ejecutar escaneos; El siguiente ejemplo muestra una exploración NMAP con la detección de la versión, llamando al script http-wordpress-brute y pasando como argumento la ubicación de los diccionarios. Esta es una posible sintaxis cuando sabes qué script quieres ejecutar.

En el primer ejemplo, mostraré cómo NMAP NSE puede piratear un sitio web de WordPress con fuerza bruta utilizando el script http-wordpress-bruta.NSE. En este ejemplo, el sitio web pirateado es Noticias Mercedes que tengo.

nmap -sv --script http-wordpress-brute --script-args 'userdb = usuarios.txt, passdb = pase.txt 'noticiasmercedes.comunicarse

Dónde:

Nmap -sv: Llama a NMAP y habilita la detección de versiones.

-script http-wordpress-bruto: Llama al script http-wordpress-bruta a los sitios de WordPress de la fuerza bruta.

-userdb = usuarios de script-args.txt, passdb = pase.TXT': Especifica los diccionarios de usuario y contraseña, en este caso, creé los usuarios de archivos.txt y pase.TXT que contiene datos ficticios y las credenciales correctas, los archivos se ubicaron en el mismo directorio en el que se ejecutó NMAP, también puede especificar la ruta: -script-args 'userdb =/rath/to/dicionaty/users.txt, passdb =/rath/to/dicionaty/pass.TXT'

Como puede ver en la salida, la contraseña fue pirateada correctamente:

Para el siguiente ejemplo, supongamos que no está seguro sobre el script que desea ejecutar contra su objetivo, pero desea limitar su escaneo a cheques de seguridad. En este caso, puede instruir a NMAP que ejecute todos los scripts que pertenecen a las categorías seguras o predeterminadas, o ambos.

El siguiente ejemplo muestra cómo ejecutar todos los scripts que pertenecen a las categorías predeterminadas y seguras con una sintaxis fácil de usar:

NMAP -Script "Predeterminado y seguro" Noticiasmercedes.comunicarse

El último ejemplo muestra cómo descifrar las credenciales de SSH usando NSE:

NMAP-SSH-Brute.NSE localhost

Al igual que con HTTP-WordPress-Brute, con este script, también puede especificar diccionarios sin pasar por el argumento:

--script-args userdb = usuarios.txt, passdb = pase.TXT

Donde usuarios.txt y pase.TXT debe ser reemplazado por sus diccionarios (y la ruta si es necesario),

Los siguientes artículos incluyen ejemplos adicionales de NSE:

  • 30 ejemplos de NMAP
  • Cómo buscar servicios y vulnerabilidades con NMAP
  • Traceroute con nmap
  • Uso de scripts nmap: nmap banner grab
  • banderas nmap y lo que hacen,

Espero que hayas encontrado este artículo en NSE útil; Siga a Linuxhint para obtener más consejos y tutoriales de Linux.