Vulscan es un módulo que mejora nmap y lo convierte en un escáner de vulnerabilidades. La opción nmap -sV permite la detección de versiones por servicio que se utiliza para determinar fallas potenciales según el producto identificado. Los datos se buscan en una versión fuera de línea de VulDB.
Instale los archivos en la siguiente carpeta de su instalación de Nmap:
Nmapscriptsvulscan*
Clona el repositorio de GitHub así:
git clone https://github.com/scipag/vulscan scipag_vulscan
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Debe ejecutar el siguiente comando mínimo para iniciar un análisis de vulnerabilidad simple:
nmap -sV --script=vulscan/vulscan.nse www.example.com
Actualmente se encuentran disponibles las siguientes bases de datos preinstaladas:
Puede ejecutar vulscan con el siguiente argumento para utilizar una única base de datos:
--script-args vulscandb=your_own_database
También es posible crear y hacer referencia a sus propias bases de datos. Esto requiere crear un archivo de base de datos, que tiene la siguiente estructura:
<id>;<title>
Simplemente ejecute vulscan como lo haría consultando una de las bases de datos entregadas previamente. No dude en compartir conmigo su propia base de datos y conexión de vulnerabilidad para agregarla al repositorio oficial.
Las bases de datos de vulnerabilidades se actualizan y recopilan periódicamente. Para admitir las últimas vulnerabilidades reveladas, mantenga actualizadas sus bases de datos de vulnerabilidades locales.
Para actualizar automáticamente las bases de datos, simplemente establezca permisos de ejecución para el archivo update.sh
y ejecútelo:
chmod 744 update.sh
./update.sh
Si desea actualizar manualmente sus bases de datos, vaya al siguiente sitio web y descargue estos archivos:
Copie los archivos en su carpeta vulscan:
/vulscan/
Si la detección de versión pudo identificar la versión del software y la base de datos de vulnerabilidades proporciona dichos detalles, estos datos también coinciden.
Deshabilitar esta función podría introducir falsos positivos, pero también podría eliminar falsos negativos y aumentar ligeramente el rendimiento. Si desea deshabilitar la coincidencia de versiones adicionales, utilice el siguiente argumento:
--script-args vulscanversiondetection=0
La detección de versiones de vulscan es tan buena como la detección de versiones de Nmap y las entradas de la base de datos de vulnerabilidades. Algunas bases de datos no proporcionan información concluyente sobre la versión, lo que puede generar muchos falsos positivos (como se puede ver en los servidores Apache).
El guión intenta identificar únicamente las mejores coincidencias. Si no se puede encontrar ninguna coincidencia positiva, se muestra la mejor coincidencia posible (que podría ser un falso positivo).
Si desea mostrar todas las coincidencias, lo que podría generar muchos falsos positivos pero podría ser útil para una investigación más profunda, utilice el siguiente argumento:
--script-args vulscanshowall=1
El modo interactivo le ayuda a anular los resultados de detección de versiones para cada puerto. Utilice el siguiente argumento para habilitar el modo interactivo:
--script-args vulscaninteractive=1
Todos los resultados coincidentes se imprimen uno por línea. El diseño predeterminado para esto es:
[{id}] {title}n
Es posible utilizar otra estructura de informe predefinida con el siguiente argumento:
--script-args vulscanoutput=details
--script-args vulscanoutput=listid
--script-args vulscanoutput=listlink
--script-args vulscanoutput=listtitle
Puede imponer su propia estructura de informe utilizando el siguiente argumento (algunos ejemplos):
--script-args vulscanoutput='{link}n{title}nn'
--script-args vulscanoutput='ID: {id} - Title: {title} ({matches})n'
--script-args vulscanoutput='{id} | {product} | {version}n'
Se admiten los siguientes elementos para una plantilla de informe dinámico:
Cada base de datos predeterminada viene con una URL y un enlace, que se utiliza durante el escaneo y al que se puede acceder como {enlace} dentro de la plantilla de informe personalizado. Para utilizar enlaces de bases de datos personalizados, utilice el siguiente argumento:
--script-args "vulscandblink=http://example.org/{id}"
Tenga en cuenta que este tipo de escaneo de vulnerabilidades derivadas depende en gran medida de la confianza de la detección de versiones de nmap, la cantidad de vulnerabilidades documentadas y la precisión de la coincidencia de patrones. La existencia de posibles fallos no se verifica con técnicas de escaneo ni explotación adicionales.