Skip to content

Commit 082a894

Browse files
author
Brent Cook
committed
Land rapid7#7694, Initial stageless mettle payloads
2 parents 7aa743b + ccba73b commit 082a894

18 files changed

+737
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# -*- coding: binary -*-
2+
3+
require 'msf/base/sessions/meterpreter'
4+
5+
module Msf
6+
module Sessions
7+
8+
###
9+
#
10+
# This class creates a platform-specific meterpreter session type
11+
#
12+
###
13+
class Meterpreter_aarch64_Linux < Msf::Sessions::Meterpreter
14+
def supports_ssl?
15+
false
16+
end
17+
def supports_zlib?
18+
false
19+
end
20+
def initialize(rstream, opts={})
21+
super
22+
self.base_platform = 'linux'
23+
self.base_arch = ARCH_AARCH64
24+
end
25+
end
26+
27+
end
28+
end
29+
30+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: binary -*-
2+
3+
require 'msf/base/sessions/meterpreter'
4+
5+
module Msf
6+
module Sessions
7+
8+
###
9+
#
10+
# This class creates a platform-specific meterpreter session type
11+
#
12+
###
13+
class Meterpreter_armbe_Linux < Msf::Sessions::Meterpreter
14+
def supports_ssl?
15+
false
16+
end
17+
def supports_zlib?
18+
false
19+
end
20+
def initialize(rstream, opts={})
21+
super
22+
self.base_platform = 'linux'
23+
self.base_arch = ARCH_ARMBE
24+
end
25+
end
26+
27+
end
28+
end
29+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: binary -*-
2+
3+
require 'msf/base/sessions/meterpreter'
4+
5+
module Msf
6+
module Sessions
7+
8+
###
9+
#
10+
# This class creates a platform-specific meterpreter session type
11+
#
12+
###
13+
class Meterpreter_mips64_Linux < Msf::Sessions::Meterpreter
14+
def supports_ssl?
15+
false
16+
end
17+
def supports_zlib?
18+
false
19+
end
20+
def initialize(rstream, opts={})
21+
super
22+
self.base_platform = 'linux'
23+
self.base_arch = ARCH_MIPS64
24+
end
25+
end
26+
27+
end
28+
end
29+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: binary -*-
2+
3+
require 'msf/base/sessions/meterpreter'
4+
5+
module Msf
6+
module Sessions
7+
8+
###
9+
#
10+
# This class creates a platform-specific meterpreter session type
11+
#
12+
###
13+
class Meterpreter_ppc64le_Linux < Msf::Sessions::Meterpreter
14+
def supports_ssl?
15+
false
16+
end
17+
def supports_zlib?
18+
false
19+
end
20+
def initialize(rstream, opts={})
21+
super
22+
self.base_platform = 'linux'
23+
self.base_arch = ARCH_PPC64LE
24+
end
25+
end
26+
27+
end
28+
end
29+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: binary -*-
2+
3+
require 'msf/base/sessions/meterpreter'
4+
5+
module Msf
6+
module Sessions
7+
8+
###
9+
#
10+
# This class creates a platform-specific meterpreter session type
11+
#
12+
###
13+
class Meterpreter_ppc_Linux < Msf::Sessions::Meterpreter
14+
def supports_ssl?
15+
false
16+
end
17+
def supports_zlib?
18+
false
19+
end
20+
def initialize(rstream, opts={})
21+
super
22+
self.base_platform = 'linux'
23+
self.base_arch = ARCH_PPC
24+
end
25+
end
26+
27+
end
28+
end
29+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: binary -*-
2+
3+
require 'msf/base/sessions/meterpreter'
4+
5+
module Msf
6+
module Sessions
7+
8+
###
9+
#
10+
# This class creates a platform-specific meterpreter session type
11+
#
12+
###
13+
class Meterpreter_zarch_Linux < Msf::Sessions::Meterpreter
14+
def supports_ssl?
15+
false
16+
end
17+
def supports_zlib?
18+
false
19+
end
20+
def initialize(rstream, opts={})
21+
super
22+
self.base_platform = 'linux'
23+
self.base_arch = ARCH_ZARCH
24+
end
25+
end
26+
27+
end
28+
end
29+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
##
2+
# This module requires Metasploit: http://metasploit.com/download
3+
# Current source: https://github.com/rapid7/metasploit-framework
4+
##
5+
6+
require 'msf/core'
7+
require 'msf/core/handler/reverse_tcp'
8+
require 'msf/base/sessions/meterpreter_options'
9+
require 'msf/base/sessions/mettle_config'
10+
require 'msf/base/sessions/meterpreter_aarch64_linux'
11+
12+
module MetasploitModule
13+
14+
CachedSize = 292344
15+
16+
include Msf::Payload::Single
17+
include Msf::Sessions::MeterpreterOptions
18+
include Msf::Sessions::MettleConfig
19+
20+
def initialize(info = {})
21+
super(
22+
update_info(
23+
info,
24+
'Name' => 'Linux Meterpreter',
25+
'Description' => 'Run the mettle server payload (stageless)',
26+
'Author' => [
27+
'Adam Cammack <adam_cammack[at]rapid7.com>'
28+
],
29+
'Platform' => 'linux',
30+
'Arch' => ARCH_AARCH64,
31+
'License' => MSF_LICENSE,
32+
'Handler' => Msf::Handler::ReverseTcp,
33+
'Session' => Msf::Sessions::Meterpreter_aarch64_Linux
34+
)
35+
)
36+
end
37+
38+
def generate
39+
MetasploitPayloads::Mettle.new('aarch64-linux-musl', generate_config).to_binary :exec
40+
end
41+
end
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
##
2+
# This module requires Metasploit: http://metasploit.com/download
3+
# Current source: https://github.com/rapid7/metasploit-framework
4+
##
5+
6+
require 'msf/core'
7+
require 'msf/core/handler/reverse_tcp'
8+
require 'msf/base/sessions/meterpreter_options'
9+
require 'msf/base/sessions/mettle_config'
10+
require 'msf/base/sessions/meterpreter_armbe_linux'
11+
12+
module MetasploitModule
13+
14+
CachedSize = 285000
15+
16+
include Msf::Payload::Single
17+
include Msf::Sessions::MeterpreterOptions
18+
include Msf::Sessions::MettleConfig
19+
20+
def initialize(info = {})
21+
super(
22+
update_info(
23+
info,
24+
'Name' => 'Linux Meterpreter',
25+
'Description' => 'Run the mettle server payload (stageless)',
26+
'Author' => [
27+
'Adam Cammack <adam_cammack[at]rapid7.com>'
28+
],
29+
'Platform' => 'linux',
30+
'Arch' => ARCH_ARMBE,
31+
'License' => MSF_LICENSE,
32+
'Handler' => Msf::Handler::ReverseTcp,
33+
'Session' => Msf::Sessions::Meterpreter_armbe_Linux
34+
)
35+
)
36+
end
37+
38+
def generate
39+
MetasploitPayloads::Mettle.new('armv5b-linux-musleabi', generate_config).to_binary :exec
40+
end
41+
end
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
##
2+
# This module requires Metasploit: http://metasploit.com/download
3+
# Current source: https://github.com/rapid7/metasploit-framework
4+
##
5+
6+
require 'msf/core'
7+
require 'msf/core/handler/reverse_tcp'
8+
require 'msf/base/sessions/meterpreter_options'
9+
require 'msf/base/sessions/mettle_config'
10+
require 'msf/base/sessions/meterpreter_armle_linux'
11+
12+
module MetasploitModule
13+
14+
CachedSize = 284152
15+
16+
include Msf::Payload::Single
17+
include Msf::Sessions::MeterpreterOptions
18+
include Msf::Sessions::MettleConfig
19+
20+
def initialize(info = {})
21+
super(
22+
update_info(
23+
info,
24+
'Name' => 'Linux Meterpreter',
25+
'Description' => 'Run the mettle server payload (stageless)',
26+
'Author' => [
27+
'Adam Cammack <adam_cammack[at]rapid7.com>'
28+
],
29+
'Platform' => 'linux',
30+
'Arch' => ARCH_ARMLE,
31+
'License' => MSF_LICENSE,
32+
'Handler' => Msf::Handler::ReverseTcp,
33+
'Session' => Msf::Sessions::Meterpreter_armle_Linux
34+
)
35+
)
36+
end
37+
38+
def generate
39+
MetasploitPayloads::Mettle.new('armv5l-linux-musleabi', generate_config).to_binary :exec
40+
end
41+
end
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
##
2+
# This module requires Metasploit: http://metasploit.com/download
3+
# Current source: https://github.com/rapid7/metasploit-framework
4+
##
5+
6+
require 'msf/core'
7+
require 'msf/core/handler/reverse_tcp'
8+
require 'msf/base/sessions/meterpreter_options'
9+
require 'msf/base/sessions/mettle_config'
10+
require 'msf/base/sessions/meterpreter_mips64_linux'
11+
12+
module MetasploitModule
13+
14+
CachedSize = 504960
15+
16+
include Msf::Payload::Single
17+
include Msf::Sessions::MeterpreterOptions
18+
include Msf::Sessions::MettleConfig
19+
20+
def initialize(info = {})
21+
super(
22+
update_info(
23+
info,
24+
'Name' => 'Linux Meterpreter',
25+
'Description' => 'Run the mettle server payload (stageless)',
26+
'Author' => [
27+
'Adam Cammack <adam_cammack[at]rapid7.com>'
28+
],
29+
'Platform' => 'linux',
30+
'Arch' => ARCH_MIPS64,
31+
'License' => MSF_LICENSE,
32+
'Handler' => Msf::Handler::ReverseTcp,
33+
'Session' => Msf::Sessions::Meterpreter_mips64_Linux
34+
)
35+
)
36+
end
37+
38+
def generate
39+
MetasploitPayloads::Mettle.new('mips64-linux-muslsf', generate_config).to_binary :exec
40+
end
41+
end

0 commit comments

Comments
 (0)