metasploit_data_models 0.24.5 → 1.0.0.pre.rails.pre.4.0a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -1
  3. data/.simplecov +1 -1
  4. data/Gemfile +8 -5
  5. data/app/models/mdm/api_key.rb +1 -0
  6. data/app/models/mdm/client.rb +2 -2
  7. data/app/models/mdm/cred.rb +13 -13
  8. data/app/models/mdm/event.rb +5 -4
  9. data/app/models/mdm/exploit_attempt.rb +1 -0
  10. data/app/models/mdm/exploited_host.rb +1 -1
  11. data/app/models/mdm/host.rb +37 -20
  12. data/app/models/mdm/host_detail.rb +2 -2
  13. data/app/models/mdm/host_tag.rb +1 -1
  14. data/app/models/mdm/listener.rb +2 -1
  15. data/app/models/mdm/loot.rb +1 -0
  16. data/app/models/mdm/macro.rb +1 -1
  17. data/app/models/mdm/mod_ref.rb +1 -0
  18. data/app/models/mdm/module/action.rb +1 -7
  19. data/app/models/mdm/module/arch.rb +0 -6
  20. data/app/models/mdm/module/author.rb +1 -8
  21. data/app/models/mdm/module/detail.rb +1 -1
  22. data/app/models/mdm/module/mixin.rb +0 -6
  23. data/app/models/mdm/module/platform.rb +0 -6
  24. data/app/models/mdm/module/ref.rb +0 -6
  25. data/app/models/mdm/module/target.rb +0 -7
  26. data/app/models/mdm/nexpose_console.rb +1 -0
  27. data/app/models/mdm/note.rb +3 -3
  28. data/app/models/mdm/ref.rb +0 -6
  29. data/app/models/mdm/route.rb +2 -1
  30. data/app/models/mdm/service.rb +1 -1
  31. data/app/models/mdm/session.rb +8 -7
  32. data/app/models/mdm/session_event.rb +2 -1
  33. data/app/models/mdm/tag.rb +2 -2
  34. data/app/models/mdm/task.rb +1 -3
  35. data/app/models/mdm/user.rb +4 -5
  36. data/app/models/mdm/vuln.rb +8 -7
  37. data/app/models/mdm/vuln_attempt.rb +1 -0
  38. data/app/models/mdm/vuln_detail.rb +3 -2
  39. data/app/models/mdm/vuln_ref.rb +1 -1
  40. data/app/models/mdm/web_form.rb +2 -1
  41. data/app/models/mdm/web_page.rb +3 -2
  42. data/app/models/mdm/web_site.rb +3 -2
  43. data/app/models/mdm/web_vuln.rb +1 -0
  44. data/app/models/mdm/wmap_request.rb +12 -0
  45. data/app/models/mdm/wmap_target.rb +12 -0
  46. data/app/models/mdm/workspace.rb +4 -3
  47. data/app/models/metasploit_data_models/automatic_exploitation/match.rb +0 -3
  48. data/app/models/metasploit_data_models/automatic_exploitation/match_result.rb +0 -12
  49. data/app/models/metasploit_data_models/automatic_exploitation/match_set.rb +0 -1
  50. data/app/models/metasploit_data_models/automatic_exploitation/run.rb +0 -2
  51. data/app/validators/ip_format_validator.rb +6 -1
  52. data/config/initializers/ipaddr.rb +35 -0
  53. data/db/migrate/002_add_workspaces.rb +2 -2
  54. data/db/migrate/007_add_loots.rb +1 -1
  55. data/db/migrate/008_create_users.rb +1 -1
  56. data/db/migrate/011_add_reports.rb +1 -1
  57. data/db/migrate/012_add_tasks.rb +1 -1
  58. data/db/migrate/026_add_creds_table.rb +2 -2
  59. data/db/migrate/20100824151500_add_exploited_table.rb +1 -1
  60. data/db/migrate/20100911122000_add_report_templates.rb +1 -1
  61. data/db/migrate/20100916175000_add_campaigns_and_templates.rb +1 -1
  62. data/db/migrate/20101001000000_add_web_tables.rb +13 -13
  63. data/db/migrate/20110204112800_add_host_tags.rb +1 -1
  64. data/db/migrate/20110527000001_add_api_keys_table.rb +1 -1
  65. data/db/migrate/20110606000001_add_macros_table.rb +2 -2
  66. data/db/migrate/20110624000001_add_listeners_table.rb +1 -1
  67. data/db/migrate/20110630000001_add_nexpose_consoles_table.rb +1 -1
  68. data/db/migrate/20110717000001_add_profiles_table.rb +1 -1
  69. data/db/migrate/20130522001343_create_task_creds.rb +1 -1
  70. data/db/migrate/20130522032517_create_task_hosts.rb +1 -1
  71. data/db/migrate/20130522041110_create_task_services.rb +1 -1
  72. data/db/migrate/20130604145732_create_task_sessions.rb +1 -1
  73. data/db/migrate/20131002004641_create_automatic_exploitation_matches.rb +1 -1
  74. data/db/migrate/20131002164449_create_automatic_exploitation_match_sets.rb +1 -1
  75. data/db/migrate/20131008213344_create_automatic_exploitation_runs.rb +1 -1
  76. data/db/migrate/20131017150735_create_automatic_exploitation_match_results.rb +1 -1
  77. data/db/migrate/20150219173821_create_module_runs.rb +1 -1
  78. data/db/migrate/20150317145455_rename_module_indices.rb +29 -0
  79. data/db/migrate/20150421211719_rename_automatic_exploitation_index.rb +16 -0
  80. data/lib/mdm/host/operating_system_normalization.rb +1 -1
  81. data/lib/metasploit_data_models.rb +1 -0
  82. data/lib/metasploit_data_models/engine.rb +1 -1
  83. data/lib/metasploit_data_models/version.rb +5 -3
  84. data/metasploit_data_models.gemspec +11 -8
  85. data/spec/app/models/mdm/event_spec.rb +17 -11
  86. data/spec/app/models/mdm/host_spec.rb +2 -2
  87. data/spec/app/models/mdm/module/action_spec.rb +0 -5
  88. data/spec/app/models/mdm/module/arch_spec.rb +0 -5
  89. data/spec/app/models/mdm/module/author_spec.rb +0 -6
  90. data/spec/app/models/mdm/module/detail_spec.rb +3 -3
  91. data/spec/app/models/mdm/module/mixin_spec.rb +0 -5
  92. data/spec/app/models/mdm/module/platform_spec.rb +0 -5
  93. data/spec/app/models/mdm/module/ref_spec.rb +0 -5
  94. data/spec/app/models/mdm/module/target_spec.rb +0 -6
  95. data/spec/app/models/mdm/ref_spec.rb +0 -3
  96. data/spec/app/models/mdm/service_spec.rb +1 -1
  97. data/spec/app/models/mdm/web_vuln_spec.rb +3 -3
  98. data/spec/app/models/mdm/wmap_request_spec.rb +2 -0
  99. data/spec/app/models/mdm/wmap_target_spec.rb +2 -0
  100. data/spec/app/models/mdm/workspace_spec.rb +2 -2
  101. data/spec/app/models/metasploit_data_models/search/operation/port/number_spec.rb +1 -1
  102. data/spec/dummy/config/application.rb +1 -7
  103. data/spec/dummy/config/environments/development.rb +2 -13
  104. data/spec/dummy/config/environments/production.rb +2 -0
  105. data/spec/dummy/config/environments/test.rb +2 -6
  106. data/spec/dummy/db/structure.sql +24 -19
  107. data/spec/dummy/db/structure.sql.from_rails_3 +3403 -0
  108. data/spec/factories/mdm/module/details.rb +1 -1
  109. data/spec/lib/ipaddr_spec.rb +31 -0
  110. data/spec/lib/metasploit_data_models/version_spec.rb +1 -3
  111. data/spec/support/shared/examples/coerces_inet_column_type_to_string.rb +15 -0
  112. metadata +63 -28
@@ -1,6 +1,6 @@
1
1
  FactoryGirl.define do
2
2
  factory :mdm_module_detail, :class => Mdm::Module::Detail do
3
- ignore do
3
+ transient do
4
4
  root {
5
5
  MetasploitDataModels.root
6
6
  }
@@ -0,0 +1,31 @@
1
+ require "spec_helper"
2
+
3
+ describe IPAddr do
4
+ subject(:ip_address) { IPAddr.new('10.0.0.1') }
5
+
6
+ describe '#==' do
7
+ it { is_expected.to be == '10.0.0.1'}
8
+ it { is_expected.to be == IPAddr.new('10.0.0.1')}
9
+ it { is_expected.not_to be == 'foo'}
10
+
11
+ it 'does not raise an error when compared to a non ip address' do
12
+ expect {
13
+ ip_address == 'foo'
14
+ }.to_not raise_error
15
+ end
16
+ end
17
+
18
+ describe '#include?' do
19
+ subject(:ip_range) { IPAddr.new('10.0.0.1/24') }
20
+ it { is_expected.to include '10.0.0.1'}
21
+ it { is_expected.to include ip_address}
22
+ it { is_expected.not_to include 'foo'}
23
+
24
+ it 'does not raise an error when checking for a non ip address' do
25
+ expect {
26
+ ip_range.include? 'foo'
27
+ }.to_not raise_error
28
+ end
29
+ end
30
+
31
+ end
@@ -7,9 +7,7 @@ describe MetasploitDataModels::Version do
7
7
  described_class::MAJOR
8
8
  end
9
9
 
10
- it 'is 0 because the API is not locked yet' do
11
- expect(major).to eq(0)
12
- end
10
+ it { should be_a Integer }
13
11
  end
14
12
 
15
13
  context 'MINOR' do
@@ -0,0 +1,15 @@
1
+ shared_examples_for 'coerces inet column type to string' do |column|
2
+ raise ArgumentError, 'must pass the column name' unless column
3
+
4
+ context 'with an inet column' do
5
+ let(:address) { '10.0.0.1' }
6
+
7
+ before(:each) do
8
+ subject.update_attribute column, address
9
+ end
10
+
11
+ it 'should cast the column as a string when fetching from the database' do
12
+ expect(subject.send(column)).to eq(address)
13
+ end
14
+ end
15
+ end
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.24.5
4
+ version: 1.0.0.pre.rails.pre.4.0a
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-05-29 00:00:00.000000000 Z
14
+ date: 2015-04-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake
@@ -61,92 +61,118 @@ dependencies:
61
61
  requirements:
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: 3.2.13
64
+ version: 4.0.9
65
65
  - - "<"
66
66
  - !ruby/object:Gem::Version
67
- version: 4.0.0
67
+ version: 4.1.0
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 3.2.13
74
+ version: 4.0.9
75
75
  - - "<"
76
76
  - !ruby/object:Gem::Version
77
- version: 4.0.0
77
+ version: 4.1.0
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: activesupport
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: 4.0.9
85
+ - - "<"
86
+ - !ruby/object:Gem::Version
87
+ version: 4.1.0
85
88
  type: :runtime
86
89
  prerelease: false
87
90
  version_requirements: !ruby/object:Gem::Requirement
88
91
  requirements:
89
92
  - - ">="
90
93
  - !ruby/object:Gem::Version
91
- version: '0'
94
+ version: 4.0.9
95
+ - - "<"
96
+ - !ruby/object:Gem::Version
97
+ version: 4.1.0
92
98
  - !ruby/object:Gem::Dependency
93
- name: recog
99
+ name: metasploit-concern
94
100
  requirement: !ruby/object:Gem::Requirement
95
101
  requirements:
96
- - - "~>"
102
+ - - '='
97
103
  - !ruby/object:Gem::Version
98
- version: '1.0'
104
+ version: 1.0.0.pre.rails.pre.4.0
99
105
  type: :runtime
100
106
  prerelease: false
101
107
  version_requirements: !ruby/object:Gem::Requirement
102
108
  requirements:
103
- - - "~>"
109
+ - - '='
104
110
  - !ruby/object:Gem::Version
105
- version: '1.0'
111
+ version: 1.0.0.pre.rails.pre.4.0
106
112
  - !ruby/object:Gem::Dependency
107
- name: metasploit-concern
113
+ name: metasploit-model
108
114
  requirement: !ruby/object:Gem::Requirement
109
115
  requirements:
110
116
  - - '='
111
117
  - !ruby/object:Gem::Version
112
- version: 0.4.0
118
+ version: 1.0.0.pre.rails.pre.4.0
113
119
  type: :runtime
114
120
  prerelease: false
115
121
  version_requirements: !ruby/object:Gem::Requirement
116
122
  requirements:
117
123
  - - '='
118
124
  - !ruby/object:Gem::Version
119
- version: 0.4.0
125
+ version: 1.0.0.pre.rails.pre.4.0
120
126
  - !ruby/object:Gem::Dependency
121
- name: metasploit-model
127
+ name: railties
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 4.0.9
133
+ - - "<"
134
+ - !ruby/object:Gem::Version
135
+ version: 4.1.0
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 4.0.9
143
+ - - "<"
144
+ - !ruby/object:Gem::Version
145
+ version: 4.1.0
146
+ - !ruby/object:Gem::Dependency
147
+ name: recog
122
148
  requirement: !ruby/object:Gem::Requirement
123
149
  requirements:
124
150
  - - "~>"
125
151
  - !ruby/object:Gem::Version
126
- version: 0.29.0
152
+ version: '1.0'
127
153
  type: :runtime
128
154
  prerelease: false
129
155
  version_requirements: !ruby/object:Gem::Requirement
130
156
  requirements:
131
157
  - - "~>"
132
158
  - !ruby/object:Gem::Version
133
- version: 0.29.0
159
+ version: '1.0'
134
160
  - !ruby/object:Gem::Dependency
135
- name: railties
161
+ name: arel-helpers
136
162
  requirement: !ruby/object:Gem::Requirement
137
163
  requirements:
138
- - - "<"
164
+ - - ">="
139
165
  - !ruby/object:Gem::Version
140
- version: 4.0.0
166
+ version: '0'
141
167
  type: :runtime
142
168
  prerelease: false
143
169
  version_requirements: !ruby/object:Gem::Requirement
144
170
  requirements:
145
- - - "<"
171
+ - - ">="
146
172
  - !ruby/object:Gem::Version
147
- version: 4.0.0
173
+ version: '0'
148
174
  - !ruby/object:Gem::Dependency
149
- name: arel-helpers
175
+ name: postgres_ext
150
176
  requirement: !ruby/object:Gem::Requirement
151
177
  requirements:
152
178
  - - ">="
@@ -289,6 +315,7 @@ files:
289
315
  - app/validators/password_is_strong_validator.rb
290
316
  - bin/mdm_console
291
317
  - config/initializers/arel_helper.rb
318
+ - config/initializers/ipaddr.rb
292
319
  - config/locales/en.yml
293
320
  - console_db.yml
294
321
  - db/migrate/000_create_tables.rb
@@ -413,7 +440,9 @@ files:
413
440
  - db/migrate/20150219215039_add_module_run_to_session.rb
414
441
  - db/migrate/20150226151459_add_module_run_fk_to_loot.rb
415
442
  - db/migrate/20150312155312_add_module_full_name_to_match.rb
443
+ - db/migrate/20150317145455_rename_module_indices.rb
416
444
  - db/migrate/20150326183742_add_missing_ae_indices.rb
445
+ - db/migrate/20150421211719_rename_automatic_exploitation_index.rb
417
446
  - lib/mdm.rb
418
447
  - lib/mdm/host/operating_system_normalization.rb
419
448
  - lib/mdm/module.rb
@@ -542,6 +571,7 @@ files:
542
571
  - spec/dummy/config/initializers/wrap_parameters.rb
543
572
  - spec/dummy/config/routes.rb
544
573
  - spec/dummy/db/structure.sql
574
+ - spec/dummy/db/structure.sql.from_rails_3
545
575
  - spec/dummy/lib/assets/.gitkeep
546
576
  - spec/dummy/log/.gitkeep
547
577
  - spec/dummy/public/404.html
@@ -602,6 +632,7 @@ files:
602
632
  - spec/factories/metasploit_data_models/automatic_exploitation/runs.rb
603
633
  - spec/factories/module_runs.rb
604
634
  - spec/lib/base64_serializer_spec.rb
635
+ - spec/lib/ipaddr_spec.rb
605
636
  - spec/lib/metasploit_data_models/ip_address/cidr_spec.rb
606
637
  - spec/lib/metasploit_data_models/ip_address/range_spec.rb
607
638
  - spec/lib/metasploit_data_models/match/child_spec.rb
@@ -610,6 +641,7 @@ files:
610
641
  - spec/spec_helper.rb
611
642
  - spec/support/matchers/match_regex_exactly.rb
612
643
  - spec/support/shared/contexts/rex/text.rb
644
+ - spec/support/shared/examples/coerces_inet_column_type_to_string.rb
613
645
  - spec/support/shared/examples/mdm/module/detail/does_not_support_stance_with_mtype.rb
614
646
  - spec/support/shared/examples/mdm/module/detail/supports_stance_with_mtype.rb
615
647
  - spec/support/shared/examples/metasploit_data_models/search/operation/ipaddress/match.rb
@@ -636,12 +668,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
636
668
  version: '2.1'
637
669
  required_rubygems_version: !ruby/object:Gem::Requirement
638
670
  requirements:
639
- - - ">="
671
+ - - ">"
640
672
  - !ruby/object:Gem::Version
641
- version: '0'
673
+ version: 1.3.1
642
674
  requirements: []
643
675
  rubyforge_project:
644
- rubygems_version: 2.4.6
676
+ rubygems_version: 2.4.3
645
677
  signing_key:
646
678
  specification_version: 4
647
679
  summary: Database code for MSF and Metasploit Pro
@@ -747,6 +779,7 @@ test_files:
747
779
  - spec/dummy/config/initializers/wrap_parameters.rb
748
780
  - spec/dummy/config/routes.rb
749
781
  - spec/dummy/db/structure.sql
782
+ - spec/dummy/db/structure.sql.from_rails_3
750
783
  - spec/dummy/lib/assets/.gitkeep
751
784
  - spec/dummy/log/.gitkeep
752
785
  - spec/dummy/public/404.html
@@ -807,6 +840,7 @@ test_files:
807
840
  - spec/factories/metasploit_data_models/automatic_exploitation/runs.rb
808
841
  - spec/factories/module_runs.rb
809
842
  - spec/lib/base64_serializer_spec.rb
843
+ - spec/lib/ipaddr_spec.rb
810
844
  - spec/lib/metasploit_data_models/ip_address/cidr_spec.rb
811
845
  - spec/lib/metasploit_data_models/ip_address/range_spec.rb
812
846
  - spec/lib/metasploit_data_models/match/child_spec.rb
@@ -815,6 +849,7 @@ test_files:
815
849
  - spec/spec_helper.rb
816
850
  - spec/support/matchers/match_regex_exactly.rb
817
851
  - spec/support/shared/contexts/rex/text.rb
852
+ - spec/support/shared/examples/coerces_inet_column_type_to_string.rb
818
853
  - spec/support/shared/examples/mdm/module/detail/does_not_support_stance_with_mtype.rb
819
854
  - spec/support/shared/examples/mdm/module/detail/supports_stance_with_mtype.rb
820
855
  - spec/support/shared/examples/metasploit_data_models/search/operation/ipaddress/match.rb