Vulscan使用 Nmap 进行漏洞扫描

联合创作 · 2023-09-26 21:55

Vulscan 是一个将 nmap 增强为漏洞扫描器的模块。nmap 选项 -sV 启用每个服务的版本检测,用于根据识别的产品确定潜在缺陷。在离线版本的 VulDB 中查找数据。

漏洞数据库

目前有以下预安装的数据库可用:

单数据库模式

可以使用以下参数执行 vulscan 以使用单个数据库:

--script-args vulscandb=your_own_database 

也可以创建和引用自己的数据库。需要创建一个数据库文件,其结构如下:

<id>;<title> 

只需像引用预先提供的数据库之一一样执行 vulscan。

更新数据库

漏洞数据库会定期更新和组装。要支持最新披露的漏洞,请保持本地漏洞数据库是最新的。

如果要更新数据库,请访问以下网站并下载这些文件:

将文件复制到 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 vulscanoutput='{link}\n{title}\n\n' --script-args vulscanoutput='ID: {id} - Title: {title} ({matches})\n' --script-args vulscanoutput='{id} | {product} | {version}\n' 

支持动态报告模板的以下元素:

  • {id} - 漏洞的 ID
  • {title} - 漏洞的标题
  • {matches} - 匹配数
  • {product} - 匹配的产品字符串
  • {version} - 匹配的版本字符串
  • {link} - 漏洞数据库条目的链接
  • \n - 换行
  • \t - 标签

每个默认数据库都带有一个 url 和一个链接,它们在扫描期间使用,并且可以在自定义报告模板中作为 {link} 访问。要使用自定义数据库链接,请使用以下参数:

--script-args "vulscandblink=http://example.org/{id}"
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报