首页 >> 网络安全 >>神兵利器 >> vulscan - 使用 Nmap 进行漏洞扫描
详细内容

vulscan - 使用 Nmap 进行漏洞扫描

时间:2021-12-02        阅读

vulscan - 使用 Nmap 进行漏洞扫描介绍

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

1.png

安装

请将文件安装到 Nmap 安装的以下文件夹中:

Nmap\scripts\vulscan\*

像这样克隆 GitHub 存储库:

git clone https://github.com/scipag/vulscan scipag_vulscan
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan

用法

您必须运行以下最小命令来启动简单的漏洞扫描:

nmap -sV --script=vulscan/vulscan.nse www.example.com

漏洞数据库

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

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

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

<id>;<title>

只需像引用预先提供的数据库之一一样执行 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 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}"

技术支持: 建站ABC | 管理登录