Vulscan 是一个将 nmap 增强为漏洞扫描器的模块。nmap 选项 -sV 启用每个服务的版本检测,用于根据识别的产品确定潜在缺陷。在离线版本的 VulDB 中查找数据。
漏洞数据库
目前有以下预安装的数据库可用:
- scipvuldb.csv - https://vuldb.com
- cve.csv - https://cve.mitre.org
- securityfocus.csv - https://www.securityfocus.com/bid/
- xforce.csv - https://exchange.xforce.ibmcloud.com/
- expliotdb.csv - https://www.exploit-db.com
- openvas.csv - http://www.openvas.org
- securitytracker.csv - https://www.securitytracker.com(生命周期结束)
- osvdb.csv - http://www.osvdb.org(生命周期结束)
单数据库模式
可以使用以下参数执行 vulscan 以使用单个数据库:
--script-args vulscandb=your_own_database
也可以创建和引用自己的数据库。需要创建一个数据库文件,其结构如下:
;
只需像引用预先提供的数据库之一一样执行 vulscan。
更新数据库
漏洞数据库会定期更新和组装。要支持最新披露的漏洞,请保持本地漏洞数据库是最新的。
如果要更新数据库,请访问以下网站并下载这些文件:
- https://www.computec.ch/projekte/vulscan/download/cve.csv
- https://www.computec.ch/projekte/vulscan/download/exploitdb.csv
- https://www.computec.ch/projekte/vulscan/download/openvas.csv
- https://www.computec.ch/projekte/vulscan/download/osvdb.csv
- https://www.computec.ch/projekte/vulscan/download/scipvuldb.csv
- https://www.computec.ch/projekte/vulscan/download/securityfocus.csv
- https://www.computec.ch/projekte/vulscan/download/securitytracker.csv
- https://www.computec.ch/projekte/vulscan/download/xforce.csv
将文件复制到 vulscan 文件夹中:
/vulscan/
版本检测
如果版本检测能够识别软件版本并且漏洞数据库提供此类详细信息,则该数据也会匹配。
禁用此功能可能会引入误报,但也可能会消除误报并略微提高性能。如果要禁用附加版本匹配,请使用以下参数:
--script-args vulscanversiondetection=0
vulscan 的版本检测与 Nmap 版本检测和漏洞数据库条目一样好。一些数据库没有提供决定性的版本信息,这可能会导致很多误报(如 Apache 服务器所见)。
匹配优先级
该脚本试图仅识别最佳匹配项。如果找不到正匹配,则显示最佳匹配(可能是假阳性)。
如果要显示所有匹配项,这可能会引入很多误报,但可能对进一步调查有用,请使用以下参数:
--script-args vulscanshowall=1
交互模式
交互模式可帮助覆盖每个端口的版本检测结果。使用以下参数启用交互模式:
--script-args vulscaninteractive=1
报告
所有匹配结果都逐行打印,默认布局是:
[{id}] {title}\n
可以使用带有以下参数的另一个预定义报告结构:
--script-args vulscanoutput=details
--script-args vulscanoutput=listid
--script-args vulscanoutput=listlink
--script-args vulscanoutput=listtitle
可以使用以下参数(一些示例)来强制执行您的报告结构:
--script-args
--script-args
--script-args
支持动态报告模板的以下元素:
- {id} - 漏洞的 ID
- {title} - 漏洞的标题
- {matches} - 匹配数
- {product} - 匹配的产品字符串
- {version} - 匹配的版本字符串
- {link} - 漏洞数据库条目的链接
- \n - 换行
- \t - 标签
每个默认数据库都带有一个 url 和一个链接,它们在扫描期间使用,并且可以在自定义报告模板中作为 {link} 访问。要使用自定义数据库链接,请使用以下参数:
--script-args "vulscandblink=http://example.org/{id}"