Cómo usar NMAP Vulscan

Cómo usar NMAP Vulscan
VulScan es un script de motor de secuencias de comandos NMAP que ayuda a NMAP a encontrar vulnerabilidades en objetivos basados ​​en servicios y detecciones de versiones para estimar vulnerabilidades dependiendo del software que escuche en el objetivo.

Este tutorial muestra cómo instalar y realizar un escaneo utilizando el script de Vuls. Los resultados de Vuls muestran una larga lista de posibles vulnerabilidades, y una por script se ejecutará contra cada servicio detectado en el objetivo.
Para comenzar a instalar Vulscan usando GIT, ejecute lo siguiente:

# clon git https: // github.com/scipag/vulscan

Nota: Puede instalar git ejecutando sudo apt install git.

Entonces corre:

# ln -s 'pwd'/scipag_vulscan/usr/share/nmap/scripts/vulscan

Para comenzar con un escaneo mínimo, ejecute:

# nmap -sv --script = vulscan/vulscan.NSE Linuxhint.comunicarse

Analizar la salida de VulScan:

La primera línea mostrará las características del escaneo, como la versión NMAP, el tiempo y la información anterior sobre el objetivo, como su estado.

Comenzando nmap 7.70 (https: // nmap.org) al 2021-05-14 11:25 -03
Informe de escaneo NMAP para Linuxhint.com (172.67.209.252)
El anfitrión está arriba (0.043S LATENCIA).
Otras direcciones para Linuxhint.com (no escaneado): 104.21.58.234 2606: 4700: 3033 :: AC43: D1FC 2606: 4700: 3033 :: 6815: 3aea

Luego comenzará a informar sobre los servicios disponibles, contrastándolos con las vulnerabilidades de la base de datos VulScan. Como puede ver a continuación, después de detectar que el puerto SSH está disponible, el VulScan comienza a ejecutar scripts para verificar si hay vulnerabilidades para este servicio específico:

NOTA IMPORTANTE: Para mantener este tutorial legible, se eliminaron el 90% de los scripts ejecutados para cada servicio. Tenga la seguridad de que se verificarán todas las vulnerabilidades posibles para un servicio específico en la base de datos.

No se muestra: 978 puertos cerrados
Versión de servicio estatal de puerto
22/TCP Open SSH OpenSsh 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; Protocolo 2.0)
| vulscan: vuldb - https: // vuldb.com:
| [12724] abre hasta 6.6 Verificación de registro de huellas dactilares sshconnect.c verify_host_key hostCertificate
autenticación débil
|
| CVE MITER - https: // cVe.inglete.org:
| [CVE-2012-5975] La función de solicitud de cambio de SSH UserAuth de cambio en SSH Tectia Server 6.0.4 a 6.0.20,
6.1.0 a 6.1.12, 6.2.0 a 6.2.5 y 6.3.0 a 6.3.2 en Unix y Linux,
Cuando la autenticación de contraseña de estilo antiguo está habilitada, permite a los atacantes remotos evitar la autenticación
a través de una sesión diseñada que involucra la entrada de contraseñas en blanco, como lo demuestra una sesión de inicio de sesión raíz
Desde un cliente OpenSSH modificado con una llamada input_userauth_passwd_changeq agregada en sshconnect2.C.
| [CVE-2012-5536] Una cierta construcción de sombrero rojo del módulo PAM_SSH_AGENT_AUTH en Red Hat Enterprise
Linux (RHEL) 6 y Fedora Rawhide llaman a la función de error GLIBC en lugar de la función de error
En la base de código OpenSSH, que permite a los usuarios locales obtener información confidencial del proceso
memoria o posiblemente obtener privilegios mediante el uso diseñado de una aplicación que se basa en este módulo,
Como lo demuestra su y sudo.
| [CVE-2010-5107] La ​​configuración predeterminada de OpenSSH a 6.1 hace cumplir un límite de tiempo fijo
entre establecer una conexión TCP y completar un inicio de sesión, lo que hace que sea más fácil para
atacantes para causar una negación del servicio (agotamiento de la ranura de conexión) al hacer periódicamente muchos
Nuevas conexiones TCP.
| [CVE-2008-1483] OpenSsh 4.3p2, y probablemente otras versiones, permiten a los usuarios locales secuestrar
Conexiones X reenviadas al hacer que SSH establezca la pantalla en: 10, incluso cuando otro proceso es
Escuchar en el puerto asociado, como se demuestra al abrir el puerto TCP 6010 (IPv4) y
Sniffing una galleta enviada por emacs.

A continuación, se ve que el puerto 25 se filtra, probablemente por un firewall o Vuls no puede determinar su estado con seguridad. Luego verifica el puerto 80, encontrándolo abierto y detectando a Nginx detrás de él y nuevamente. Al igual que con OpenSSH detectado anteriormente, Vuls ejecutará pruebas para confirmar o descartar todas las vulnerabilidades contenidas en la base de datos.

NOTA IMPORTANTE: Para mantener este tutorial legible, se eliminaron el 90% de los scripts ejecutados para cada servicio. Tenga la seguridad de que se verificarán todas las vulnerabilidades posibles para un servicio específico en la base de datos.

25/TCP SMTP filtrado
80/tcp abre http nginx
| _http-server-header: nginx
| vulscan: vuldb - https: // vuldb.com:
| [133852] Sangfor Sundray WLAN Controller hasta 3.7.4.2 encabezado de galletas nginx_webconsole.php
Ejecución del código
| [132132] Softnas Cloud 4.2.0/4.2.1 escalada de privilegios de Nginx
| [131858] Descubrimiento de títeres hasta 1.3.x nginx contenedor autenticación débil
| [130644] Unidad Nginx hasta 1.7.0 Solicitud de proceso del enrutador corrupción de memoria basada en el montón
| [127759] Muynginx 0.3.3 Aplicaciones web Firewall Privilege Escalation
| [126525] Nginx hasta 1.14.0/1.15.5 ngx_http_mp4_module bucle denegación del servicio
| [126524] Nginx hasta 1.14.0/1.15.5 HTTP2 CPU Agotamiento Denegación del servicio
| [126523] Nginx hasta 1.14.0/1.15.5 HTTP2 Consumo de memoria Denegación de servicio
| [119845] Gerente de Operaciones Pivotales hasta 2.0.13/2.1.5 Nginx Privilege Escalation
| [114368] SUSE PORTUS 2.3 Nginx Certificado Autenticación débil
| [103517] Nginx hasta 1.13.2 solicitud de filtro de rango Corrupción de memoria de desbordamiento entero

Finalmente, NMAP mostrará todos los puertos filtrados encontrados:

| _
1666/tcp filtrado netview-aix-6
2000/tcp filtrado cisco-sccp
2001/tcp filtrado DC
Globo filtrado 2002/TCP
Dedo filtrado 2003/tcp
Buzón filtrado 2004/TCP
2005/TCP Filtrado Deslogin
Invocador filtrado 2006/TCP
2007/tcp filtrado dectalk
2008/TCP Filtred conf
2009/TCP Filtred News
2010/TCP Filtred Search
6666/TCP Filtrado IRC
6667/TCP Filtrado IRC
6668/TCP Filtrado IRC
6669/TCP Filtrado IRC
9100/tcp filtrado jetDirect
Información del servicio: OS: Linux; CPE: CPE:/O: Linux: Linux_Kernel
Detección de servicios realizada. Informe cualquier resultado incorrecto en https: // nmap.org/envío/ .
NMAP HECHO: 1 dirección IP (1 host) escaneada en 632.44 segundos

Desde el escaneo anterior, entendemos que el proceso es encontrar servicios disponibles para ejecutar pruebas para todas las vulnerabilidades conocidas para el servicio detectado y contenido en la base de datos de vulnerabilidades de Vuls.

Puede permitir la detección de la versión de NMAP al omitir la detección de la versión de Vuls agregando la bandera -script-args vulsCanversionDetection = 0.

# nmap -sv --script = vulscan/vulscan.NSE --Script-Args VulScanversionDetection = 0 Linuxhint.comunicarse

VulScan le permite lanzar escaneos interactivos en los que se le permite determinar si se debe escanear un servicio específico para las vulnerabilidades. Para lograrlo, debe aplicar la opción -script-args vulscaninteractive = 1.

En la consola, ejecute:

# nmap -sv --script = vulscan/vulscan.NSE--Script-Args VulScaninteractive = 1 Linuxhint.comunicarse

El escaneo se detendrá para preguntarle si debe proceder a verificar las vulnerabilidades para Nginx:

El argumento vulscanshowall Permite la impresión de resultados de acuerdo con la precisión. El valor más bajo imprimirá todos los resultados al aumentar el valor, los resultados se reducirán a mejores coincidencias.

# nmap -sv --script = vulscan/vulscan.NSE--Script-Args Vulscanshowall = 1 Linuxhint.comunicarse

Las siguientes opciones nos permiten determinar el formato en el que NMAP mostrará la salida. La opción vulscanoutput = los detalles habilitan la salida más descriptiva ejecutándola. NMAP mostrará información adicional para cada script.

# nmap -sv --script = vulscan/vulscan.NSE--Script-Args VulScanoutput = Detalles Linuxhint.comunicarse

La opción ListId imprimirá los resultados como una lista de vulnerabilidades identificadas por su identificación.

# nmap -sv --script = vulscan/vulscan.NSE--Script-Args VulScanoutput = Listid Linuxhint.comunicarse

La opción ListLink imprime una lista de enlaces a la base de datos de vulnerabilidades con información adicional en cada uno.

# nmap -sv --script = vulscan/vulscan.NSE--Script-Args VulScanoutput = ListLink Linuxhint.comunicarse

Terminar con formatos de salida, la opción titular imprimirá una lista de vulnerabilidades por su nombre.

# nmap -sv --script = vulscan/vulscan.NSE--Script-Args VulScanoutput = ListTitle Linuxhint.comunicarse

Conclusión:

Finalmente, tenga en cuenta que Vuls le dé lo mejor que debe asegurarse de que las bases de datos permanezcan actualizadas. Para actualizar las bases de datos de Vuls, siempre descargue la última versión de los archivos en las siguientes URL y manténgalas guardadas en el directorio principal de Vuls, donde las bases de datos con los mismos nombres ya se almacenan en:

  • https: // www.comunicado.ch/projekte/vulscan/descargar/cve.CSV
  • https: // www.comunicado.CH/Projekte/Vulscan/Descargar/Exploitdb.CSV
  • https: // www.comunicado.CH/Projekte/Vulscan/Descargar/OpenVas.CSV
  • https: // www.comunicado.CH/Projekte/Vulscan/Descargar/OSVDB.CSV
  • https: // www.comunicado.ch/projekte/vulscan/descargar/scipvuldb.CSV
  • https: // www.comunicado.CH/Projekte/Vulscan/Descargar/SecurityFocus.CSV
  • https: // www.comunicado.CH/Projekte/Vulscan/Descargar/SecurityTracker.CSV
  • https: // www.comunicado.ch/projekte/vulscan/descargar/xforce.CSV

Espero que hayas encontrado este tutorial sobre cómo usar NMAP Vulscan útil. Siga a Linuxhint para obtener más consejos y tutoriales de Linux.