metasploit_data_models 3.0.8 → 4.0.2
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 +5 -5
- checksums.yaml.gz.sig +1 -3
- data.tar.gz.sig +1 -1
- data/.gitignore +1 -1
- data/.travis.yml +1 -1
- data/Gemfile +6 -4
- data/Rakefile +1 -1
- data/app/models/mdm/api_key.rb +2 -2
- data/app/models/mdm/async_callback.rb +64 -0
- data/app/models/mdm/client.rb +1 -1
- data/app/models/mdm/cred.rb +1 -1
- data/app/models/mdm/event.rb +1 -1
- data/app/models/mdm/exploit_attempt.rb +1 -1
- data/app/models/mdm/exploited_host.rb +1 -1
- data/app/models/mdm/host.rb +2 -2
- data/app/models/mdm/host_detail.rb +2 -2
- data/app/models/mdm/host_tag.rb +1 -1
- data/app/models/mdm/listener.rb +1 -1
- data/app/models/mdm/loot.rb +1 -1
- data/app/models/mdm/macro.rb +1 -1
- data/app/models/mdm/mod_ref.rb +1 -1
- data/app/models/mdm/module/action.rb +1 -1
- data/app/models/mdm/module/arch.rb +1 -1
- data/app/models/mdm/module/author.rb +1 -1
- data/app/models/mdm/module/detail.rb +1 -1
- data/app/models/mdm/module/mixin.rb +1 -1
- data/app/models/mdm/module/platform.rb +1 -1
- data/app/models/mdm/module/ref.rb +1 -1
- data/app/models/mdm/module/target.rb +1 -1
- data/app/models/mdm/nexpose_console.rb +1 -1
- data/app/models/mdm/note.rb +2 -2
- data/app/models/mdm/payload.rb +1 -16
- data/app/models/mdm/profile.rb +1 -1
- data/app/models/mdm/ref.rb +1 -1
- data/app/models/mdm/route.rb +1 -1
- data/app/models/mdm/service.rb +2 -2
- data/app/models/mdm/session.rb +1 -1
- data/app/models/mdm/session_event.rb +1 -1
- data/app/models/mdm/tag.rb +1 -1
- data/app/models/mdm/task.rb +1 -1
- data/app/models/mdm/task_cred.rb +1 -1
- data/app/models/mdm/task_host.rb +1 -1
- data/app/models/mdm/task_service.rb +1 -1
- data/app/models/mdm/task_session.rb +1 -1
- data/app/models/mdm/user.rb +2 -2
- data/app/models/mdm/vuln.rb +2 -2
- data/app/models/mdm/vuln_attempt.rb +1 -1
- data/app/models/mdm/vuln_detail.rb +1 -1
- data/app/models/mdm/vuln_ref.rb +1 -1
- data/app/models/mdm/web_form.rb +1 -1
- data/app/models/mdm/web_page.rb +1 -1
- data/app/models/mdm/web_site.rb +1 -1
- data/app/models/mdm/web_vuln.rb +1 -1
- data/app/models/mdm/wmap_request.rb +1 -1
- data/app/models/mdm/wmap_target.rb +1 -1
- data/app/models/mdm/workspace.rb +6 -9
- data/app/models/metasploit_data_models/automatic_exploitation/match.rb +1 -1
- data/app/models/metasploit_data_models/automatic_exploitation/match_result.rb +1 -1
- data/app/models/metasploit_data_models/automatic_exploitation/match_set.rb +1 -1
- data/app/models/metasploit_data_models/automatic_exploitation/run.rb +2 -2
- data/app/models/metasploit_data_models/module_run.rb +1 -1
- data/app/validators/ip_format_validator.rb +1 -1
- data/app/validators/parameters_validator.rb +7 -7
- data/bin/rails +14 -0
- data/config/initializers/arel_helper.rb +2 -2
- data/config/initializers/ipaddr.rb +11 -6
- data/db/migrate/000_create_tables.rb +1 -1
- data/db/migrate/001_add_wmap_tables.rb +1 -1
- data/db/migrate/002_add_workspaces.rb +1 -1
- data/db/migrate/003_move_notes.rb +1 -1
- data/db/migrate/004_add_events_table.rb +1 -1
- data/db/migrate/005_expand_info.rb +1 -1
- data/db/migrate/006_add_timestamps.rb +1 -1
- data/db/migrate/007_add_loots.rb +1 -1
- data/db/migrate/008_create_users.rb +1 -1
- data/db/migrate/009_add_loots_ctype.rb +1 -1
- data/db/migrate/010_add_alert_fields.rb +1 -1
- data/db/migrate/011_add_reports.rb +1 -1
- data/db/migrate/012_add_tasks.rb +1 -1
- data/db/migrate/013_add_tasks_result.rb +1 -1
- data/db/migrate/014_add_loots_fields.rb +1 -1
- data/db/migrate/015_rename_user.rb +1 -1
- data/db/migrate/016_add_host_purpose.rb +1 -1
- data/db/migrate/017_expand_info2.rb +1 -1
- data/db/migrate/018_add_workspace_user_info.rb +1 -1
- data/db/migrate/019_add_workspace_desc.rb +1 -1
- data/db/migrate/020_add_user_preferences.rb +1 -1
- data/db/migrate/021_standardize_info_and_data.rb +1 -1
- data/db/migrate/022_enlarge_event_info.rb +1 -1
- data/db/migrate/023_add_report_downloaded_at.rb +1 -1
- data/db/migrate/024_convert_service_info_to_text.rb +1 -1
- data/db/migrate/025_add_user_admin.rb +1 -1
- data/db/migrate/026_add_creds_table.rb +1 -1
- data/db/migrate/20100819123300_migrate_cred_data.rb +1 -1
- data/db/migrate/20100824151500_add_exploited_table.rb +1 -1
- data/db/migrate/20100908001428_add_owner_to_workspaces.rb +1 -1
- data/db/migrate/20100911122000_add_report_templates.rb +1 -1
- data/db/migrate/20100916151530_require_admin_flag.rb +1 -1
- data/db/migrate/20100916175000_add_campaigns_and_templates.rb +1 -1
- data/db/migrate/20100920012100_add_generate_exe_column.rb +1 -1
- data/db/migrate/20100926214000_add_template_prefs.rb +1 -1
- data/db/migrate/20101001000000_add_web_tables.rb +1 -1
- data/db/migrate/20101002000000_add_query.rb +1 -1
- data/db/migrate/20101007000000_add_vuln_info.rb +1 -1
- data/db/migrate/20101008111800_add_clients_to_campaigns.rb +1 -1
- data/db/migrate/20101009023300_add_campaign_attachments.rb +1 -1
- data/db/migrate/20101104135100_add_imported_creds.rb +1 -1
- data/db/migrate/20101203000000_fix_web_tables.rb +1 -1
- data/db/migrate/20101203000001_expand_host_comment.rb +1 -1
- data/db/migrate/20101206212033_add_limit_to_network_to_workspaces.rb +1 -1
- data/db/migrate/20110112154300_add_module_uuid_to_tasks.rb +1 -1
- data/db/migrate/20110204112800_add_host_tags.rb +1 -1
- data/db/migrate/20110317144932_add_session_table.rb +4 -4
- data/db/migrate/20110414180600_add_local_id_to_session_table.rb +1 -1
- data/db/migrate/20110415175705_add_routes_table.rb +1 -1
- data/db/migrate/20110422000000_convert_binary.rb +3 -3
- data/db/migrate/20110425095900_add_last_seen_to_sessions.rb +1 -1
- data/db/migrate/20110513143900_track_successful_exploits.rb +3 -3
- data/db/migrate/20110517160800_rename_and_prune_nessus_vulns.rb +2 -2
- data/db/migrate/20110527000000_add_task_id_to_reports_table.rb +1 -1
- data/db/migrate/20110527000001_add_api_keys_table.rb +1 -1
- data/db/migrate/20110606000001_add_macros_table.rb +1 -1
- data/db/migrate/20110622000000_add_settings_to_tasks_table.rb +1 -1
- data/db/migrate/20110624000001_add_listeners_table.rb +1 -1
- data/db/migrate/20110625000001_add_macro_to_listeners_table.rb +1 -1
- data/db/migrate/20110630000001_add_nexpose_consoles_table.rb +1 -1
- data/db/migrate/20110630000002_add_name_to_nexpose_consoles_table.rb +1 -1
- data/db/migrate/20110717000001_add_profiles_table.rb +1 -1
- data/db/migrate/20110727163801_expand_cred_ptype_column.rb +1 -1
- data/db/migrate/20110730000001_add_initial_indexes.rb +1 -1
- data/db/migrate/20110812000001_prune_indexes.rb +1 -1
- data/db/migrate/20110922000000_expand_notes.rb +1 -1
- data/db/migrate/20110928101300_add_mod_ref_table.rb +1 -1
- data/db/migrate/20111011110000_add_display_name_to_reports_table.rb +2 -2
- data/db/migrate/20111203000000_inet_columns.rb +1 -1
- data/db/migrate/20111204000000_more_inet_columns.rb +1 -1
- data/db/migrate/20111210000000_add_scope_to_hosts.rb +1 -1
- data/db/migrate/20120126110000_add_virtual_host_to_hosts.rb +1 -1
- data/db/migrate/20120411173220_rename_workspace_members.rb +1 -1
- data/db/migrate/20120601152442_add_counter_caches_to_hosts.rb +2 -2
- data/db/migrate/20120625000000_add_vuln_details.rb +1 -1
- data/db/migrate/20120625000001_add_host_details.rb +1 -1
- data/db/migrate/20120625000002_expand_details.rb +1 -1
- data/db/migrate/20120625000003_expand_details2.rb +1 -1
- data/db/migrate/20120625000004_add_vuln_attempts.rb +1 -1
- data/db/migrate/20120625000005_add_vuln_and_host_counter_caches.rb +1 -1
- data/db/migrate/20120625000006_add_module_details.rb +1 -1
- data/db/migrate/20120625000007_add_exploit_attempts.rb +1 -1
- data/db/migrate/20120625000008_add_fail_message.rb +1 -1
- data/db/migrate/20120718202805_add_owner_and_payload_to_web_vulns.rb +1 -1
- data/db/migrate/20130412154159_change_foreign_key_in_module_actions.rb +1 -1
- data/db/migrate/20130412171844_change_foreign_key_in_module_archs.rb +1 -1
- data/db/migrate/20130412173121_change_foreign_key_in_module_authors.rb +1 -1
- data/db/migrate/20130412173640_change_foreign_key_in_module_mixins.rb +1 -1
- data/db/migrate/20130412174254_change_foreign_key_in_module_platforms.rb +1 -1
- data/db/migrate/20130412174719_change_foreign_key_in_module_refs.rb +1 -1
- data/db/migrate/20130412175040_change_foreign_key_in_module_targets.rb +1 -1
- data/db/migrate/20130423211152_add_creds_counter_cache.rb +1 -1
- data/db/migrate/20130430162145_enforce_address_uniqueness_in_workspace_in_hosts.rb +6 -6
- data/db/migrate/20130510021637_remove_campaigns.rb +1 -1
- data/db/migrate/20130515164311_change_web_vulns_confidence_to_integer.rb +1 -1
- data/db/migrate/20130515172727_valid_mdm_web_vuln_params.rb +1 -1
- data/db/migrate/20130516204810_making_vulns_refs_a_real_ar_model.rb +2 -2
- data/db/migrate/20130522001343_create_task_creds.rb +1 -1
- data/db/migrate/20130522032517_create_task_hosts.rb +1 -1
- data/db/migrate/20130522041110_create_task_services.rb +1 -1
- data/db/migrate/20130525015035_remove_campaign_id_from_clients.rb +1 -1
- data/db/migrate/20130525212420_drop_table_imported_creds.rb +1 -1
- data/db/migrate/20130531144949_making_host_tags_a_real_ar_model.rb +1 -1
- data/db/migrate/20130604145732_create_task_sessions.rb +1 -1
- data/db/migrate/20130717150737_remove_pname_validation.rb +1 -1
- data/db/migrate/20131002004641_create_automatic_exploitation_matches.rb +1 -1
- data/db/migrate/20131002164449_create_automatic_exploitation_match_sets.rb +1 -1
- data/db/migrate/20131008213344_create_automatic_exploitation_runs.rb +1 -1
- data/db/migrate/20131011184338_module_detail_on_automatic_exploitation_match.rb +1 -1
- data/db/migrate/20131017150735_create_automatic_exploitation_match_results.rb +1 -1
- data/db/migrate/20131021185657_make_match_polymorphic.rb +1 -1
- data/db/migrate/20140905031549_add_detected_arch_to_host.rb +1 -1
- data/db/migrate/20150112203945_remove_duplicate_services.rb +1 -1
- data/db/migrate/20150205192745_drop_service_uniqueness_index.rb +1 -1
- data/db/migrate/20150209195939_add_vuln_id_to_note.rb +1 -1
- data/db/migrate/20150212214222_remove_duplicate_services2.rb +1 -1
- data/db/migrate/20150219173821_create_module_runs.rb +1 -1
- data/db/migrate/20150219215039_add_module_run_to_session.rb +1 -1
- data/db/migrate/20150226151459_add_module_run_fk_to_loot.rb +1 -1
- data/db/migrate/20150312155312_add_module_full_name_to_match.rb +1 -1
- data/db/migrate/20150317145455_rename_module_indices.rb +2 -2
- data/db/migrate/20150326183742_add_missing_ae_indices.rb +1 -1
- data/db/migrate/20150421211719_rename_automatic_exploitation_index.rb +3 -3
- data/db/migrate/20150514182921_add_origin_to_mdm_vuln.rb +1 -1
- data/db/migrate/20160415153312_remove_not_null_from_web_vuln_p_arams.rb +1 -1
- data/db/migrate/20161004165612_add_fingerprinted_to_workspace.rb +1 -1
- data/db/migrate/20161227212223_add_os_family_to_hosts.rb +1 -1
- data/db/migrate/20180904120211_create_payloads.rb +1 -1
- data/db/migrate/20190308134512_create_async_callbacks.rb +14 -0
- data/db/migrate/20190507120211_remove_payload_workspaces.rb +5 -0
- data/lib/mdm.rb +1 -0
- data/lib/metasploit_data_models.rb +0 -1
- data/lib/metasploit_data_models/automatic_exploitation.rb +1 -1
- data/lib/metasploit_data_models/base64_serializer.rb +1 -1
- data/lib/metasploit_data_models/change_required_columns_to_null_false.rb +2 -2
- data/lib/metasploit_data_models/engine.rb +1 -1
- data/lib/metasploit_data_models/version.rb +1 -1
- data/metasploit_data_models.gemspec +4 -8
- data/spec/app/models/mdm/exploit_attempt_spec.rb +2 -2
- data/spec/app/models/mdm/host_detail_spec.rb +1 -1
- data/spec/app/models/mdm/host_spec.rb +27 -27
- data/spec/app/models/mdm/module/detail_spec.rb +18 -18
- data/spec/app/models/mdm/service_spec.rb +1 -0
- data/spec/app/models/mdm/vuln_attempt_spec.rb +1 -1
- data/spec/app/models/mdm/vuln_detail_spec.rb +1 -1
- data/spec/app/models/mdm/vuln_spec.rb +1 -1
- data/spec/app/models/metasploit_data_models/search/visitor/joins_spec.rb +4 -4
- data/spec/dummy/app/assets/config/manifest.js +1 -0
- data/spec/dummy/app/models/application_record.rb +3 -0
- data/spec/dummy/db/structure.sql +213 -329
- metadata +92 -98
- metadata.gz.sig +0 -0
- data/spec/dummy/config/initializers/secret_token.rb +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 7160a9465ddf37341f8823e9523185b042f1fb99db31e42a79aa25b583ddb676
|
|
4
|
+
data.tar.gz: dfff423e1f177a6bdc6bc85b84225c3a243e2528283e49185d188c76d04808c1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7c60f29e7ebff8b3c2f1aa0e7a10a9c06a07f186f57c3539deb24419ba65b5d004897ecada92e313b19c38f37c634dcf2dc55765aea3e0e1ae2b126f6748e597
|
|
7
|
+
data.tar.gz: 501f97755d40903d2e25b3476538e498f650209df40c9522e98ddf7eb6ab1bd716e28454eb0ceb289991e22a400b10feb0665e776f0f4d4ee55822888247466f
|
checksums.yaml.gz.sig
CHANGED
data.tar.gz.sig
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
S
|
|
1
|
+
�Y����@JJ۸y�K*~��%I��1��L/l�wM0s8���;�t���[�:�"���-�������HbC)6��S�yW���!��ts�ć�G�3�� !����c.=�~�~H!b�$�AP���NY���d�����K&�&�y�_r�]*����nUA���Z�3�`<�bK�"*�z��H���S�y��H�Lr4���p�=Y����qa�����<w�a~�ÝS�M��Ay��.�P�$��(��L����;�%z��
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -6,7 +6,7 @@ gemspec
|
|
|
6
6
|
|
|
7
7
|
group :development do
|
|
8
8
|
#gem 'metasploit-erd'
|
|
9
|
-
# embed ERDs on index, namespace Module and Class<
|
|
9
|
+
# embed ERDs on index, namespace Module and Class<ApplicationRecord> pages
|
|
10
10
|
#gem 'yard-metasploit-erd'
|
|
11
11
|
end
|
|
12
12
|
|
|
@@ -16,17 +16,19 @@ group :development, :test do
|
|
|
16
16
|
gem 'coveralls', require: false
|
|
17
17
|
# supplies factories for producing model instance for specs
|
|
18
18
|
# Version 4.1.0 or newer is needed to support generate calls without the 'FactoryBot.' in factory definitions syntax.
|
|
19
|
-
gem 'factory_bot'
|
|
19
|
+
gem 'factory_bot'
|
|
20
20
|
# auto-load factories from spec/factories
|
|
21
21
|
gem 'factory_bot_rails'
|
|
22
22
|
|
|
23
|
-
gem 'rails'
|
|
23
|
+
gem 'rails'
|
|
24
24
|
# Used to create fake data
|
|
25
25
|
gem "faker"
|
|
26
26
|
|
|
27
27
|
# bound to 0.20 for Activerecord 4.2.8 deprecation warnings:
|
|
28
28
|
# https://github.com/ged/ruby-pg/commit/c90ac644e861857ae75638eb6954b1cb49617090
|
|
29
|
-
gem 'pg'
|
|
29
|
+
gem 'pg'
|
|
30
|
+
|
|
31
|
+
gem 'pry'
|
|
30
32
|
end
|
|
31
33
|
|
|
32
34
|
group :test do
|
data/Rakefile
CHANGED
|
@@ -51,7 +51,7 @@ if gem_specification
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
#
|
|
54
|
-
# Eager load before yard docs so that
|
|
54
|
+
# Eager load before yard docs so that ApplicationRecord subclasses are loaded for yard-metasploit-erd
|
|
55
55
|
#
|
|
56
56
|
|
|
57
57
|
task 'yard:doc' => :eager_load
|
data/app/models/mdm/api_key.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# API key to access the RPC.
|
|
2
|
-
class Mdm::ApiKey <
|
|
2
|
+
class Mdm::ApiKey < ApplicationRecord
|
|
3
3
|
|
|
4
4
|
#
|
|
5
5
|
# Attributes
|
|
@@ -53,7 +53,7 @@ class Mdm::ApiKey < ActiveRecord::Base
|
|
|
53
53
|
license = License.get
|
|
54
54
|
|
|
55
55
|
if license and not license.supports_api?
|
|
56
|
-
errors
|
|
56
|
+
errors.add :license, " - this product does not support API access"
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# An asychronous callback that has been received by the Mettle Pingback Listener and is logged
|
|
2
|
+
class Mdm::AsyncCallback < ApplicationRecord
|
|
3
|
+
extend ActiveSupport::Autoload
|
|
4
|
+
|
|
5
|
+
include Metasploit::Model::Search
|
|
6
|
+
|
|
7
|
+
#
|
|
8
|
+
# Associations
|
|
9
|
+
#
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#
|
|
13
|
+
# Attributes
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
# @!attribute [rw] uuid
|
|
17
|
+
# A 16-byte unique identifier for this payload. The UUID is encoded to include specific information.
|
|
18
|
+
# See lib/msf/core/payload/uuid.rb in the https://github.com/rapid7/metasploit-framework repo.
|
|
19
|
+
#
|
|
20
|
+
# @return [String]
|
|
21
|
+
|
|
22
|
+
# @!attribute [rw] timestamp
|
|
23
|
+
# The Unix format timestamp when this payload called back.
|
|
24
|
+
#
|
|
25
|
+
# @return [Integer]
|
|
26
|
+
|
|
27
|
+
# @!attribute [rw] listener_uri
|
|
28
|
+
# Non-unique URIs (eg. "tcp://192.168.1.7:4444") which received callbacks from this payload.
|
|
29
|
+
#
|
|
30
|
+
# @return [String]
|
|
31
|
+
|
|
32
|
+
# @!attribute [rw] target_host
|
|
33
|
+
# The IP address (eg. "192.168.1.7" or "fe80::1") from which the callback originated, from the view of the callback listener.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
|
|
37
|
+
# @!attribute [rw] target_port
|
|
38
|
+
# The IP port (eg. "4444") from which the callback originated, from the view of the callback listener.
|
|
39
|
+
#
|
|
40
|
+
# @return [Integer]
|
|
41
|
+
|
|
42
|
+
#
|
|
43
|
+
# Validations
|
|
44
|
+
#
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
#
|
|
48
|
+
# Search Attributes
|
|
49
|
+
#
|
|
50
|
+
|
|
51
|
+
search_attribute :uuid,
|
|
52
|
+
type: :string
|
|
53
|
+
|
|
54
|
+
#
|
|
55
|
+
# Serializations
|
|
56
|
+
#
|
|
57
|
+
|
|
58
|
+
# NONE
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
public
|
|
62
|
+
|
|
63
|
+
Metasploit::Concern.run(self)
|
|
64
|
+
end
|
data/app/models/mdm/client.rb
CHANGED
data/app/models/mdm/cred.rb
CHANGED
data/app/models/mdm/event.rb
CHANGED
data/app/models/mdm/host.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# A system with an {#address IP address} on the network that has been discovered in some way.
|
|
2
|
-
class Mdm::Host <
|
|
2
|
+
class Mdm::Host < ApplicationRecord
|
|
3
3
|
extend ActiveSupport::Autoload
|
|
4
4
|
|
|
5
5
|
autoload :OperatingSystemNormalization
|
|
@@ -316,7 +316,7 @@ class Mdm::Host < ActiveRecord::Base
|
|
|
316
316
|
# {Mdm::Module::Detail Details about modules} that were used to find {#vulns vulnerabilities} on this host.
|
|
317
317
|
#
|
|
318
318
|
# @return [ActiveRecord::Relation<Mdm::Module::Detail]
|
|
319
|
-
has_many :module_details, -> {
|
|
319
|
+
has_many :module_details, -> { distinct } ,
|
|
320
320
|
:class_name => 'Mdm::Module::Detail',
|
|
321
321
|
:source =>:detail,
|
|
322
322
|
:through => :module_refs
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Details supplied by Nexpose about a {Mdm::Host host}.
|
|
2
|
-
class Mdm::HostDetail <
|
|
2
|
+
class Mdm::HostDetail < ApplicationRecord
|
|
3
3
|
#
|
|
4
4
|
# Associations
|
|
5
5
|
#
|
|
@@ -59,4 +59,4 @@ class Mdm::HostDetail < ActiveRecord::Base
|
|
|
59
59
|
validates :host_id, :presence => true
|
|
60
60
|
|
|
61
61
|
Metasploit::Concern.run(self)
|
|
62
|
-
end
|
|
62
|
+
end
|
data/app/models/mdm/host_tag.rb
CHANGED
data/app/models/mdm/listener.rb
CHANGED
data/app/models/mdm/loot.rb
CHANGED
data/app/models/mdm/macro.rb
CHANGED
data/app/models/mdm/mod_ref.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Joins a {Mdm::Module::Detail} and {Mdm::Ref} indirectly through the {Mdm::Module::Detail#refname} matching {#module},
|
|
2
2
|
# {Mdm::Module::Detail#mtype} matching {#mtype}, and {Mdm::Ref#name} matching {#ref}.
|
|
3
|
-
class Mdm::ModRef <
|
|
3
|
+
class Mdm::ModRef < ApplicationRecord
|
|
4
4
|
#
|
|
5
5
|
# Attributes
|
|
6
6
|
#
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# {Mdm::Module::Detail Metasploit Module}: if two {Mdm::Module::Detail Metasploit Modules} have
|
|
4
4
|
# {Mdm::Module::Action actions} with the same {Mdm::Module::Action#name name}, no similarity should be assumed between
|
|
5
5
|
# those two {Mdm::Module::Action actions} or {Mdm::Module::Detail Metasploit Modules}.
|
|
6
|
-
class Mdm::Module::Action <
|
|
6
|
+
class Mdm::Module::Action < ApplicationRecord
|
|
7
7
|
self.table_name = 'module_actions'
|
|
8
8
|
|
|
9
9
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Details about an Msf::Module. Metadata that can be an array is stored in associations in modules under the
|
|
2
2
|
# {Mdm::Module} namespace.
|
|
3
|
-
class Mdm::Module::Detail <
|
|
3
|
+
class Mdm::Module::Detail < ApplicationRecord
|
|
4
4
|
self.table_name = 'module_details'
|
|
5
5
|
|
|
6
6
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# A potential target for a {Mdm::Module::Detail exploit Metasploit Module}. Targets can change options including
|
|
2
2
|
# offsets for ROP chains to tune an exploit to work with different system libraries and versions.
|
|
3
|
-
class Mdm::Module::Target <
|
|
3
|
+
class Mdm::Module::Target < ApplicationRecord
|
|
4
4
|
self.table_name = 'module_targets'
|
|
5
5
|
|
|
6
6
|
#
|
data/app/models/mdm/note.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Data gathered or derived from the {#host} or {#service} such as its {#ntype fingerprint}.
|
|
2
|
-
class Mdm::Note <
|
|
2
|
+
class Mdm::Note < ApplicationRecord
|
|
3
3
|
|
|
4
4
|
#
|
|
5
5
|
# Associations
|
|
@@ -113,7 +113,7 @@ class Mdm::Note < ActiveRecord::Base
|
|
|
113
113
|
#
|
|
114
114
|
# @return [void]
|
|
115
115
|
def normalize
|
|
116
|
-
if
|
|
116
|
+
if saved_change_to_data? and ntype =~ /fingerprint/ && host.workspace.present? && !host.workspace.import_fingerprint
|
|
117
117
|
host.normalize_os
|
|
118
118
|
end
|
|
119
119
|
end
|
data/app/models/mdm/payload.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# A payload that has been generated by Metasploit and used to establish {Mdm::Session}.
|
|
2
|
-
class Mdm::Payload <
|
|
2
|
+
class Mdm::Payload < ApplicationRecord
|
|
3
3
|
extend ActiveSupport::Autoload
|
|
4
4
|
|
|
5
5
|
include Metasploit::Model::Search
|
|
@@ -8,14 +8,6 @@ class Mdm::Payload < ActiveRecord::Base
|
|
|
8
8
|
# Associations
|
|
9
9
|
#
|
|
10
10
|
|
|
11
|
-
# @!attribute [rw] workspace
|
|
12
|
-
# {Mdm::Workspace} in which this payload was created.
|
|
13
|
-
#
|
|
14
|
-
# @return [Mdm::Workspace]
|
|
15
|
-
belongs_to :workspace,
|
|
16
|
-
class_name: 'Mdm::Workspace',
|
|
17
|
-
inverse_of: :payloads
|
|
18
|
-
|
|
19
11
|
|
|
20
12
|
#
|
|
21
13
|
# Attributes
|
|
@@ -65,11 +57,6 @@ class Mdm::Payload < ActiveRecord::Base
|
|
|
65
57
|
#
|
|
66
58
|
# @return [String]
|
|
67
59
|
|
|
68
|
-
# @!attribute [rw] workspace_id
|
|
69
|
-
# The ID of the workspace this payload belongs to.
|
|
70
|
-
#
|
|
71
|
-
# @return [Integer]
|
|
72
|
-
|
|
73
60
|
# @!attribute [rw] raw_payload
|
|
74
61
|
# A URL pointing to where the binary payload can be downloaded from.
|
|
75
62
|
#
|
|
@@ -95,8 +82,6 @@ class Mdm::Payload < ActiveRecord::Base
|
|
|
95
82
|
# Validations
|
|
96
83
|
#
|
|
97
84
|
|
|
98
|
-
validates :workspace, :presence => true
|
|
99
|
-
|
|
100
85
|
|
|
101
86
|
#
|
|
102
87
|
# Search Attributes
|
data/app/models/mdm/profile.rb
CHANGED
data/app/models/mdm/ref.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# An external vulnerability reference for vulnerabilities that aren't part of a module. {Mdm::Module::Ref} should be
|
|
2
2
|
# used whenever possible and Mdm::Ref should only be used when the vulnerability is from an import and can't be
|
|
3
3
|
# correlated to a module and its {Mdm::Module::Detail}.
|
|
4
|
-
class Mdm::Ref <
|
|
4
|
+
class Mdm::Ref < ApplicationRecord
|
|
5
5
|
#
|
|
6
6
|
# Associations
|
|
7
7
|
#
|
data/app/models/mdm/route.rb
CHANGED
data/app/models/mdm/service.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# A service, such as an ssh server or web server, running on a {#host}.
|
|
2
|
-
class Mdm::Service <
|
|
2
|
+
class Mdm::Service < ApplicationRecord
|
|
3
3
|
include Metasploit::Model::Search
|
|
4
4
|
|
|
5
5
|
#
|
|
@@ -258,7 +258,7 @@ class Mdm::Service < ActiveRecord::Base
|
|
|
258
258
|
#
|
|
259
259
|
# @return [void]
|
|
260
260
|
def normalize_host_os
|
|
261
|
-
if
|
|
261
|
+
if saved_change_to_info? && host.workspace.present? && !host.workspace.import_fingerprint
|
|
262
262
|
host.normalize_os
|
|
263
263
|
end
|
|
264
264
|
end
|