diff --git a/modules/payloads/adapters/cmd/linux/http/ppc64le.rb b/modules/payloads/adapters/cmd/linux/http/ppc64le.rb new file mode 100644 index 0000000000..5fda32bcb7 --- /dev/null +++ b/modules/payloads/adapters/cmd/linux/http/ppc64le.rb @@ -0,0 +1,25 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +module MetasploitModule + include Msf::Payload::Adapter::Fetch::HTTP + include Msf::Payload::Adapter::Fetch::LinuxOptions + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'HTTP Fetch', + 'Description' => 'Fetch and execute a PPC64LE payload from an HTTP server.', + 'Author' => ['Brendan Watters', 'Spencer McIntyre'], + 'Platform' => 'linux', + 'Arch' => ARCH_CMD, + 'License' => MSF_LICENSE, + 'AdaptedArch' => ARCH_PPC64LE, + 'AdaptedPlatform' => 'linux' + ) + ) + end +end diff --git a/modules/payloads/adapters/cmd/linux/https/ppc64le.rb b/modules/payloads/adapters/cmd/linux/https/ppc64le.rb new file mode 100644 index 0000000000..b860d35bca --- /dev/null +++ b/modules/payloads/adapters/cmd/linux/https/ppc64le.rb @@ -0,0 +1,25 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +module MetasploitModule + include Msf::Payload::Adapter::Fetch::Https + include Msf::Payload::Adapter::Fetch::LinuxOptions + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'HTTPS Fetch', + 'Description' => 'Fetch and execute a PPC64LE payload from an HTTPS server.', + 'Author' => ['Brendan Watters', 'Spencer McIntyre'], + 'Platform' => 'linux', + 'Arch' => ARCH_CMD, + 'License' => MSF_LICENSE, + 'AdaptedArch' => ARCH_PPC64LE, + 'AdaptedPlatform' => 'linux' + ) + ) + end +end diff --git a/modules/payloads/adapters/cmd/linux/tftp/ppc64le.rb b/modules/payloads/adapters/cmd/linux/tftp/ppc64le.rb new file mode 100644 index 0000000000..96f84501f9 --- /dev/null +++ b/modules/payloads/adapters/cmd/linux/tftp/ppc64le.rb @@ -0,0 +1,25 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +module MetasploitModule + include Msf::Payload::Adapter::Fetch::TFTP + include Msf::Payload::Adapter::Fetch::LinuxOptions + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'TFTP Fetch', + 'Description' => 'Fetch and execute a PPC64LE payload from a TFTP server.', + 'Author' => ['Brendan Watters', 'Spencer McIntyre'], + 'Platform' => 'linux', + 'Arch' => ARCH_CMD, + 'License' => MSF_LICENSE, + 'AdaptedArch' => ARCH_PPC64LE, + 'AdaptedPlatform' => 'linux' + ) + ) + end +end diff --git a/spec/modules/payloads_spec.rb b/spec/modules/payloads_spec.rb index 70e051b3f9..a067282c01 100644 --- a/spec/modules/payloads_spec.rb +++ b/spec/modules/payloads_spec.rb @@ -724,6 +724,30 @@ RSpec.describe 'modules/payloads', :content do ], reference_name: 'cmd/linux/tftp/ppc64' end + + context 'cmd/linux/http/ppc64le' do + it_should_behave_like 'payload is not cached', + ancestor_reference_names: [ + 'adapters/cmd/linux/http/ppc64le' + ], + reference_name: 'cmd/linux/http/ppc64le' + end + + context 'cmd/linux/https/ppc64le' do + it_should_behave_like 'payload is not cached', + ancestor_reference_names: [ + 'adapters/cmd/linux/https/ppc64le' + ], + reference_name: 'cmd/linux/https/ppc64le' + end + + context 'cmd/linux/tftp/ppc64le' do + it_should_behave_like 'payload is not cached', + ancestor_reference_names: [ + 'adapters/cmd/linux/tftp/ppc64le' + ], + reference_name: 'cmd/linux/tftp/ppc64le' + end context 'cmd/linux/http/x86' do it_should_behave_like 'payload is not cached',