metasploit-payloads 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/metasploit-payloads.rb +25 -17
- data/lib/metasploit-payloads/version.rb +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e0ef667259cb500ad14f6990fa77ef1fe5af5c9
|
4
|
+
data.tar.gz: 39aec139c0cf4eed41529cec436e6769850a76e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 740a16fa2292e855c560d270383ffc98730c3bee76019e58691f401aae17b552975c43ce70f3e515bf261448c5d126cf64b873834f5c6bde7287b7d6362b69c3
|
7
|
+
data.tar.gz: 676dde7a59ac14f0fadebbe4f2e23747852f04b802a7fa21666fb2554683faff3b50c13be202b8e19a6e5322bc5d24e4198d696e37c661a745fd7db8c43696f6
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/metasploit-payloads.rb
CHANGED
@@ -10,27 +10,29 @@ end
|
|
10
10
|
module MetasploitPayloads
|
11
11
|
EXTENSION_PREFIX = 'ext_server_'
|
12
12
|
METERPRETER_SUBFOLDER = 'meterpreter'
|
13
|
+
USER_DATA_SUBFOLDER = 'payloads'
|
13
14
|
|
14
15
|
#
|
15
16
|
# Get the path to an extension based on its name (no prefix).
|
16
17
|
#
|
17
18
|
def self.meterpreter_ext_path(ext_name, binary_suffix)
|
18
|
-
path("#{EXTENSION_PREFIX}#{ext_name}"
|
19
|
+
path(METERPRETER_SUBFOLDER, "#{EXTENSION_PREFIX}#{ext_name}.#{binary_suffix}")
|
19
20
|
end
|
20
21
|
|
21
|
-
def self.readable_path(gem_path,
|
22
|
+
def self.readable_path(gem_path, *extra_paths)
|
22
23
|
# Try the MSF path first to see if the file exists, allowing the MSF data
|
23
24
|
# folder to override what is in the gem. This is very helpful for
|
24
25
|
# testing/development without having to move the binaries to the gem folder
|
25
26
|
# each time. We only do this is MSF is installed.
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
return gem_path
|
27
|
+
extra_paths.each do |extra_path|
|
28
|
+
if ::File.readable? extra_path
|
29
|
+
warn_local_path(extra_path) if ::File.readable? gem_path
|
30
|
+
return extra_path
|
31
|
+
end
|
32
32
|
end
|
33
33
|
|
34
|
+
return gem_path if ::File.readable? gem_path
|
35
|
+
|
34
36
|
nil
|
35
37
|
end
|
36
38
|
|
@@ -38,12 +40,7 @@ module MetasploitPayloads
|
|
38
40
|
# Get the path to a meterpreter binary by full name.
|
39
41
|
#
|
40
42
|
def self.meterpreter_path(name, binary_suffix)
|
41
|
-
|
42
|
-
gem_path = expand(local_meterpreter_dir, file_name)
|
43
|
-
if metasploit_installed?
|
44
|
-
msf_path = expand(msf_meterpreter_dir, file_name)
|
45
|
-
end
|
46
|
-
readable_path(gem_path, msf_path)
|
43
|
+
path(METERPRETER_SUBFOLDER, "#{name}.#{binary_suffix}".downcase)
|
47
44
|
end
|
48
45
|
|
49
46
|
#
|
@@ -52,9 +49,10 @@ module MetasploitPayloads
|
|
52
49
|
def self.path(*path_parts)
|
53
50
|
gem_path = expand(data_directory, ::File.join(path_parts))
|
54
51
|
if metasploit_installed?
|
52
|
+
user_path = expand(Msf::Config.config_directory, ::File.join(USER_DATA_SUBFOLDER, path_parts))
|
55
53
|
msf_path = expand(Msf::Config.data_directory, ::File.join(path_parts))
|
56
54
|
end
|
57
|
-
readable_path(gem_path, msf_path)
|
55
|
+
readable_path(gem_path, user_path, msf_path)
|
58
56
|
end
|
59
57
|
|
60
58
|
#
|
@@ -80,7 +78,10 @@ module MetasploitPayloads
|
|
80
78
|
|
81
79
|
# Find the valid extensions in the data folder first, if MSF
|
82
80
|
# is installed.
|
83
|
-
|
81
|
+
if metasploit_installed?
|
82
|
+
root_dirs.unshift(msf_meterpreter_dir)
|
83
|
+
root_dirs.unshift(user_meterpreter_dir)
|
84
|
+
end
|
84
85
|
|
85
86
|
root_dirs.each do |dir|
|
86
87
|
# Merge in any that don't already exist in the collection.
|
@@ -106,6 +107,13 @@ module MetasploitPayloads
|
|
106
107
|
::File.join(Msf::Config.data_directory, METERPRETER_SUBFOLDER)
|
107
108
|
end
|
108
109
|
|
110
|
+
#
|
111
|
+
# Full path to the user's MSF data folder which contains the meterpreter binaries.
|
112
|
+
#
|
113
|
+
def self.user_meterpreter_dir
|
114
|
+
::File.join(Msf::Config.config_directory, USER_DATA_SUBFOLDER, METERPRETER_SUBFOLDER)
|
115
|
+
end
|
116
|
+
|
109
117
|
#
|
110
118
|
# Full path to the local gem folder which contains the meterpreter binaries.
|
111
119
|
#
|
@@ -149,7 +157,7 @@ module MetasploitPayloads
|
|
149
157
|
unless @local_paths.include?(path)
|
150
158
|
STDERR.puts("WARNING: Local file #{path} is being used")
|
151
159
|
if @local_paths.empty?
|
152
|
-
STDERR.puts('WARNING: Local files may be incompatible Metasploit
|
160
|
+
STDERR.puts('WARNING: Local files may be incompatible with the Metasploit Framework')
|
153
161
|
end
|
154
162
|
@local_paths << path
|
155
163
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metasploit-payloads
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OJ Reeves
|
@@ -88,7 +88,7 @@ cert_chain:
|
|
88
88
|
2SpuQH+SWteq3NXkAmFEEqvLJQ4sbptZt8OP8ghL3pVAvZNFmww/YVszSkShSzcg
|
89
89
|
QdihYCSEL2drS2cFd50jBeq71sxUtxbv82DUa2b+
|
90
90
|
-----END CERTIFICATE-----
|
91
|
-
date: 2016-03-
|
91
|
+
date: 2016-03-14 00:00:00.000000000 Z
|
92
92
|
dependencies:
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: bundler
|
metadata.gz.sig
CHANGED
Binary file
|