Vulscan

使用 Nmap 进行漏洞扫描
授权协议 GPL
开发语言 Lua SHELL
所属分类 管理和监控、 漏洞检测扫描和评估
软件类型 开源软件
地区 不详
投 递 者 商佑运
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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}"
  • nmap的nse漏洞扫描脚本的使用命令 https://github.com/scipag/vulscan nmap -sV --script=vulscan/vulscan.nse #使用默认的库进行漏洞扫描 nmap -sV --script=vulscan/vulscan.nse --script-args vulscandb=cve.csv [ip] #使用特定的库cve.csv扫描 nm

 相关资料
  • 漏洞扫描器是一种能够自动在计算机、信息系统、网络及应用软件中寻找和发现安全弱点的程序。它通过网络对目标系统进行探测,向目标系统发生数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举目标系统上存在的安全漏洞。漏洞扫描是保证系统和网络安全必不可少的手段,面对互联网入侵,如果用户能够根据具体的应用环境,尽可能早的通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的

  • 扫描有漏洞的车辆 为了找到有漏洞的车辆,你只需要在IP地址21.0.0.0/8 和 25.0.0.0/8 上扫描Sprint设备的端口6667。任何有响应的设备就是有漏洞的Uconect系统(或一个IRC服务器)。为了确定这一点,你可以尝试Telnet登陆这台设备并查找错误字符串“Unknown command”。 图-扫描设置 如果你想的话,接下来你可以与D-Bus服务交互,从而执行上述的任何操

  • 是否有一个推荐的库来修复与org.apache.commons.beanutils.populate(bean,ParamMap)相关的Bean操纵漏洞?我试图编写一些自定义方法来验证参数映射,但这并没有解决问题。 问候桑杰

  • 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 任意密码找回 这是补天平台上的一个案例: http://www.118114.cn/reg.jsp 首先注册一个账号,然后找回。 我们收到的验证码是六位数。如果网站没有设置频率限制,或者最大尝试次数限制的话,那我们自然就会想到可以爆破它。 然后抓提交手机验证码的封包,我们可以看到没有任何图片验证码: 发送到 Burp 的 I

  • 在本节中,我们将更加深入地了解Metasploit,我们将看到如何使用它来利用某个服务中存在的漏洞。这是一个代码执行漏洞,可以让我们完全访问目标计算机。回到我们在Nmap中的结果,我们将做与以前一样的事情。复制服务名称,看看它是否有任何漏洞。现在我们查看端口139,它的Samba服务器版本为,就像上一节一样,在Google搜索Samba 3.X漏洞。我们将看到有很多结果,但主要是关于Rapid7方

  • 在该部分内容中,我们继续可利用漏洞的本地应用检查之路,并关注使用返回导向编程(ROP)来达到此目的。ROP是在代码结尾的返回指令中整合现有可执行片段的过程。通过创建这些“玩意儿”地址链可以在不引入任何新代码的情况下写新程序。 记住,在可利用程序的漏洞识别方法上你需要灵活应变。有时候有必要在漏洞利用开发过程中对一个漏洞多次利用。有时,你可能仅想用ROP来让你的shellcode执行,其他情况下,你可

  • 二进制的漏洞利用是破坏编译程序的过程,令程序违反自身的可信边界从而有利于你——攻击者。本部分中我们将聚焦于内存错误。通过利用漏洞来制造软件内存错误,我们可以用某种方式重写恶意程序静态数据,从而提升特定程序的权限(像远程桌面服务器)或通过劫持控制流完成任意操作和运行我们所用的代码。 如果你尝试在已编译的C程序中找bug,知晓你要找的东西是很重要的。从认识你发送的数据被程序用在什么地方开始,如果你的数

  • 讲师:gh0stkey 整理:飞龙 协议:CC BY-NC-SA 4.0 原理 由于开发人员编写源码时,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并交由服务端执行。命令注入攻击中,Web 服务器没有过滤类似system、eval和exec等函数,是该漏洞攻击成功的主要原因。 实例代码 <?php // code-exe.php: $code=@$_GET['code