metasploit_data_models 0.23.2 → 0.23.3.pre.autoload
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|