Skeleton简称:骨架;
在本节中,我们将看看一个Skeleton漏洞利用来开始构建我们的dotDefender PoC。
我们将从Skeleton中的一些特定事情开始,这些漏洞需要使用。直到结束,描述不是必需的,所以我们现在不会担心它们。
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/framework/
##
require 'msf/core'
class Metasploit3 > Msf::Exploit::Remote
Rank = Average
include Msf::Exploit::Remote::HttpClient
include Msf::Exploit::Remote::HttpServer::HTML
def initialize(info={})
super(update_info(info,
'Name' => "dotDefender >= 3.8-5 No Authentication Remote Code Execution Through XSS",
'Description' => %q{
This module exploits a vulnerability found in dotDefender.
},
'License' => MSF_LICENSE,
'Author' =>
[
'John Dos', #Initial remote execution discovery
'rAWjAW' #Everything else
],
'References' =>
[
['EDB', '14310'],
['URL', 'http://www.exploit-db.com/exploits/14310/']
],
'Arch' => ARCH_CMD,
'Compat' =>
{
'PayloadType' => 'cmd'
},
'Platform' => ['unix','linux'],
'Targets' =>
[
['dotDefender >= 3.8-5', {}]
],
'Privileged' => false,
'DefaultTarget' => 0))
register_options(
[
], self.class)
end
def exploit
end
end
Exploit类别
class Metasploit3 > Msf::Exploit::Remote
这是定义我们正在创建什么类型的漏洞。这个漏洞实际上是两个不同的东西串在一起,但最初的日志创建和服务器利用是针对目标服务器的远程攻击。
Exploit包括
include Msf::Exploit::Remote::HttpClient
include Msf::Exploit::Remote::HttpServer::HTML
以上两行都是必需的,因为我们需要将数据包发送到目标服务器,并承载恶意JavaScript。
Payload限制
'Arch' => ARCH_CMD,
'Compat' =>
{
'PayloadType' => 'cmd'
},
'Platform' => ['unix','linux'],
该漏洞利用已启用“nc -e”选项的Ubuntu服务器创建并测试,与Metasploitable一样。上面让我们将有效负载限制在unix / linux机器和命令执行。如果我们想创建一个跨多个操作系统的脚本,我们现在可以在将来进一步扩展,但现在我们只是想获得任何有效的利用。