metasploit_data_models 3.0.10 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (215) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.gitignore +1 -1
  5. data/.travis.yml +1 -1
  6. data/Gemfile +6 -4
  7. data/Rakefile +1 -1
  8. data/app/models/mdm/api_key.rb +1 -1
  9. data/app/models/mdm/async_callback.rb +1 -1
  10. data/app/models/mdm/client.rb +1 -1
  11. data/app/models/mdm/cred.rb +1 -1
  12. data/app/models/mdm/event.rb +1 -1
  13. data/app/models/mdm/exploit_attempt.rb +1 -1
  14. data/app/models/mdm/exploited_host.rb +1 -1
  15. data/app/models/mdm/host.rb +2 -2
  16. data/app/models/mdm/host_detail.rb +2 -2
  17. data/app/models/mdm/host_tag.rb +1 -1
  18. data/app/models/mdm/listener.rb +1 -1
  19. data/app/models/mdm/loot.rb +1 -1
  20. data/app/models/mdm/macro.rb +1 -1
  21. data/app/models/mdm/mod_ref.rb +1 -1
  22. data/app/models/mdm/module/action.rb +1 -1
  23. data/app/models/mdm/module/arch.rb +1 -1
  24. data/app/models/mdm/module/author.rb +1 -1
  25. data/app/models/mdm/module/detail.rb +1 -1
  26. data/app/models/mdm/module/mixin.rb +1 -1
  27. data/app/models/mdm/module/platform.rb +1 -1
  28. data/app/models/mdm/module/ref.rb +1 -1
  29. data/app/models/mdm/module/target.rb +1 -1
  30. data/app/models/mdm/nexpose_console.rb +1 -1
  31. data/app/models/mdm/note.rb +1 -1
  32. data/app/models/mdm/payload.rb +1 -1
  33. data/app/models/mdm/profile.rb +1 -1
  34. data/app/models/mdm/ref.rb +1 -1
  35. data/app/models/mdm/route.rb +1 -1
  36. data/app/models/mdm/service.rb +2 -2
  37. data/app/models/mdm/session.rb +1 -1
  38. data/app/models/mdm/session_event.rb +1 -1
  39. data/app/models/mdm/tag.rb +1 -1
  40. data/app/models/mdm/task.rb +1 -1
  41. data/app/models/mdm/task_cred.rb +1 -1
  42. data/app/models/mdm/task_host.rb +1 -1
  43. data/app/models/mdm/task_service.rb +1 -1
  44. data/app/models/mdm/task_session.rb +1 -1
  45. data/app/models/mdm/user.rb +2 -2
  46. data/app/models/mdm/vuln.rb +2 -2
  47. data/app/models/mdm/vuln_attempt.rb +1 -1
  48. data/app/models/mdm/vuln_detail.rb +1 -1
  49. data/app/models/mdm/vuln_ref.rb +1 -1
  50. data/app/models/mdm/web_form.rb +1 -1
  51. data/app/models/mdm/web_page.rb +1 -1
  52. data/app/models/mdm/web_site.rb +1 -1
  53. data/app/models/mdm/web_vuln.rb +1 -1
  54. data/app/models/mdm/wmap_request.rb +1 -1
  55. data/app/models/mdm/wmap_target.rb +1 -1
  56. data/app/models/mdm/workspace.rb +6 -6
  57. data/app/models/metasploit_data_models/automatic_exploitation/match.rb +1 -1
  58. data/app/models/metasploit_data_models/automatic_exploitation/match_result.rb +1 -1
  59. data/app/models/metasploit_data_models/automatic_exploitation/match_set.rb +1 -1
  60. data/app/models/metasploit_data_models/automatic_exploitation/run.rb +2 -2
  61. data/app/models/metasploit_data_models/module_run.rb +1 -1
  62. data/bin/rails +14 -0
  63. data/config/initializers/arel_helper.rb +2 -2
  64. data/config/initializers/ipaddr.rb +11 -6
  65. data/db/migrate/000_create_tables.rb +1 -1
  66. data/db/migrate/001_add_wmap_tables.rb +1 -1
  67. data/db/migrate/002_add_workspaces.rb +1 -1
  68. data/db/migrate/003_move_notes.rb +1 -1
  69. data/db/migrate/004_add_events_table.rb +1 -1
  70. data/db/migrate/005_expand_info.rb +1 -1
  71. data/db/migrate/006_add_timestamps.rb +1 -1
  72. data/db/migrate/007_add_loots.rb +1 -1
  73. data/db/migrate/008_create_users.rb +1 -1
  74. data/db/migrate/009_add_loots_ctype.rb +1 -1
  75. data/db/migrate/010_add_alert_fields.rb +1 -1
  76. data/db/migrate/011_add_reports.rb +1 -1
  77. data/db/migrate/012_add_tasks.rb +1 -1
  78. data/db/migrate/013_add_tasks_result.rb +1 -1
  79. data/db/migrate/014_add_loots_fields.rb +1 -1
  80. data/db/migrate/015_rename_user.rb +1 -1
  81. data/db/migrate/016_add_host_purpose.rb +1 -1
  82. data/db/migrate/017_expand_info2.rb +1 -1
  83. data/db/migrate/018_add_workspace_user_info.rb +1 -1
  84. data/db/migrate/019_add_workspace_desc.rb +1 -1
  85. data/db/migrate/020_add_user_preferences.rb +1 -1
  86. data/db/migrate/021_standardize_info_and_data.rb +1 -1
  87. data/db/migrate/022_enlarge_event_info.rb +1 -1
  88. data/db/migrate/023_add_report_downloaded_at.rb +1 -1
  89. data/db/migrate/024_convert_service_info_to_text.rb +1 -1
  90. data/db/migrate/025_add_user_admin.rb +1 -1
  91. data/db/migrate/026_add_creds_table.rb +1 -1
  92. data/db/migrate/20100819123300_migrate_cred_data.rb +1 -1
  93. data/db/migrate/20100824151500_add_exploited_table.rb +1 -1
  94. data/db/migrate/20100908001428_add_owner_to_workspaces.rb +1 -1
  95. data/db/migrate/20100911122000_add_report_templates.rb +1 -1
  96. data/db/migrate/20100916151530_require_admin_flag.rb +1 -1
  97. data/db/migrate/20100916175000_add_campaigns_and_templates.rb +1 -1
  98. data/db/migrate/20100920012100_add_generate_exe_column.rb +1 -1
  99. data/db/migrate/20100926214000_add_template_prefs.rb +1 -1
  100. data/db/migrate/20101001000000_add_web_tables.rb +1 -1
  101. data/db/migrate/20101002000000_add_query.rb +1 -1
  102. data/db/migrate/20101007000000_add_vuln_info.rb +1 -1
  103. data/db/migrate/20101008111800_add_clients_to_campaigns.rb +1 -1
  104. data/db/migrate/20101009023300_add_campaign_attachments.rb +1 -1
  105. data/db/migrate/20101104135100_add_imported_creds.rb +1 -1
  106. data/db/migrate/20101203000000_fix_web_tables.rb +1 -1
  107. data/db/migrate/20101203000001_expand_host_comment.rb +1 -1
  108. data/db/migrate/20101206212033_add_limit_to_network_to_workspaces.rb +1 -1
  109. data/db/migrate/20110112154300_add_module_uuid_to_tasks.rb +1 -1
  110. data/db/migrate/20110204112800_add_host_tags.rb +1 -1
  111. data/db/migrate/20110317144932_add_session_table.rb +4 -4
  112. data/db/migrate/20110414180600_add_local_id_to_session_table.rb +1 -1
  113. data/db/migrate/20110415175705_add_routes_table.rb +1 -1
  114. data/db/migrate/20110422000000_convert_binary.rb +3 -3
  115. data/db/migrate/20110425095900_add_last_seen_to_sessions.rb +1 -1
  116. data/db/migrate/20110513143900_track_successful_exploits.rb +3 -3
  117. data/db/migrate/20110517160800_rename_and_prune_nessus_vulns.rb +2 -2
  118. data/db/migrate/20110527000000_add_task_id_to_reports_table.rb +1 -1
  119. data/db/migrate/20110527000001_add_api_keys_table.rb +1 -1
  120. data/db/migrate/20110606000001_add_macros_table.rb +1 -1
  121. data/db/migrate/20110622000000_add_settings_to_tasks_table.rb +1 -1
  122. data/db/migrate/20110624000001_add_listeners_table.rb +1 -1
  123. data/db/migrate/20110625000001_add_macro_to_listeners_table.rb +1 -1
  124. data/db/migrate/20110630000001_add_nexpose_consoles_table.rb +1 -1
  125. data/db/migrate/20110630000002_add_name_to_nexpose_consoles_table.rb +1 -1
  126. data/db/migrate/20110717000001_add_profiles_table.rb +1 -1
  127. data/db/migrate/20110727163801_expand_cred_ptype_column.rb +1 -1
  128. data/db/migrate/20110730000001_add_initial_indexes.rb +1 -1
  129. data/db/migrate/20110812000001_prune_indexes.rb +1 -1
  130. data/db/migrate/20110922000000_expand_notes.rb +1 -1
  131. data/db/migrate/20110928101300_add_mod_ref_table.rb +1 -1
  132. data/db/migrate/20111011110000_add_display_name_to_reports_table.rb +2 -2
  133. data/db/migrate/20111203000000_inet_columns.rb +1 -1
  134. data/db/migrate/20111204000000_more_inet_columns.rb +1 -1
  135. data/db/migrate/20111210000000_add_scope_to_hosts.rb +1 -1
  136. data/db/migrate/20120126110000_add_virtual_host_to_hosts.rb +1 -1
  137. data/db/migrate/20120411173220_rename_workspace_members.rb +1 -1
  138. data/db/migrate/20120601152442_add_counter_caches_to_hosts.rb +2 -2
  139. data/db/migrate/20120625000000_add_vuln_details.rb +1 -1
  140. data/db/migrate/20120625000001_add_host_details.rb +1 -1
  141. data/db/migrate/20120625000002_expand_details.rb +1 -1
  142. data/db/migrate/20120625000003_expand_details2.rb +1 -1
  143. data/db/migrate/20120625000004_add_vuln_attempts.rb +1 -1
  144. data/db/migrate/20120625000005_add_vuln_and_host_counter_caches.rb +1 -1
  145. data/db/migrate/20120625000006_add_module_details.rb +1 -1
  146. data/db/migrate/20120625000007_add_exploit_attempts.rb +1 -1
  147. data/db/migrate/20120625000008_add_fail_message.rb +1 -1
  148. data/db/migrate/20120718202805_add_owner_and_payload_to_web_vulns.rb +1 -1
  149. data/db/migrate/20130412154159_change_foreign_key_in_module_actions.rb +1 -1
  150. data/db/migrate/20130412171844_change_foreign_key_in_module_archs.rb +1 -1
  151. data/db/migrate/20130412173121_change_foreign_key_in_module_authors.rb +1 -1
  152. data/db/migrate/20130412173640_change_foreign_key_in_module_mixins.rb +1 -1
  153. data/db/migrate/20130412174254_change_foreign_key_in_module_platforms.rb +1 -1
  154. data/db/migrate/20130412174719_change_foreign_key_in_module_refs.rb +1 -1
  155. data/db/migrate/20130412175040_change_foreign_key_in_module_targets.rb +1 -1
  156. data/db/migrate/20130423211152_add_creds_counter_cache.rb +1 -1
  157. data/db/migrate/20130430162145_enforce_address_uniqueness_in_workspace_in_hosts.rb +6 -6
  158. data/db/migrate/20130510021637_remove_campaigns.rb +1 -1
  159. data/db/migrate/20130515164311_change_web_vulns_confidence_to_integer.rb +1 -1
  160. data/db/migrate/20130515172727_valid_mdm_web_vuln_params.rb +1 -1
  161. data/db/migrate/20130516204810_making_vulns_refs_a_real_ar_model.rb +2 -2
  162. data/db/migrate/20130522001343_create_task_creds.rb +1 -1
  163. data/db/migrate/20130522032517_create_task_hosts.rb +1 -1
  164. data/db/migrate/20130522041110_create_task_services.rb +1 -1
  165. data/db/migrate/20130525015035_remove_campaign_id_from_clients.rb +1 -1
  166. data/db/migrate/20130525212420_drop_table_imported_creds.rb +1 -1
  167. data/db/migrate/20130531144949_making_host_tags_a_real_ar_model.rb +1 -1
  168. data/db/migrate/20130604145732_create_task_sessions.rb +1 -1
  169. data/db/migrate/20130717150737_remove_pname_validation.rb +1 -1
  170. data/db/migrate/20131002004641_create_automatic_exploitation_matches.rb +1 -1
  171. data/db/migrate/20131002164449_create_automatic_exploitation_match_sets.rb +1 -1
  172. data/db/migrate/20131008213344_create_automatic_exploitation_runs.rb +1 -1
  173. data/db/migrate/20131011184338_module_detail_on_automatic_exploitation_match.rb +1 -1
  174. data/db/migrate/20131017150735_create_automatic_exploitation_match_results.rb +1 -1
  175. data/db/migrate/20131021185657_make_match_polymorphic.rb +1 -1
  176. data/db/migrate/20140905031549_add_detected_arch_to_host.rb +1 -1
  177. data/db/migrate/20150112203945_remove_duplicate_services.rb +1 -1
  178. data/db/migrate/20150205192745_drop_service_uniqueness_index.rb +1 -1
  179. data/db/migrate/20150209195939_add_vuln_id_to_note.rb +1 -1
  180. data/db/migrate/20150212214222_remove_duplicate_services2.rb +1 -1
  181. data/db/migrate/20150219173821_create_module_runs.rb +1 -1
  182. data/db/migrate/20150219215039_add_module_run_to_session.rb +1 -1
  183. data/db/migrate/20150226151459_add_module_run_fk_to_loot.rb +1 -1
  184. data/db/migrate/20150312155312_add_module_full_name_to_match.rb +1 -1
  185. data/db/migrate/20150317145455_rename_module_indices.rb +2 -2
  186. data/db/migrate/20150326183742_add_missing_ae_indices.rb +1 -1
  187. data/db/migrate/20150421211719_rename_automatic_exploitation_index.rb +3 -3
  188. data/db/migrate/20150514182921_add_origin_to_mdm_vuln.rb +1 -1
  189. data/db/migrate/20160415153312_remove_not_null_from_web_vuln_p_arams.rb +1 -1
  190. data/db/migrate/20161004165612_add_fingerprinted_to_workspace.rb +1 -1
  191. data/db/migrate/20161227212223_add_os_family_to_hosts.rb +1 -1
  192. data/db/migrate/20180904120211_create_payloads.rb +1 -1
  193. data/db/migrate/20190308134512_create_async_callbacks.rb +1 -1
  194. data/db/migrate/20190507120211_remove_payload_workspaces.rb +1 -1
  195. data/lib/metasploit_data_models.rb +0 -1
  196. data/lib/metasploit_data_models/automatic_exploitation.rb +1 -1
  197. data/lib/metasploit_data_models/base64_serializer.rb +1 -1
  198. data/lib/metasploit_data_models/change_required_columns_to_null_false.rb +2 -2
  199. data/lib/metasploit_data_models/engine.rb +1 -1
  200. data/lib/metasploit_data_models/version.rb +1 -1
  201. data/metasploit_data_models.gemspec +4 -8
  202. data/spec/app/models/mdm/exploit_attempt_spec.rb +2 -2
  203. data/spec/app/models/mdm/host_detail_spec.rb +1 -1
  204. data/spec/app/models/mdm/module/detail_spec.rb +18 -18
  205. data/spec/app/models/mdm/service_spec.rb +1 -0
  206. data/spec/app/models/mdm/vuln_attempt_spec.rb +1 -1
  207. data/spec/app/models/mdm/vuln_detail_spec.rb +1 -1
  208. data/spec/app/models/mdm/vuln_spec.rb +1 -1
  209. data/spec/app/models/metasploit_data_models/search/visitor/joins_spec.rb +4 -4
  210. data/spec/dummy/app/assets/config/manifest.js +1 -0
  211. data/spec/dummy/app/models/application_record.rb +3 -0
  212. data/spec/dummy/db/structure.sql +213 -329
  213. metadata +89 -98
  214. metadata.gz.sig +1 -3
  215. data/spec/dummy/config/initializers/secret_token.rb +0 -7
@@ -1,5 +1,5 @@
1
1
  # An attempt to exploit a {#vuln}.
2
- class Mdm::VulnAttempt < ActiveRecord::Base
2
+ class Mdm::VulnAttempt < ApplicationRecord
3
3
 
4
4
  #
5
5
  # Associations
@@ -1,5 +1,5 @@
1
1
  # {Mdm::Vuln Vulnerability details} supplied from an external source, such as Nexpose.
2
- class Mdm::VulnDetail < ActiveRecord::Base
2
+ class Mdm::VulnDetail < ApplicationRecord
3
3
  #
4
4
  # Associations
5
5
  #
@@ -1,5 +1,5 @@
1
1
  # Join model between {Mdm::Vuln} and {Mdm::Ref}.
2
- class Mdm::VulnRef < ActiveRecord::Base
2
+ class Mdm::VulnRef < ApplicationRecord
3
3
  self.table_name = 'vulns_refs'
4
4
 
5
5
  #
@@ -1,5 +1,5 @@
1
1
  # A filled-in form on a {#web_site}.
2
- class Mdm::WebForm < ActiveRecord::Base
2
+ class Mdm::WebForm < ApplicationRecord
3
3
 
4
4
  #
5
5
  # Associations
@@ -1,5 +1,5 @@
1
1
  # Web page requested from a {#web_site}.
2
- class Mdm::WebPage < ActiveRecord::Base
2
+ class Mdm::WebPage < ApplicationRecord
3
3
 
4
4
  #
5
5
  # Associations
@@ -1,5 +1,5 @@
1
1
  # A Web Site running on a {#service}.
2
- class Mdm::WebSite < ActiveRecord::Base
2
+ class Mdm::WebSite < ApplicationRecord
3
3
 
4
4
  #
5
5
  # Associations
@@ -10,7 +10,7 @@
10
10
  # "#{confidence}%"
11
11
  # end
12
12
  # end
13
- class Mdm::WebVuln < ActiveRecord::Base
13
+ class Mdm::WebVuln < ApplicationRecord
14
14
 
15
15
  #
16
16
  # CONSTANTS
@@ -1,5 +1,5 @@
1
1
  # Request sent to a {Mdm::WmapTarget}. WMAP is a plugin to metasploit-framework.
2
- class Mdm::WmapRequest < ActiveRecord::Base
2
+ class Mdm::WmapRequest < ApplicationRecord
3
3
  #
4
4
  #
5
5
  # Attributes
@@ -1,5 +1,5 @@
1
1
  # WMAP target. WMAP is a plugin to metasploit-framework.
2
- class Mdm::WmapTarget < ActiveRecord::Base
2
+ class Mdm::WmapTarget < ApplicationRecord
3
3
  #
4
4
  # Attributes
5
5
  #
@@ -1,6 +1,6 @@
1
1
  # Workspace to separate different collections of {#hosts}. Can be used to separate pentests against different networks
2
2
  # or different clients as reports are normally generated against all records in a workspace.
3
- class Mdm::Workspace < ActiveRecord::Base
3
+ class Mdm::Workspace < ApplicationRecord
4
4
  #
5
5
  # CONSTANTS
6
6
  #
@@ -52,7 +52,7 @@ class Mdm::Workspace < ActiveRecord::Base
52
52
  # Users that are allowed to use this workspace. Does not necessarily include all users, as an {Mdm::User#admin
53
53
  # administrator} can access any workspace, even ones where they are not a member.
54
54
  has_and_belongs_to_many :users,
55
- -> { uniq },
55
+ -> { distinct },
56
56
  class_name: 'Mdm::User',
57
57
  join_table: 'workspace_members'
58
58
 
@@ -210,7 +210,7 @@ class Mdm::Workspace < ActiveRecord::Base
210
210
  Mdm::WebSite.join_association(:service),
211
211
  Mdm::Service.join_association(:host),
212
212
  Mdm::Host.join_association(:workspace)
213
- ).where(Mdm::Workspace[:id].eq(id)).uniq
213
+ ).where(Mdm::Workspace[:id].eq(id)).distinct
214
214
  end
215
215
 
216
216
 
@@ -223,7 +223,7 @@ class Mdm::Workspace < ActiveRecord::Base
223
223
  Mdm::WebSite.join_association(:service),
224
224
  Mdm::Service.join_association(:host),
225
225
  Mdm::Host.join_association(:workspace)
226
- ).where(Mdm::Workspace[:id].eq(id)).uniq
226
+ ).where(Mdm::Workspace[:id].eq(id)).distinct
227
227
  end
228
228
 
229
229
  # Web sites running on {#services}.
@@ -234,7 +234,7 @@ class Mdm::Workspace < ActiveRecord::Base
234
234
  Mdm::WebSite.join_association(:service),
235
235
  Mdm::Service.join_association(:host),
236
236
  Mdm::Host.join_association(:workspace)
237
- ).where(Mdm::Workspace[:id].eq(id)).uniq
237
+ ).where(Mdm::Workspace[:id].eq(id)).distinct
238
238
  end
239
239
 
240
240
  # Web vulnerability found on {#web_sites}.
@@ -246,7 +246,7 @@ class Mdm::Workspace < ActiveRecord::Base
246
246
  Mdm::WebSite.join_association(:service),
247
247
  Mdm::Service.join_association(:host),
248
248
  Mdm::Host.join_association(:workspace)
249
- ).where(Mdm::Workspace[:id].eq(id)).uniq
249
+ ).where(Mdm::Workspace[:id].eq(id)).distinct
250
250
  end
251
251
 
252
252
  # Web forms on {#web_sites}.
@@ -1,5 +1,5 @@
1
1
  # Matches {#matchable} {Mdm::Service} or {Mdm::Vuln} to a {#module_detail Metasploit Module} that can exploit it.
2
- class MetasploitDataModels::AutomaticExploitation::Match < ActiveRecord::Base
2
+ class MetasploitDataModels::AutomaticExploitation::Match < ApplicationRecord
3
3
  #
4
4
  # Associations
5
5
  #
@@ -1,5 +1,5 @@
1
1
  # The result of {#run running} a {#match}.
2
- class MetasploitDataModels::AutomaticExploitation::MatchResult < ActiveRecord::Base
2
+ class MetasploitDataModels::AutomaticExploitation::MatchResult < ApplicationRecord
3
3
  #
4
4
  # CONSTANTS
5
5
  #
@@ -1,5 +1,5 @@
1
1
  # A set of {#matches automatic exploitation matches}.
2
- class MetasploitDataModels::AutomaticExploitation::MatchSet < ActiveRecord::Base
2
+ class MetasploitDataModels::AutomaticExploitation::MatchSet < ApplicationRecord
3
3
  #
4
4
  # Associations
5
5
  #
@@ -1,5 +1,5 @@
1
1
  # Runs a {#match_set set of matches} to produce {#match_results results}.
2
- class MetasploitDataModels::AutomaticExploitation::Run < ActiveRecord::Base
2
+ class MetasploitDataModels::AutomaticExploitation::Run < ApplicationRecord
3
3
  #
4
4
  # Associations
5
5
  #
@@ -26,4 +26,4 @@ class MetasploitDataModels::AutomaticExploitation::Run < ActiveRecord::Base
26
26
  inverse_of: :automatic_exploitation_runs
27
27
 
28
28
  Metasploit::Concern.run(self)
29
- end
29
+ end
@@ -6,7 +6,7 @@
6
6
  # There are also associations to {Mdm::Session} for two use cases: a `spawned_session` is a
7
7
  # session created by the ModuleRun. A `target_session` is a session that the ModuleRun
8
8
  # is acting upon (e.g.) for running a post module.
9
- class MetasploitDataModels::ModuleRun < ActiveRecord::Base
9
+ class MetasploitDataModels::ModuleRun < ApplicationRecord
10
10
  #
11
11
  # Constants
12
12
  #
data/bin/rails ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails gems
3
+ # installed from the root of your application.
4
+
5
+ ENGINE_ROOT = File.expand_path('..', __dir__)
6
+ ENGINE_PATH = File.expand_path('../lib/metasploit_data_models/engine', __dir__)
7
+ APP_PATH = File.expand_path('../test/dummy/config/application', __dir__)
8
+
9
+ # Set up gems listed in the Gemfile.
10
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
11
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
12
+
13
+ require 'rails/all'
14
+ require 'rails/engine/commands'
@@ -1,5 +1,5 @@
1
1
  # Including arel-helpers in all active record models.
2
2
  # https://github.com/camertron/arel-helpers
3
3
 
4
- ActiveRecord::Base.send(:include, ArelHelpers::ArelTable)
5
- ActiveRecord::Base.send(:include, ArelHelpers::JoinAssociation)
4
+ ApplicationRecord.send(:include, ArelHelpers::ArelTable)
5
+ ApplicationRecord.send(:include, ArelHelpers::JoinAssociation)
@@ -1,10 +1,7 @@
1
1
  module IPAddrExtensions
2
2
  extend ActiveSupport::Concern
3
- included do
4
- alias_method_chain :coerce_other, :rescue
5
- end
6
-
7
- def coerce_other_with_rescue(other)
3
+
4
+ def coerce(other)
8
5
  begin
9
6
  case other
10
7
  when IPAddr
@@ -18,7 +15,15 @@ module IPAddrExtensions
18
15
  OpenStruct.new(family: false, to_i: false)
19
16
  end
20
17
  end
18
+
19
+ def include?(other)
20
+ begin
21
+ super(other)
22
+ rescue IPAddr::InvalidAddressError
23
+ false
24
+ end
25
+ end
21
26
 
22
27
  end
23
28
 
24
- IPAddr.send(:include, IPAddrExtensions)
29
+ IPAddr.send(:prepend, IPAddrExtensions)
@@ -1,4 +1,4 @@
1
- class CreateTables < ActiveRecord::Migration
1
+ class CreateTables < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
 
@@ -1,4 +1,4 @@
1
- class AddWmapTables < ActiveRecord::Migration
1
+ class AddWmapTables < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :wmap_targets do |t|
4
4
  t.string :host # vhost
@@ -1,4 +1,4 @@
1
- class AddWorkspaces < ActiveRecord::Migration
1
+ class AddWorkspaces < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
  create_table :workspaces do |t|
@@ -1,4 +1,4 @@
1
- class MoveNotes < ActiveRecord::Migration
1
+ class MoveNotes < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  # Remove the host requirement. We'll add the column back in below.
4
4
  remove_column :notes, :host_id
@@ -1,4 +1,4 @@
1
- class AddEventsTable < ActiveRecord::Migration
1
+ class AddEventsTable < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :events do |t|
4
4
  t.integer :workspace_id
@@ -1,4 +1,4 @@
1
- class ExpandInfo < ActiveRecord::Migration
1
+ class ExpandInfo < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  remove_column :events, :info
4
4
  change_table :events do |t|
@@ -1,7 +1,7 @@
1
1
 
2
2
  # Adds 'created_at' and 'updated_at' columns to every primary table.
3
3
  #
4
- class AddTimestamps < ActiveRecord::Migration
4
+ class AddTimestamps < ActiveRecord::Migration[4.2]
5
5
 
6
6
  @@TABLES_NEEDING_RENAME = [:clients, :hosts, :notes, :refs, :services, :vulns, :wmap_requests]
7
7
  @@TABLES_NEEDING_CREATED_AT = [:wmap_targets]
@@ -1,4 +1,4 @@
1
- class AddLoots < ActiveRecord::Migration
1
+ class AddLoots < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
  create_table :loots do |t|
@@ -1,4 +1,4 @@
1
- class CreateUsers < ActiveRecord::Migration
1
+ class CreateUsers < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :users do |t|
4
4
  t.string :username
@@ -1,4 +1,4 @@
1
- class AddLootsCtype < ActiveRecord::Migration
1
+ class AddLootsCtype < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :loots, :content_type, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddAlertFields < ActiveRecord::Migration
1
+ class AddAlertFields < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :notes, :critical, :boolean
4
4
  add_column :notes, :seen, :boolean
@@ -1,4 +1,4 @@
1
- class AddReports < ActiveRecord::Migration
1
+ class AddReports < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
  create_table :reports do |t|
@@ -1,4 +1,4 @@
1
- class AddTasks < ActiveRecord::Migration
1
+ class AddTasks < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
  create_table :tasks do |t|
@@ -1,4 +1,4 @@
1
- class AddTasksResult < ActiveRecord::Migration
1
+ class AddTasksResult < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :tasks, :result, :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddLootsFields < ActiveRecord::Migration
1
+ class AddLootsFields < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :loots, :name, :text
4
4
  add_column :loots, :info, :text
@@ -1,4 +1,4 @@
1
- class RenameUser < ActiveRecord::Migration
1
+ class RenameUser < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  remove_column :events, :user
4
4
  change_table :events do |t|
@@ -1,4 +1,4 @@
1
- class AddHostPurpose < ActiveRecord::Migration
1
+ class AddHostPurpose < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :hosts, :purpose, :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class ExpandInfo2 < ActiveRecord::Migration
1
+ class ExpandInfo2 < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  remove_column :events, :info
4
4
  change_table :events do |t|
@@ -1,4 +1,4 @@
1
- class AddWorkspaceUserInfo < ActiveRecord::Migration
1
+ class AddWorkspaceUserInfo < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  change_table :workspaces do |t|
4
4
  t.string :boundary, :limit => 4096
@@ -1,4 +1,4 @@
1
- class AddWorkspaceDesc < ActiveRecord::Migration
1
+ class AddWorkspaceDesc < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  change_table :workspaces do |t|
4
4
  t.string :description, :limit => 4096
@@ -1,4 +1,4 @@
1
- class AddUserPreferences < ActiveRecord::Migration
1
+ class AddUserPreferences < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :users, :prefs, :string, :limit => 524288
4
4
  end
@@ -1,4 +1,4 @@
1
- class StandardizeInfoAndData < ActiveRecord::Migration
1
+ class StandardizeInfoAndData < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  # Remove the host requirement. We'll add the column back in below.
4
4
  remove_column :vulns, :data
@@ -1,4 +1,4 @@
1
- class EnlargeEventInfo < ActiveRecord::Migration
1
+ class EnlargeEventInfo < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  change_column :events, :info, :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddReportDownloadedAt < ActiveRecord::Migration
1
+ class AddReportDownloadedAt < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  add_column :reports, :downloaded_at, :timestamp
4
4
  end
@@ -1,4 +1,4 @@
1
- class ConvertServiceInfoToText < ActiveRecord::Migration
1
+ class ConvertServiceInfoToText < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
  change_column :services, :info, :text
@@ -1,4 +1,4 @@
1
- class AddUserAdmin < ActiveRecord::Migration
1
+ class AddUserAdmin < ActiveRecord::Migration[4.2]
2
2
 
3
3
  # Add user admin flag and project member list.
4
4
  def self.up
@@ -1,4 +1,4 @@
1
- class AddCredsTable < ActiveRecord::Migration
1
+ class AddCredsTable < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :creds do |t|
4
4
  t.integer :service_id, :null => false
@@ -1,4 +1,4 @@
1
- class MigrateCredData < ActiveRecord::Migration
1
+ class MigrateCredData < ActiveRecord::Migration[4.2]
2
2
 
3
3
  def self.up
4
4
  begin # Wrap the whole thing in a giant rescue.
@@ -1,4 +1,4 @@
1
- class AddExploitedTable < ActiveRecord::Migration
1
+ class AddExploitedTable < ActiveRecord::Migration[4.2]
2
2
  def self.up
3
3
  create_table :exploited_hosts do |t|
4
4
  t.integer :host_id, :null => false