metasploit_data_models 6.0.5 → 6.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/app/models/mdm/event.rb +2 -2
- data/app/models/mdm/listener.rb +2 -2
- data/app/models/mdm/session.rb +2 -2
- data/app/models/mdm/task.rb +6 -6
- data/app/models/mdm/web_vuln.rb +2 -2
- data/cortex.yaml +2 -0
- data/lib/metasploit_data_models/base64_serializer.rb +26 -2
- data/lib/metasploit_data_models/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8729f3b36a9dba01a242ef1771a411729d487ea4a46cdef91738089c9d6844dc
|
4
|
+
data.tar.gz: 7cf123db2f63c885f9b6ba349310a93f14ce594929975df5d83b5dc0376757b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27a0720202b2b0b528ad7018fedbe095432f36be5fc2a3c8f6adc3f7aead9465930fdf0a0a69d373bdf83070a824a8e10b2ce0ce812f7e3f72c801920fe14b76
|
7
|
+
data.tar.gz: 6c8e79021ddb0d9b9cefbd1944f2b6d1f92c2dd51866373975996a7ea4c18c058e0acfc7b4c8b6283425def448a75956bced3fa9343b4716d5c333f44da6a3e8
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/app/models/mdm/event.rb
CHANGED
@@ -73,9 +73,9 @@ class Mdm::Event < ApplicationRecord
|
|
73
73
|
#
|
74
74
|
# @return [Hash]
|
75
75
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
76
|
-
serialize :info, coder: MetasploitDataModels::Base64Serializer.new
|
76
|
+
serialize :info, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
|
77
77
|
else
|
78
|
-
serialize :info, MetasploitDataModels::Base64Serializer.new
|
78
|
+
serialize :info, MetasploitDataModels::Base64Serializer.new(coerce: true)
|
79
79
|
end
|
80
80
|
|
81
81
|
#
|
data/app/models/mdm/listener.rb
CHANGED
@@ -70,9 +70,9 @@ class Mdm::Listener < ApplicationRecord
|
|
70
70
|
#
|
71
71
|
# @return [Hash]
|
72
72
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
73
|
-
serialize :options, coder: MetasploitDataModels::Base64Serializer.new
|
73
|
+
serialize :options, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
|
74
74
|
else
|
75
|
-
serialize :options, MetasploitDataModels::Base64Serializer.new
|
75
|
+
serialize :options, MetasploitDataModels::Base64Serializer.new(coerce: true)
|
76
76
|
end
|
77
77
|
|
78
78
|
#
|
data/app/models/mdm/session.rb
CHANGED
@@ -173,9 +173,9 @@ class Mdm::Session < ApplicationRecord
|
|
173
173
|
#
|
174
174
|
|
175
175
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
176
|
-
serialize :datastore, coder: ::MetasploitDataModels::Base64Serializer.new
|
176
|
+
serialize :datastore, coder: ::MetasploitDataModels::Base64Serializer.new(coerce: true)
|
177
177
|
else
|
178
|
-
serialize :datastore, ::MetasploitDataModels::Base64Serializer.new
|
178
|
+
serialize :datastore, ::MetasploitDataModels::Base64Serializer.new(coerce: true)
|
179
179
|
end
|
180
180
|
|
181
181
|
# Returns whether the session can be upgraded to a meterpreter session from a shell session on Windows.
|
data/app/models/mdm/task.rb
CHANGED
@@ -131,27 +131,27 @@ class Mdm::Task < ApplicationRecord
|
|
131
131
|
#
|
132
132
|
# @return [Hash]
|
133
133
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
134
|
-
serialize :options, coder: MetasploitDataModels::Base64Serializer.new
|
134
|
+
serialize :options, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
|
135
135
|
else
|
136
|
-
serialize :options, MetasploitDataModels::Base64Serializer.new
|
136
|
+
serialize :options, MetasploitDataModels::Base64Serializer.new(coerce: true)
|
137
137
|
end
|
138
138
|
|
139
139
|
# Result of task running.
|
140
140
|
#
|
141
141
|
# @return [Hash]
|
142
142
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
143
|
-
serialize :result, coder: MetasploitDataModels::Base64Serializer.new
|
143
|
+
serialize :result, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
|
144
144
|
else
|
145
|
-
serialize :result, MetasploitDataModels::Base64Serializer.new
|
145
|
+
serialize :result, MetasploitDataModels::Base64Serializer.new(coerce: true)
|
146
146
|
end
|
147
147
|
|
148
148
|
# Settings used to configure this task outside of the {#options module options}.
|
149
149
|
#
|
150
150
|
# @return [Hash]
|
151
151
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
152
|
-
serialize :settings, coder: MetasploitDataModels::Base64Serializer.new
|
152
|
+
serialize :settings, coder: MetasploitDataModels::Base64Serializer.new(coerce: true)
|
153
153
|
else
|
154
|
-
serialize :settings, MetasploitDataModels::Base64Serializer.new
|
154
|
+
serialize :settings, MetasploitDataModels::Base64Serializer.new(coerce: true)
|
155
155
|
end
|
156
156
|
|
157
157
|
#
|
data/app/models/mdm/web_vuln.rb
CHANGED
@@ -142,9 +142,9 @@ class Mdm::WebVuln < ApplicationRecord
|
|
142
142
|
#
|
143
143
|
# @return [Array<Array(String, String)>] Array of parameter key value pairs
|
144
144
|
if ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 1
|
145
|
-
serialize :params, coder: MetasploitDataModels::Base64Serializer.new(:
|
145
|
+
serialize :params, coder: MetasploitDataModels::Base64Serializer.new(default: DEFAULT_PARAMS)
|
146
146
|
else
|
147
|
-
serialize :params, MetasploitDataModels::Base64Serializer.new(:
|
147
|
+
serialize :params, MetasploitDataModels::Base64Serializer.new(default: DEFAULT_PARAMS)
|
148
148
|
end
|
149
149
|
|
150
150
|
#
|
data/cortex.yaml
CHANGED
@@ -15,6 +15,10 @@ class MetasploitDataModels::Base64Serializer
|
|
15
15
|
|
16
16
|
# The default for {#default}
|
17
17
|
DEFAULT = {}
|
18
|
+
|
19
|
+
# The default for {#coerce}
|
20
|
+
COERCE_DEFAULT = false
|
21
|
+
|
18
22
|
# Deserializers for {#load}
|
19
23
|
# 1. Base64 decoding and then unmarshalling the value.
|
20
24
|
# 2. Parsing the value as YAML.
|
@@ -47,6 +51,24 @@ class MetasploitDataModels::Base64Serializer
|
|
47
51
|
end
|
48
52
|
|
49
53
|
attr_writer :default
|
54
|
+
attr_writer :coerce
|
55
|
+
|
56
|
+
# Recursively coerce the object that has been passed in, keeping primitive types as their original type,
|
57
|
+
# while changing objects that cannot be serialized into a string representation of the object data.
|
58
|
+
def coerce_object(value)
|
59
|
+
case value
|
60
|
+
when Hash
|
61
|
+
value.transform_values { |v| coerce_object(v) }
|
62
|
+
when Array
|
63
|
+
value.map { |v| coerce_object(v) }
|
64
|
+
when File, IO
|
65
|
+
value.inspect
|
66
|
+
when String, Integer, Float, TrueClass, FalseClass, NilClass, Symbol
|
67
|
+
value
|
68
|
+
else
|
69
|
+
value.to_s
|
70
|
+
end
|
71
|
+
end
|
50
72
|
|
51
73
|
# Serializes the value by marshalling the value and then base64 encodes the marshaled value.
|
52
74
|
#
|
@@ -54,7 +76,8 @@ class MetasploitDataModels::Base64Serializer
|
|
54
76
|
# @return [String]
|
55
77
|
def dump(value)
|
56
78
|
# Always store data back in the Marshal format
|
57
|
-
|
79
|
+
to_serialize = @coerce ? coerce_object(value) : value
|
80
|
+
marshalled = Marshal.dump(to_serialize)
|
58
81
|
base64_encoded = [ marshalled ].pack('m')
|
59
82
|
|
60
83
|
base64_encoded
|
@@ -63,9 +86,10 @@ class MetasploitDataModels::Base64Serializer
|
|
63
86
|
# @param attributes [Hash] attributes
|
64
87
|
# @option attributes [Object] :default ({}) Value to use for {#default}.
|
65
88
|
def initialize(attributes={})
|
66
|
-
attributes.assert_valid_keys(:default)
|
89
|
+
attributes.assert_valid_keys(:default, :coerce)
|
67
90
|
|
68
91
|
@default = attributes.fetch(:default, DEFAULT)
|
92
|
+
@coerce = attributes.fetch(:coerce, COERCE_DEFAULT)
|
69
93
|
end
|
70
94
|
|
71
95
|
# Deserializes the value by either
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metasploit_data_models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.
|
4
|
+
version: 6.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Metasploit Hackers
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
DgscAao7wB3xW2BWEp1KnaDWkf1x9ttgoBEYyuYwU7uatB67kBQG1PKvLt79wHvz
|
35
35
|
Dxs+KOjGbBRfMnPgVGYkORKVrZIwlaboHbDKxcVW5xv+oZc7KYXWGg==
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date:
|
37
|
+
date: 2025-02-13 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: metasploit-yard
|
@@ -727,7 +727,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
727
727
|
- !ruby/object:Gem::Version
|
728
728
|
version: '0'
|
729
729
|
requirements: []
|
730
|
-
rubygems_version: 3.3.
|
730
|
+
rubygems_version: 3.3.3
|
731
731
|
signing_key:
|
732
732
|
specification_version: 4
|
733
733
|
summary: Database code for MSF and Metasploit Pro
|
metadata.gz.sig
CHANGED
@@ -1,2 +1,4 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
`�U��3uEh?�v��N>���I��&z)_ ����&�(WBͭ�J�b�iNb�R�4D��>;4�6�5���4D���Z����ޤ�7�y�z���4�^N
|
2
|
+
��
|
3
|
+
���}R�r)�B�eo�G����5���Xw��U ���hWXefI�sOԅ���@�T{�L���>�>�b�z�ȧ�S���d�����-��k��7NXb�P�=���+w���ԭ��,G��%k;���
|
4
|
+
T�8�\���//�r�i>�%FE���V�����G�Սk�� g/R
|