metasploit_data_models 0.23.2 → 0.23.3.pre.autoload
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
- data/app/models/mdm/host.rb +3 -1
- data/app/models/metasploit_data_models/automatic_exploitation.rb +11 -0
- data/app/models/metasploit_data_models/ip_address/v4/cidr.rb +0 -2
- data/app/models/metasploit_data_models/ip_address/v4/range.rb +0 -2
- data/app/models/metasploit_data_models/ip_address/v4/segment/nmap/list.rb +0 -2
- data/lib/mdm.rb +43 -0
- data/lib/mdm/module.rb +9 -0
- data/lib/metasploit_data_models.rb +14 -5
- data/lib/metasploit_data_models/base64_serializer.rb +74 -78
- data/lib/metasploit_data_models/change_required_columns_to_null_false.rb +16 -18
- data/lib/metasploit_data_models/engine.rb +23 -18
- data/lib/metasploit_data_models/ip_address.rb +4 -0
- data/lib/metasploit_data_models/ip_address/cidr.rb +0 -2
- data/lib/metasploit_data_models/ip_address/v4.rb +11 -0
- data/lib/metasploit_data_models/ip_address/v4/segment.rb +7 -0
- data/lib/metasploit_data_models/ip_address/v4/segment/nmap.rb +7 -0
- data/lib/metasploit_data_models/match.rb +6 -0
- data/lib/metasploit_data_models/match/child.rb +0 -1
- data/lib/metasploit_data_models/match/parent.rb +0 -2
- data/lib/metasploit_data_models/search.rb +6 -4
- data/lib/metasploit_data_models/search/operation.rb +9 -0
- data/lib/metasploit_data_models/search/operation/port.rb +9 -0
- data/lib/metasploit_data_models/search/operator.rb +8 -0
- data/lib/metasploit_data_models/search/operator/port.rb +6 -0
- data/lib/metasploit_data_models/search/visitor.rb +9 -6
- data/lib/metasploit_data_models/serialized_prefs.rb +7 -9
- data/lib/metasploit_data_models/version.rb +3 -1
- data/metasploit_data_models.gemspec +1 -1
- metadata +193 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b93ef26f85d7b5c8632e2caeecf3ca5f211ec56
|
4
|
+
data.tar.gz: 04711f7ceeed6aeff7c7e4d99e953841c75cbea9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f8c7427a222eb51a66c930fc20d27d96b8aed4efafb56e788429e72b3a3a5b2871e73ebcd7083806b858ab32012f75dab794718c589194d6bc1f9ccf2edb437
|
7
|
+
data.tar.gz: 9f34b0729ee67078f5a8a1f1ac1355af9ff534fe089bce31520fe7fe684276cfb42dd44151bec64853edc2857a4a23051aec4caf891715dfe08e86bf5e6a1a8a
|
data/app/models/mdm/host.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# A system with an {#address IP address} on the network that has been discovered in some way.
|
2
2
|
class Mdm::Host < ActiveRecord::Base
|
3
|
-
|
3
|
+
extend ActiveSupport::Autoload
|
4
|
+
|
5
|
+
autoload :OperatingSystemNormalization
|
4
6
|
|
5
7
|
include Mdm::Host::OperatingSystemNormalization
|
6
8
|
include Metasploit::Model::Search
|
@@ -1,4 +1,15 @@
|
|
1
1
|
module MetasploitDataModels::AutomaticExploitation
|
2
|
+
extend ActiveSupport::Autoload
|
3
|
+
|
4
|
+
autoload :Match
|
5
|
+
autoload :MatchResult
|
6
|
+
autoload :MatchSet
|
7
|
+
autoload :Run
|
8
|
+
|
9
|
+
#
|
10
|
+
# Module Methods
|
11
|
+
#
|
12
|
+
|
2
13
|
def self.table_name_prefix
|
3
14
|
'automatic_exploitation_'
|
4
15
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'metasploit_data_models/ip_address/cidr'
|
2
|
-
|
3
1
|
# An IPv4 CIDR (Classless InterDomain Routing) block composed of a
|
4
2
|
# {MetasploitDataModels::IPAddress::V4::Single IPv4} {MetasploitDataModels::IPAddress::CIDR#address address} and
|
5
3
|
# {MetasploitDataModels::IPAddress::CIDR#prefix_length prefix_length} written in the form `'a.b.c.d/prefix_length'`.
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'metasploit_data_models/match/parent'
|
2
|
-
|
3
1
|
# A comma separated list of {MetasploitDataModels::IPAddress::V4::Segment::Single segment numbers} and
|
4
2
|
# {MetasploitDataModels::IPAddress::V4::Segment::Nmap::Range range of segment numbers} making up one segment of
|
5
3
|
# {MetasploitDataModels::IPAddress::V4::Nmap}.
|
data/lib/mdm.rb
CHANGED
@@ -1,5 +1,48 @@
|
|
1
1
|
# Namespace for models
|
2
2
|
module Mdm
|
3
|
+
extend ActiveSupport::Autoload
|
4
|
+
|
5
|
+
autoload :ApiKey
|
6
|
+
autoload :Client
|
7
|
+
autoload :Cred
|
8
|
+
autoload :Event
|
9
|
+
autoload :ExploitAttempt
|
10
|
+
autoload :ExploitedHost
|
11
|
+
autoload :Host
|
12
|
+
autoload :HostDetail
|
13
|
+
autoload :HostTag
|
14
|
+
autoload :Listener
|
15
|
+
autoload :Loot
|
16
|
+
autoload :Macro
|
17
|
+
autoload :ModRef
|
18
|
+
autoload :Module
|
19
|
+
autoload :NexposeConsole
|
20
|
+
autoload :Note
|
21
|
+
autoload :Profile
|
22
|
+
autoload :Ref
|
23
|
+
autoload :Route
|
24
|
+
autoload :Service
|
25
|
+
autoload :Session
|
26
|
+
autoload :SessionEvent
|
27
|
+
autoload :Tag
|
28
|
+
autoload :Task
|
29
|
+
autoload :TaskCred
|
30
|
+
autoload :TaskHost
|
31
|
+
autoload :TaskService
|
32
|
+
autoload :TaskSession
|
33
|
+
autoload :User
|
34
|
+
autoload :Vuln
|
35
|
+
autoload :VulnAttempt
|
36
|
+
autoload :VulnDetail
|
37
|
+
autoload :VulnRef
|
38
|
+
autoload :WebForm
|
39
|
+
autoload :WebPage
|
40
|
+
autoload :WebSite
|
41
|
+
autoload :WebVuln
|
42
|
+
autoload :WmapRequest
|
43
|
+
autoload :WmapTarget
|
44
|
+
autoload :Workspace
|
45
|
+
|
3
46
|
# Causes the model_name for all Mdm modules to not include the Mdm:: prefix in their name.
|
4
47
|
#
|
5
48
|
# This has been supported since ActiveSupport 3.2.1. In ActiveSupport 3.1.0, it checked for _railtie. Before that
|
data/lib/mdm/module.rb
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
# Namespace for all models dealing with module caching.
|
2
2
|
module Mdm::Module
|
3
|
+
extend ActiveSupport::Autoload
|
3
4
|
|
5
|
+
autoload :Action
|
6
|
+
autoload :Arch
|
7
|
+
autoload :Author
|
8
|
+
autoload :Detail
|
9
|
+
autoload :Mixin
|
10
|
+
autoload :Platform
|
11
|
+
autoload :Ref
|
12
|
+
autoload :Target
|
4
13
|
end
|
@@ -13,7 +13,6 @@ require 'shellwords'
|
|
13
13
|
require 'active_record'
|
14
14
|
require 'active_support'
|
15
15
|
require 'active_support/all'
|
16
|
-
require 'active_support/dependencies'
|
17
16
|
require 'metasploit/concern'
|
18
17
|
require 'metasploit/model'
|
19
18
|
require 'arel-helpers'
|
@@ -21,13 +20,23 @@ require 'arel-helpers'
|
|
21
20
|
#
|
22
21
|
# Project
|
23
22
|
#
|
24
|
-
|
25
|
-
require 'mdm/module'
|
26
|
-
require 'metasploit_data_models/base64_serializer'
|
27
|
-
require 'metasploit_data_models/serialized_prefs'
|
23
|
+
|
28
24
|
require 'metasploit_data_models/version'
|
29
25
|
|
26
|
+
autoload :Mdm, 'mdm'
|
27
|
+
|
30
28
|
module MetasploitDataModels
|
29
|
+
extend ActiveSupport::Autoload
|
30
|
+
|
31
|
+
autoload :AutomaticExploitation
|
32
|
+
autoload :Base64Serializer
|
33
|
+
autoload :ChangeRequiredColumnsToNullFalse
|
34
|
+
autoload :IPAddress
|
35
|
+
autoload :Match
|
36
|
+
autoload :ModuleRun
|
37
|
+
autoload :Search
|
38
|
+
autoload :SerializedPrefs
|
39
|
+
|
31
40
|
def self.root
|
32
41
|
unless instance_variable_defined? :@root
|
33
42
|
lib_pathname = Pathname.new(__FILE__).dirname
|
@@ -8,96 +8,92 @@
|
|
8
8
|
# @example Overriding default to []
|
9
9
|
# serialize :bar, MetasploitDataModels::Base64Serializer.new(:default => [])
|
10
10
|
#
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
#
|
11
|
+
class MetasploitDataModels::Base64Serializer
|
12
|
+
#
|
13
|
+
# CONSTANTS
|
14
|
+
#
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
16
|
+
# The default for {#default}
|
17
|
+
DEFAULT = {}
|
18
|
+
# Deserializers for {#load}
|
19
|
+
# 1. Base64 decoding and then unmarshalling the value.
|
20
|
+
# 2. Parsing the value as YAML.
|
21
|
+
# 3. The raw value.
|
22
|
+
LOADERS = [
|
23
|
+
lambda { |serialized|
|
24
|
+
marshaled = serialized.unpack('m').first
|
25
|
+
# Load the unpacked Marshal object first
|
26
|
+
Marshal.load(marshaled)
|
27
|
+
},
|
28
|
+
lambda { |serialized|
|
29
|
+
# Support legacy YAML encoding for existing data
|
30
|
+
YAML.load(serialized)
|
31
|
+
},
|
32
|
+
lambda { |serialized|
|
33
|
+
# Fall back to string decoding
|
34
|
+
serialized
|
35
|
+
}
|
36
|
+
]
|
38
37
|
|
39
|
-
|
40
|
-
|
41
|
-
|
38
|
+
#
|
39
|
+
# Methods
|
40
|
+
#
|
42
41
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
42
|
+
# Creates a duplicate of default value
|
43
|
+
#
|
44
|
+
# @return
|
45
|
+
def default
|
46
|
+
@default.dup
|
47
|
+
end
|
49
48
|
|
50
|
-
|
49
|
+
attr_writer :default
|
51
50
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
51
|
+
# Serializes the value by marshalling the value and then base64 encodes the marshaled value.
|
52
|
+
#
|
53
|
+
# @param value [Object] value to serialize
|
54
|
+
# @return [String]
|
55
|
+
def dump(value)
|
56
|
+
# Always store data back in the Marshal format
|
57
|
+
marshalled = Marshal.dump(value)
|
58
|
+
base64_encoded = [ marshalled ].pack('m')
|
60
59
|
|
61
|
-
|
62
|
-
|
60
|
+
base64_encoded
|
61
|
+
end
|
63
62
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
# @param attributes [Hash] attributes
|
64
|
+
# @option attributes [Object] :default ({}) Value to use for {#default}.
|
65
|
+
def initialize(attributes={})
|
66
|
+
attributes.assert_valid_keys(:default)
|
68
67
|
|
69
|
-
|
70
|
-
|
68
|
+
@default = attributes.fetch(:default, DEFAULT)
|
69
|
+
end
|
71
70
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
71
|
+
# Deserializes the value by either
|
72
|
+
# 1. Base64 decoding and then unmarshalling the value.
|
73
|
+
# 2. Parsing the value as YAML.
|
74
|
+
# 3. Returns the raw value.
|
75
|
+
#
|
76
|
+
# @param value [String] serialized value
|
77
|
+
# @return [Object]
|
78
|
+
#
|
79
|
+
# @see #default
|
80
|
+
def load(value)
|
81
|
+
loaded = nil
|
83
82
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
end
|
83
|
+
if value.blank?
|
84
|
+
loaded = default
|
85
|
+
else
|
86
|
+
LOADERS.each do |loader|
|
87
|
+
begin
|
88
|
+
loaded = loader.call(value)
|
89
|
+
rescue
|
90
|
+
next
|
91
|
+
else
|
92
|
+
break
|
95
93
|
end
|
96
94
|
end
|
97
|
-
|
98
|
-
loaded
|
99
95
|
end
|
96
|
+
|
97
|
+
loaded
|
100
98
|
end
|
101
99
|
end
|
102
|
-
|
103
|
-
|
@@ -1,23 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
self.class::
|
11
|
-
change_column_null(self.class::TABLE_NAME, column, true)
|
12
|
-
end
|
1
|
+
# Changes all the COLUMNS in the table with TABLE_NAME that are required from the table's mode, but were previously
|
2
|
+
# `:null => true`, to `:null => false`.
|
3
|
+
#
|
4
|
+
# @abstract Subclass and define COLUMNS as Array<Symbol> and TABLE_NAME as Symbol.
|
5
|
+
class MetasploitDataModels::ChangeRequiredColumnsToNullFalse < ActiveRecord::Migration
|
6
|
+
# Marks all the COLUMNS as `:null => true`
|
7
|
+
def down
|
8
|
+
# Use self.class:: so constants are resolved in subclasses instead of this class.
|
9
|
+
self.class::COLUMNS.each do |column|
|
10
|
+
change_column_null(self.class::TABLE_NAME, column, true)
|
13
11
|
end
|
12
|
+
end
|
14
13
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
14
|
+
# Marks all the COLUMNS as `:null => false`
|
15
|
+
def up
|
16
|
+
# Use self.class:: so constants are resolved in subclasses instead of this class.
|
17
|
+
self.class::COLUMNS.each do |column|
|
18
|
+
change_column_null(self.class::TABLE_NAME, column, false)
|
21
19
|
end
|
22
20
|
end
|
23
21
|
end
|
@@ -1,25 +1,30 @@
|
|
1
1
|
require 'rails'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
end
|
3
|
+
class MetasploitDataModels::Engine < Rails::Engine
|
4
|
+
# @see http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl
|
5
|
+
config.generators do |g|
|
6
|
+
g.assets false
|
7
|
+
g.fixture_replacement :factory_girl, :dir => 'spec/factories'
|
8
|
+
g.helper false
|
9
|
+
g.test_framework :rspec, :fixture => false
|
10
|
+
end
|
12
11
|
|
13
|
-
|
12
|
+
# Remove ActiveSupport::Dependencies loading paths to save time during constant resolution and to ensure that
|
13
|
+
# metasploit_data_models is properly declaring all autoloads and not falling back on ActiveSupport::Dependencies
|
14
|
+
config.paths.each_value do |path|
|
15
|
+
path.skip_autoload!
|
16
|
+
path.skip_autoload_once!
|
17
|
+
path.skip_eager_load!
|
18
|
+
path.skip_load_path!
|
19
|
+
end
|
14
20
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
21
|
+
initializer 'metasploit_data_models.prepend_factory_path', :after => 'factory_girl.set_factory_paths' do
|
22
|
+
if defined? FactoryGirl
|
23
|
+
relative_definition_file_path = config.generators.options[:factory_girl][:dir]
|
24
|
+
definition_file_path = root.join(relative_definition_file_path)
|
19
25
|
|
20
|
-
|
21
|
-
|
22
|
-
end
|
26
|
+
# unshift so that Pro can modify mdm factories
|
27
|
+
FactoryGirl.definition_file_paths.unshift definition_file_path
|
23
28
|
end
|
24
29
|
end
|
25
|
-
end
|
30
|
+
end
|
@@ -1,2 +1,8 @@
|
|
1
|
+
# Namespace for {MetasploitDataModels::Match::Parent#match_child dispatching} to
|
2
|
+
# {MetasploitDataModels::Match::Child#match children based on if their Regexp matches}.
|
1
3
|
module MetasploitDataModels::Match
|
4
|
+
extend ActiveSupport::Autoload
|
5
|
+
|
6
|
+
autoload :Child
|
7
|
+
autoload :Parent
|
2
8
|
end
|
@@ -1,6 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
# Namespace that deals with search {Mdm} models.
|
2
|
+
module MetasploitDataModels::Search
|
3
|
+
extend ActiveSupport::Autoload
|
4
4
|
|
5
|
-
|
5
|
+
autoload :Operation
|
6
|
+
autoload :Operator
|
7
|
+
autoload :Visitor
|
6
8
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Search operations ({MetasploitDataModels::Search::Operator operator}:operand) on {Mdm} and {MetasploitDataModels}
|
2
|
+
# models.
|
3
|
+
module MetasploitDataModels::Search::Operation
|
4
|
+
extend ActiveSupport::Autoload
|
5
|
+
|
6
|
+
autoload :IPAddress
|
7
|
+
autoload :Port
|
8
|
+
autoload :Range
|
9
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Search operation on IP port formats: either
|
2
|
+
# {MetasploitDataModels::Search::Operation::Port::Number an individual port number} or
|
3
|
+
# {MetasploitDataModels::Search::Operation::Port::Range a hyphenated range of port numbers}.
|
4
|
+
module MetasploitDataModels::Search::Operation::Port
|
5
|
+
extend ActiveSupport::Autoload
|
6
|
+
|
7
|
+
autoload :Number
|
8
|
+
autoload :Range
|
9
|
+
end
|
@@ -1,8 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
module Visitor
|
1
|
+
# Namespace for all visitors of `Metasploit::Model::Search::Query` that help search {Mdm} models.
|
2
|
+
module MetasploitDataModels::Search::Visitor
|
3
|
+
extend ActiveSupport::Autoload
|
5
4
|
|
6
|
-
|
7
|
-
|
5
|
+
autoload :Attribute
|
6
|
+
autoload :Includes
|
7
|
+
autoload :Joins
|
8
|
+
autoload :Method
|
9
|
+
autoload :Relation
|
10
|
+
autoload :Where
|
8
11
|
end
|
@@ -1,9 +1,8 @@
|
|
1
|
-
module MetasploitDataModels
|
2
|
-
|
3
|
-
|
4
|
-
args.each do |method_name|
|
1
|
+
module MetasploitDataModels::SerializedPrefs
|
2
|
+
def serialized_prefs_attr_accessor(*args)
|
3
|
+
args.each do |method_name|
|
5
4
|
|
6
|
-
|
5
|
+
method_declarations = <<-RUBY
|
7
6
|
def #{method_name}
|
8
7
|
return if not self.prefs
|
9
8
|
self.prefs[:#{method_name}]
|
@@ -14,10 +13,9 @@ module MetasploitDataModels
|
|
14
13
|
temp[:#{method_name}] = value
|
15
14
|
self.prefs = temp
|
16
15
|
end
|
17
|
-
|
16
|
+
RUBY
|
18
17
|
|
19
|
-
|
20
|
-
end
|
18
|
+
class_eval method_declarations, __FILE__, __LINE__
|
21
19
|
end
|
22
20
|
end
|
23
|
-
end
|
21
|
+
end
|
@@ -6,7 +6,9 @@ module MetasploitDataModels
|
|
6
6
|
# The minor version number, scoped to the {MAJOR} version number.
|
7
7
|
MINOR = 23
|
8
8
|
# The patch number, scoped to the {MAJOR} and {MINOR} version numbers.
|
9
|
-
PATCH =
|
9
|
+
PATCH = 3
|
10
|
+
# The pre-release version, scoped to the {MAJOR}, {MINOR}, and {PATCH} version numbers.
|
11
|
+
PRERELEASE = 'autoload'
|
10
12
|
|
11
13
|
# The full version string, including the {MAJOR}, {MINOR}, {PATCH}, and optionally, the `PRERELEASE` in the
|
12
14
|
# {http://semver.org/spec/v2.0.0.html semantic versioning v2.0.0} format.
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.files = `git ls-files`.split("\n")
|
25
25
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
26
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
27
|
-
s.require_paths =
|
27
|
+
s.require_paths = %w{app/models app/validators lib}
|
28
28
|
|
29
29
|
s.required_ruby_version = '>= 2.1'
|
30
30
|
|
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: 0.23.
|
4
|
+
version: 0.23.3.pre.autoload
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Huckins
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2015-
|
14
|
+
date: 2015-04-01 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rake
|
@@ -424,10 +424,17 @@ files:
|
|
424
424
|
- lib/metasploit_data_models/ip_address.rb
|
425
425
|
- lib/metasploit_data_models/ip_address/cidr.rb
|
426
426
|
- lib/metasploit_data_models/ip_address/range.rb
|
427
|
+
- lib/metasploit_data_models/ip_address/v4.rb
|
428
|
+
- lib/metasploit_data_models/ip_address/v4/segment.rb
|
429
|
+
- lib/metasploit_data_models/ip_address/v4/segment/nmap.rb
|
427
430
|
- lib/metasploit_data_models/match.rb
|
428
431
|
- lib/metasploit_data_models/match/child.rb
|
429
432
|
- lib/metasploit_data_models/match/parent.rb
|
430
433
|
- lib/metasploit_data_models/search.rb
|
434
|
+
- lib/metasploit_data_models/search/operation.rb
|
435
|
+
- lib/metasploit_data_models/search/operation/port.rb
|
436
|
+
- lib/metasploit_data_models/search/operator.rb
|
437
|
+
- lib/metasploit_data_models/search/operator/port.rb
|
431
438
|
- lib/metasploit_data_models/search/visitor.rb
|
432
439
|
- lib/metasploit_data_models/serialized_prefs.rb
|
433
440
|
- lib/metasploit_data_models/version.rb
|
@@ -619,6 +626,8 @@ metadata: {}
|
|
619
626
|
post_install_message:
|
620
627
|
rdoc_options: []
|
621
628
|
require_paths:
|
629
|
+
- app/models
|
630
|
+
- app/validators
|
622
631
|
- lib
|
623
632
|
required_ruby_version: !ruby/object:Gem::Requirement
|
624
633
|
requirements:
|
@@ -627,14 +636,193 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
627
636
|
version: '2.1'
|
628
637
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
629
638
|
requirements:
|
630
|
-
- - "
|
639
|
+
- - ">"
|
631
640
|
- !ruby/object:Gem::Version
|
632
|
-
version:
|
641
|
+
version: 1.3.1
|
633
642
|
requirements: []
|
634
643
|
rubyforge_project:
|
635
644
|
rubygems_version: 2.4.3
|
636
645
|
signing_key:
|
637
646
|
specification_version: 4
|
638
647
|
summary: Database code for MSF and Metasploit Pro
|
639
|
-
test_files:
|
648
|
+
test_files:
|
649
|
+
- spec/app/models/mdm/api_key_spec.rb
|
650
|
+
- spec/app/models/mdm/client_spec.rb
|
651
|
+
- spec/app/models/mdm/cred_spec.rb
|
652
|
+
- spec/app/models/mdm/event_spec.rb
|
653
|
+
- spec/app/models/mdm/exploit_attempt_spec.rb
|
654
|
+
- spec/app/models/mdm/exploited_host_spec.rb
|
655
|
+
- spec/app/models/mdm/host_detail_spec.rb
|
656
|
+
- spec/app/models/mdm/host_spec.rb
|
657
|
+
- spec/app/models/mdm/host_tag_spec.rb
|
658
|
+
- spec/app/models/mdm/listener_spec.rb
|
659
|
+
- spec/app/models/mdm/loot_spec.rb
|
660
|
+
- spec/app/models/mdm/macro_spec.rb
|
661
|
+
- spec/app/models/mdm/mod_ref_spec.rb
|
662
|
+
- spec/app/models/mdm/module/action_spec.rb
|
663
|
+
- spec/app/models/mdm/module/arch_spec.rb
|
664
|
+
- spec/app/models/mdm/module/author_spec.rb
|
665
|
+
- spec/app/models/mdm/module/detail_spec.rb
|
666
|
+
- spec/app/models/mdm/module/mixin_spec.rb
|
667
|
+
- spec/app/models/mdm/module/platform_spec.rb
|
668
|
+
- spec/app/models/mdm/module/ref_spec.rb
|
669
|
+
- spec/app/models/mdm/module/target_spec.rb
|
670
|
+
- spec/app/models/mdm/nexpose_console_spec.rb
|
671
|
+
- spec/app/models/mdm/note_spec.rb
|
672
|
+
- spec/app/models/mdm/profile_spec.rb
|
673
|
+
- spec/app/models/mdm/ref_spec.rb
|
674
|
+
- spec/app/models/mdm/route_spec.rb
|
675
|
+
- spec/app/models/mdm/service_spec.rb
|
676
|
+
- spec/app/models/mdm/session_event_spec.rb
|
677
|
+
- spec/app/models/mdm/session_spec.rb
|
678
|
+
- spec/app/models/mdm/tag_spec.rb
|
679
|
+
- spec/app/models/mdm/task_cred_spec.rb
|
680
|
+
- spec/app/models/mdm/task_host_spec.rb
|
681
|
+
- spec/app/models/mdm/task_service_spec.rb
|
682
|
+
- spec/app/models/mdm/task_session_spec.rb
|
683
|
+
- spec/app/models/mdm/task_spec.rb
|
684
|
+
- spec/app/models/mdm/user_spec.rb
|
685
|
+
- spec/app/models/mdm/vuln_attempt_spec.rb
|
686
|
+
- spec/app/models/mdm/vuln_detail_spec.rb
|
687
|
+
- spec/app/models/mdm/vuln_ref_spec.rb
|
688
|
+
- spec/app/models/mdm/vuln_spec.rb
|
689
|
+
- spec/app/models/mdm/web_form_spec.rb
|
690
|
+
- spec/app/models/mdm/web_page_spec.rb
|
691
|
+
- spec/app/models/mdm/web_site_spec.rb
|
692
|
+
- spec/app/models/mdm/web_vuln_spec.rb
|
693
|
+
- spec/app/models/mdm/wmap_request_spec.rb
|
694
|
+
- spec/app/models/mdm/wmap_target_spec.rb
|
695
|
+
- spec/app/models/mdm/workspace_spec.rb
|
696
|
+
- spec/app/models/metasploit_data_models/automatic_exploitation/match_result_spec.rb
|
697
|
+
- spec/app/models/metasploit_data_models/automatic_exploitation/match_set_spec.rb
|
698
|
+
- spec/app/models/metasploit_data_models/automatic_exploitation/match_spec.rb
|
699
|
+
- spec/app/models/metasploit_data_models/automatic_exploitation/run_spec.rb
|
700
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/cidr_spec.rb
|
701
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/nmap_spec.rb
|
702
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/range_spec.rb
|
703
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/segment/nmap/list_spec.rb
|
704
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/segment/nmap/range_spec.rb
|
705
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/segment/segmented_spec.rb
|
706
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/segment/single_spec.rb
|
707
|
+
- spec/app/models/metasploit_data_models/ip_address/v4/single_spec.rb
|
708
|
+
- spec/app/models/metasploit_data_models/module_run_spec.rb
|
709
|
+
- spec/app/models/metasploit_data_models/search/operation/ip_address_spec.rb
|
710
|
+
- spec/app/models/metasploit_data_models/search/operation/port/number_spec.rb
|
711
|
+
- spec/app/models/metasploit_data_models/search/operation/port/range_spec.rb
|
712
|
+
- spec/app/models/metasploit_data_models/search/operation/range_spec.rb
|
713
|
+
- spec/app/models/metasploit_data_models/search/operator/ip_address_spec.rb
|
714
|
+
- spec/app/models/metasploit_data_models/search/operator/multitext_spec.rb
|
715
|
+
- spec/app/models/metasploit_data_models/search/operator/port/list_spec.rb
|
716
|
+
- spec/app/models/metasploit_data_models/search/visitor/attribute_spec.rb
|
717
|
+
- spec/app/models/metasploit_data_models/search/visitor/includes_spec.rb
|
718
|
+
- spec/app/models/metasploit_data_models/search/visitor/joins_spec.rb
|
719
|
+
- spec/app/models/metasploit_data_models/search/visitor/method_spec.rb
|
720
|
+
- spec/app/models/metasploit_data_models/search/visitor/relation_spec.rb
|
721
|
+
- spec/app/models/metasploit_data_models/search/visitor/where_spec.rb
|
722
|
+
- spec/app/validators/parameters_validator_spec.rb
|
723
|
+
- spec/app/validators/password_is_strong_validator_spec.rb
|
724
|
+
- spec/dummy/Rakefile
|
725
|
+
- spec/dummy/app/assets/javascripts/application.js
|
726
|
+
- spec/dummy/app/assets/stylesheets/application.css
|
727
|
+
- spec/dummy/app/controllers/application_controller.rb
|
728
|
+
- spec/dummy/app/helpers/application_helper.rb
|
729
|
+
- spec/dummy/app/mailers/.gitkeep
|
730
|
+
- spec/dummy/app/models/.gitkeep
|
731
|
+
- spec/dummy/app/views/layouts/application.html.erb
|
732
|
+
- spec/dummy/config.ru
|
733
|
+
- spec/dummy/config/application.rb
|
734
|
+
- spec/dummy/config/boot.rb
|
735
|
+
- spec/dummy/config/database.yml.example
|
736
|
+
- spec/dummy/config/database.yml.travis
|
737
|
+
- spec/dummy/config/environment.rb
|
738
|
+
- spec/dummy/config/environments/development.rb
|
739
|
+
- spec/dummy/config/environments/production.rb
|
740
|
+
- spec/dummy/config/environments/test.rb
|
741
|
+
- spec/dummy/config/initializers/active_record_migrations.rb
|
742
|
+
- spec/dummy/config/initializers/backtrace_silencers.rb
|
743
|
+
- spec/dummy/config/initializers/inflections.rb
|
744
|
+
- spec/dummy/config/initializers/mime_types.rb
|
745
|
+
- spec/dummy/config/initializers/secret_token.rb
|
746
|
+
- spec/dummy/config/initializers/session_store.rb
|
747
|
+
- spec/dummy/config/initializers/wrap_parameters.rb
|
748
|
+
- spec/dummy/config/routes.rb
|
749
|
+
- spec/dummy/db/structure.sql
|
750
|
+
- spec/dummy/lib/assets/.gitkeep
|
751
|
+
- spec/dummy/log/.gitkeep
|
752
|
+
- spec/dummy/public/404.html
|
753
|
+
- spec/dummy/public/422.html
|
754
|
+
- spec/dummy/public/500.html
|
755
|
+
- spec/dummy/public/favicon.ico
|
756
|
+
- spec/dummy/script/rails
|
757
|
+
- spec/factories/mdm/addresses.rb
|
758
|
+
- spec/factories/mdm/clients.rb
|
759
|
+
- spec/factories/mdm/creds.rb
|
760
|
+
- spec/factories/mdm/events.rb
|
761
|
+
- spec/factories/mdm/exploit_attempts.rb
|
762
|
+
- spec/factories/mdm/exploited_hosts.rb
|
763
|
+
- spec/factories/mdm/fingerprints/nessus_fingerprints.rb
|
764
|
+
- spec/factories/mdm/fingerprints/nexpose_fingerprints.rb
|
765
|
+
- spec/factories/mdm/fingerprints/nmap_fingerprints.rb
|
766
|
+
- spec/factories/mdm/fingerprints/retina_fingerprints.rb
|
767
|
+
- spec/factories/mdm/fingerprints/session_fingerprints.rb
|
768
|
+
- spec/factories/mdm/host_details.rb
|
769
|
+
- spec/factories/mdm/host_tags.rb
|
770
|
+
- spec/factories/mdm/hosts.rb
|
771
|
+
- spec/factories/mdm/listeners.rb
|
772
|
+
- spec/factories/mdm/loots.rb
|
773
|
+
- spec/factories/mdm/module/actions.rb
|
774
|
+
- spec/factories/mdm/module/archs.rb
|
775
|
+
- spec/factories/mdm/module/authors.rb
|
776
|
+
- spec/factories/mdm/module/details.rb
|
777
|
+
- spec/factories/mdm/module/mixins.rb
|
778
|
+
- spec/factories/mdm/module/platforms.rb
|
779
|
+
- spec/factories/mdm/module/refs.rb
|
780
|
+
- spec/factories/mdm/module/targets.rb
|
781
|
+
- spec/factories/mdm/nexpose_consoles.rb
|
782
|
+
- spec/factories/mdm/notes.rb
|
783
|
+
- spec/factories/mdm/refs.rb
|
784
|
+
- spec/factories/mdm/routes.rb
|
785
|
+
- spec/factories/mdm/services.rb
|
786
|
+
- spec/factories/mdm/session_events.rb
|
787
|
+
- spec/factories/mdm/sessions.rb
|
788
|
+
- spec/factories/mdm/tags.rb
|
789
|
+
- spec/factories/mdm/task.rb
|
790
|
+
- spec/factories/mdm/task_creds.rb
|
791
|
+
- spec/factories/mdm/task_hosts.rb
|
792
|
+
- spec/factories/mdm/task_services.rb
|
793
|
+
- spec/factories/mdm/task_sessions.rb
|
794
|
+
- spec/factories/mdm/users.rb
|
795
|
+
- spec/factories/mdm/vuln_attempts.rb
|
796
|
+
- spec/factories/mdm/vuln_details.rb
|
797
|
+
- spec/factories/mdm/vuln_refs.rb
|
798
|
+
- spec/factories/mdm/vulns.rb
|
799
|
+
- spec/factories/mdm/web_forms.rb
|
800
|
+
- spec/factories/mdm/web_pages.rb
|
801
|
+
- spec/factories/mdm/web_sites.rb
|
802
|
+
- spec/factories/mdm/web_vulns.rb
|
803
|
+
- spec/factories/mdm/workspaces.rb
|
804
|
+
- spec/factories/metasploit_data_models/automatic_exploitation/match_results.rb
|
805
|
+
- spec/factories/metasploit_data_models/automatic_exploitation/match_sets.rb
|
806
|
+
- spec/factories/metasploit_data_models/automatic_exploitation/matches.rb
|
807
|
+
- spec/factories/metasploit_data_models/automatic_exploitation/runs.rb
|
808
|
+
- spec/factories/module_runs.rb
|
809
|
+
- spec/lib/base64_serializer_spec.rb
|
810
|
+
- spec/lib/metasploit_data_models/ip_address/cidr_spec.rb
|
811
|
+
- spec/lib/metasploit_data_models/ip_address/range_spec.rb
|
812
|
+
- spec/lib/metasploit_data_models/match/child_spec.rb
|
813
|
+
- spec/lib/metasploit_data_models/match/parent_spec.rb
|
814
|
+
- spec/lib/metasploit_data_models/version_spec.rb
|
815
|
+
- spec/spec_helper.rb
|
816
|
+
- spec/support/matchers/match_regex_exactly.rb
|
817
|
+
- spec/support/shared/contexts/rex/text.rb
|
818
|
+
- spec/support/shared/examples/mdm/module/detail/does_not_support_stance_with_mtype.rb
|
819
|
+
- spec/support/shared/examples/mdm/module/detail/supports_stance_with_mtype.rb
|
820
|
+
- spec/support/shared/examples/metasploit_data_models/search/operation/ipaddress/match.rb
|
821
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_children.rb
|
822
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/includes/visit/with_metasploit_model_search_operation_base.rb
|
823
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/relation/visit/matching_record.rb
|
824
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/relation/visit/matching_record/with_metasploit_model_search_opeator_deprecated_platform.rb
|
825
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/relation/visit/matching_record/with_metasploit_model_search_operator_deprecated_authority.rb
|
826
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_equality.rb
|
827
|
+
- spec/support/shared/examples/metasploit_data_models/search/visitor/where/visit/with_metasploit_model_search_group_base.rb
|
640
828
|
has_rdoc:
|