【译】Metasploit:漏洞利用程序评级

每一个漏洞利用模块基于它们的对目标系统的潜在影响都被标记了一个 Rank 字段。
用户可以基于 Rank 对漏洞利用模块进行搜索,分类以及排序。

模块评级的实现方式是在模块的顶级类(译者注:Ruby 语言的特性,一个 .rb 文件可以是一个 Module 或者一个 Class)中添加一个 Rank 常量

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

Rank 常量的值可以是下面的表格中的其中之一,按照可靠性降序排列。

RankingDescription
ExcellentRanking漏洞利用程序绝对不会使目标服务崩溃,就像 SQL 注入,命令执行,远程文件包含,本地文件包含等等。除非有特殊情况,典型的内存破坏利用程序不可以被评估为该级别。(WMF Escape()
GreatRanking该漏洞利用程序有一个默认的目标系统,并且可以自动检测适当的目标系统,或者在目标服务的版本检查之后可以返回到一个特定于应用的返回地址。(译者注:有些二进制的漏洞利用成功后,需要特别设置 Shell 退出后的返回地址,否则当 Shell 结束后,目标服务器会崩溃掉。)
GoodRankingThe exploit has a default target and it is the “common case” for this type of software (English, Windows 7 for a desktop app, 2012 for server, etc). 该漏洞利用程序有一个默认目标系统,并且是这种类型软件的“常见情况”(英文,桌面应用程序的Windows 7,服务器的2012等)(译者注:这段翻译的不是很懂,因此保留原文)
NormalRanking该漏洞利用程序是可靠的,但是依赖于特定的版本,并且不能或者不能可靠地自动检测。
AverageRanking该漏洞利用程序不可靠或者难以利用。
LowRanking对于通用的平台而言,该漏洞利用程序几乎不能利用(或者低于 50% 的利用成功率)
ManualRanking该漏洞利用程序不稳定或者难以利用并且基于拒绝服务(DOS)。如果一个模块只有在用户特别配置该模块的时候才会被用到,否则该模块不会被使用到,那么也可以评为该等级。(例如:exploit/unix/webapp/php_eval

Rank 的值在模块类对象或者类实例中被设置

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"
    原文作者:王一航
    原文地址: https://www.jianshu.com/p/e5b0e718d8c0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞