
Escaneo avanzado de vulnerabilidades con Nmap NSE
Vulscan es un módulo que mejora nmap para convertirlo en un escáner de vulnerabilidades. La opción -sV de nmap habilita la detección de versiones por servicio, la cual se utiliza para determinar posibles fallos según el producto identificado. Los datos se consultan en una versión sin conexión de VulDB.
Instale los archivos en la siguiente carpeta de su instalación de Nmap:
Nmap\scripts\vulscan\*
Clone el repositorio de GitHub de la siguiente manera:
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 escaneo de vulnerabilidades simple:
nmap -sV --script=vulscan/vulscan.nse www.example.com
Actualmente están disponibles las siguientes bases de datos preinstaladas:
Puede ejecutar vulscan con el siguiente argumento para usar una sola 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 al referirse a una de las bases de datos previamente entregadas. No dude en compartir su propia base de datos y conexión de vulnerabilidades conmigo, para agregarla al repositorio oficial.
Las bases de datos de vulnerabilidades se actualizan y ensamblan de forma regular. Para respaldar las vulnerabilidades más recientes divulgadas, mantenga sus bases de datos locales de vulnerabilidades actualizadas.
Para actualizar automáticamente las bases de datos, simplemente establezca permisos de ejecución al archivo update.sh y ejecútelo:
chmod 744 update.sh
./update.sh
Si desea actualizar manualmente sus bases de datos, visite el siguiente sitio web y descargue estos archivos:
Copie los archivos en su carpeta vulscan:
/vulscan/
Si la detección de versiones pudo identificar la versión del software y la base de datos de vulnerabilidades proporciona dichos detalles, también se emparejan estos datos.
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 adicional, use 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 las versiones, lo que puede dar lugar a muchos falsos positivos (como se puede observar en los servidores Apache).
El script intenta identificar solo las mejores coincidencias. Si no se ha encontrado 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 introducir muchos falsos positivos pero podría ser útil para una investigación adicional, use el siguiente argumento:
--script-args vulscanshowall=1
El modo interactivo le ayuda a anular los resultados de la detección de versiones para cada puerto. Use el siguiente argumento para habilitar el modo interactivo:
--script-args vulscaninteractive=1
Todos los resultados coincidentes se imprimen línea por línea. El diseño predeterminado para esto es:
[{id}] {title}\n
Es posible usar 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 usando el siguiente argumento (algunos ejemplos):
--script-args vulscanoutput='{link}\n{title}\n\n'
--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 utilizan durante el escaneo y se pueden acceder como {link} dentro de la plantilla de informe personalizada. Para usar enlaces de base de datos personalizados, use el siguiente argumento:
--script-args "vulscandblink=http://example.org/{id}"
Tenga en cuenta que este tipo de escaneo de vulnerabilidades derivado depende en gran medida de la confianza en la detección de versiones de nmap, la cantidad de vulnerabilidades documentadas y la precisión del emparejamiento de patrones. La existencia de posibles fallos no se verifica con escaneos adicionales ni técnicas de explotación.