Skip to content

Exploit 可靠性等级

L edited this page May 10, 2020 · 1 revision

已根据每个漏洞利用模块对目标系统的潜在影响为其分配了等级. 用户可以根据排名对漏洞利用进行搜索, 分类和优先级排序.

通过在模块的类声明的顶部添加 Rank 常量来实现排名:

class MetasploitModule < Msf::Exploit
    Rank = LowRanking
    def initialize(info={})
        ...
    end
    ...
end

排名值如下, 按照可靠性的降序排列:

等级 描述
ExcellentRanking 漏洞利用永远不会使服务崩溃. SQL 注入, CMD 执行, RFI, LFI 等就是属于该等级. 除非有特殊情况, 否则不应该将典型的内存破坏漏洞授予该排名. (WMF Escape())
GreatRanking 该漏洞利用有一个默认目标, 并在版本检查后自动检测适当的目标或使用特定于应用程序的返回地址.
GoodRanking 该漏洞利用有一个默认目标, 它是这种软件的 "常见案例" (英文版, 用于桌面应用程序的 Windows 7, 用于服务器的 2012 等) .
NormalRanking 该漏洞在其他方面是可靠的, 但取决于特定的版本, 并且不能 (或不能) 可靠地自动检测.
AverageRanking 该利用通常是不可靠的或难以利用的.
LowRanking 对于普通平台, 几乎不可能利用该漏洞利用程序 (或成功率低于 50%) .
ManualRanking 该利用程序不稳定或难以利用, 基本上是 DoS. 除非用户特别配置(如 exploit/unix/webapp/php_eval), 否则在模块无用的情况下也会使用此排名.

排名值可用于模块类对象以及实例, 如下所示:

modcls = framework.exploits["windows/browser/ie_createobject"]
modcls.rank      # => 600
modcls.rank_to_s # => "excellent"

mod = modcls.new
mod.rank      # => 600
mod.rank_to_s # => "excellent"
Clone this wiki locally