Skip to content

定义模块可靠性副作用和稳定性

L edited this page May 23, 2022 · 1 revision

新的 Metasploit 模块现在需要包含一个 Notes 部分, 其中包含与运行该模块相关的 StabilityReliabilitySideEffects 等附加信息.

示例:

  def initialize(info = {})
    super(
      update_info(
        info,
        'Name' => 'Module name',
        'Description' => %q{
          Module description
        },
        'Author' =>
          [
            'Author name'
          ],
        'License' => MSF_LICENSE,
        'References' =>
          [
            ['CVE', '2020-XXXX']
          ],
        'DisclosureDate' => '2020-03-26',
        'Platform' => 'ruby',
        'Arch' => ARCH_RUBY,
        'Privileged' => false,
        'Targets' => [['Automatic', {}]],
        'DefaultTarget' => 0,
        # 所有新模块必须包含以下信息. 有关允许值的更多详细信息, 请参见下文
        'Notes' => {
          'Stability' => [...],
          'Reliability' => [...],
          'SideEffects' => [...]
        }
      )
    )
  end

允许的值

Stability - 稳定性

常量 描述
CRASH_SAFE 模块不会使服务或操作系统崩溃
CRASH_SERVICE_RESTARTS 模块可能会导致服务崩溃, 但它会重新启动
CRASH_SERVICE_DOWN 模块可能会导致服务崩溃, 并保持关闭状态
CRASH_OS_RESTARTS 模块可能会导致操作系统崩溃, 但它会重新启动
CRASH_OS_DOWN 模块可能会导致操作系统崩溃, 但它会重新启动, 并保持关闭状态
SERVICE_RESOURCE_LOSS 模块导致资源对服务不可用
OS_RESOURCE_LOSS 模块导致资源对操作系统不可用

Side Effects - 副作用

常量 描述
ARTIFACTS_ON_DISK 模块在目标机器上留下有效载荷、投递器等
CONFIG_CHANGES 模块修改了一些配置文件
IOC_IN_LOGS 模块在日志中留下了可疑的 log
ACCOUNT_LOCKOUTS 模块可能会导致帐户锁定
SCREEN_EFFECTS 模块在屏幕上显示人类可能会注意到的内容
PHYSICAL_EFFECTS 模块可能会在硬件中产生物理效果 (例如: 光、声或热)
AUDIO_EFFECTS 模块可能会产生噪音 (例如: 扬声器的音频输出或硬件哔声)

Reliability - 可靠性

常量 描述
FIRST_ATTEMPT_FAIL 模块第一次尝试可能会失败
REPEATABLE_SESSION 该模块预计每次运行时都会获得一个 shell
UNRELIABLE_SESSION 该模块预计不会可靠地获得 shell (例如只有一次)
Clone this wiki locally