Metasploit Framework的 module 模板结构

Metasploit Framework简称msf,是一个渗透测试平台,集成大量可用于渗透测试的模块,并且提供了模块的统一编写规范,可自行按照规范编写模块,并允许在自己的模块包含平台中的其他模块,最后把模块集成到 msf 中即可使用。因此,msf 既是一款工具,也是一个平台。

exploit模板

msf 的模块主要用 Ruby 语言编写,为什么是主要呢?因为在新版本中也给出了 python 的模板。

以实现 exploit 模块为例子,官方给出的针对 web 服务的模板文件在 metasploit-framework/modules/exploits/example_webapp.rb。

简化一下模板:

#
# 编写一个web的exploit模块,首先要继承 Msf::Exploit::Remote;
# 如果编写 auxiliary 模块,就继承 Msf::Auxiliary。
#
class MetasploitModule < Msf::Exploit::Remote
  # Rank 表示这个模块的可靠性,根据目标范围、利用条件、利用难度设置的等级,NormalRanking表示
  # 这个模块针对的是目标系统的特定版本,并且不能有效地自动探测。
  Rank = NormalRanking

  #
  # 这个模块针对的是 web 服务,因此需要包含 HttpClient 模块与目标服务器交互,包含之后
  # 就给这个模块提供了几个参数的设置:RHOSTS、RPORT、SSL、VHOST。
  # 如果用过 msf 的话,应该知道它们分别是目标的主机名,端口,是否开启SSL,HTTP-Host头部。
  #
  include Msf::Exploit::Remote::HttpClient

  # 初始化方法,模块加载时首先执行
  def initialize(info = {})
    super(
      # 有关模块的描述信息
      update_info(
        info,
        'Name'           => 'Sample Webapp Exploit',
        'Description'    => %q(
            This exploit module illustrates how a vulnerability could be exploited
          in a webapp.
        ),
        'License'        => MSF_LICENSE,
        'Author'         =>
          [
            'h00die <mike@stcyrsecurity.com>', # msf module
            'researcher' # original PoC, analysis
          ],
        'References'     =>
          [
            [ 'OSVDB', '12345' ],
            [ 'EDB', '12345' ],
            [ 'URL', 'http://www.example.com'],
            [ 'CVE', '1978-1234']
          ],
        'Platform'       => ['python'],
        'Privileged'     => false,0
        'Arch'           => ARCH_PYTHON,
        'Targets'        =>
          [
            [ 'Au
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值