metasploit_data_models 0.23.1-java → 0.23.2-java
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 +42 -33
- data/app/models/mdm/loot.rb +9 -0
- data/app/models/mdm/module/detail.rb +28 -7
- data/app/models/mdm/module/ref.rb +4 -4
- data/app/models/mdm/ref.rb +5 -5
- data/app/models/mdm/session.rb +18 -1
- data/app/models/mdm/user.rb +13 -0
- data/app/models/mdm/vuln.rb +16 -7
- data/app/models/mdm/workspace.rb +16 -8
- data/app/models/metasploit_data_models/automatic_exploitation.rb +5 -0
- data/app/models/metasploit_data_models/automatic_exploitation/match.rb +42 -0
- data/app/models/metasploit_data_models/automatic_exploitation/match_result.rb +40 -0
- data/app/models/metasploit_data_models/automatic_exploitation/match_set.rb +30 -0
- data/app/models/metasploit_data_models/automatic_exploitation/run.rb +27 -0
- data/app/models/metasploit_data_models/module_run.rb +213 -0
- data/app/validators/password_is_strong_validator.rb +5 -5
- data/db/migrate/20131002004641_create_automatic_exploitation_matches.rb +13 -0
- data/db/migrate/20131002164449_create_automatic_exploitation_match_sets.rb +12 -0
- data/db/migrate/20131008213344_create_automatic_exploitation_runs.rb +11 -0
- data/db/migrate/20131011184338_module_detail_on_automatic_exploitation_match.rb +10 -0
- data/db/migrate/20131017150735_create_automatic_exploitation_match_results.rb +11 -0
- data/db/migrate/20131021185657_make_match_polymorphic.rb +11 -0
- data/db/migrate/20150219173821_create_module_runs.rb +23 -0
- data/db/migrate/20150219215039_add_module_run_to_session.rb +8 -0
- data/db/migrate/20150226151459_add_module_run_fk_to_loot.rb +8 -0
- data/db/migrate/20150312155312_add_module_full_name_to_match.rb +6 -0
- data/db/migrate/20150326183742_add_missing_ae_indices.rb +13 -0
- data/lib/metasploit_data_models/version.rb +1 -1
- data/spec/app/models/mdm/host_spec.rb +28 -27
- data/spec/app/models/mdm/loot_spec.rb +1 -0
- data/spec/app/models/mdm/module/detail_spec.rb +2 -2
- data/spec/app/models/mdm/session_spec.rb +21 -18
- data/spec/app/models/mdm/vuln_spec.rb +9 -10
- data/spec/app/models/metasploit_data_models/automatic_exploitation/match_result_spec.rb +88 -0
- data/spec/app/models/metasploit_data_models/automatic_exploitation/match_set_spec.rb +48 -0
- data/spec/app/models/metasploit_data_models/automatic_exploitation/match_spec.rb +25 -0
- data/spec/app/models/metasploit_data_models/automatic_exploitation/run_spec.rb +40 -0
- data/spec/app/models/metasploit_data_models/module_run_spec.rb +136 -0
- data/spec/dummy/db/structure.sql +369 -2
- data/spec/factories/mdm/module/details.rb +21 -21
- data/spec/factories/metasploit_data_models/automatic_exploitation/match_results.rb +7 -0
- data/spec/factories/metasploit_data_models/automatic_exploitation/match_sets.rb +8 -0
- data/spec/factories/metasploit_data_models/automatic_exploitation/matches.rb +6 -0
- data/spec/factories/metasploit_data_models/automatic_exploitation/runs.rb +6 -0
- data/spec/factories/module_runs.rb +40 -0
- metadata +31 -173
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MetasploitDataModels::AutomaticExploitation::Match do
|
4
|
+
it_should_behave_like 'Metasploit::Concern.run'
|
5
|
+
|
6
|
+
describe "associations" do
|
7
|
+
describe "connecting to a Mdm::Module::Detail" do
|
8
|
+
let(:vuln){ FactoryGirl.create(:mdm_vuln) }
|
9
|
+
let(:module_detail){FactoryGirl.create(:mdm_module_detail)}
|
10
|
+
|
11
|
+
subject(:automatic_exploitation_match){ described_class.new }
|
12
|
+
|
13
|
+
before(:each ) do
|
14
|
+
automatic_exploitation_match.matchable = vuln
|
15
|
+
automatic_exploitation_match.module_fullname = module_detail.fullname
|
16
|
+
automatic_exploitation_match.save!
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should point to the Mdm::Module::Detail with a fullname corresponding to #module_fullname' do
|
20
|
+
expect(automatic_exploitation_match.module_detail).to eq(module_detail)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MetasploitDataModels::AutomaticExploitation::Run do
|
4
|
+
subject(:run) { FactoryGirl.create(:automatic_exploitation_run) }
|
5
|
+
|
6
|
+
|
7
|
+
describe "database" do
|
8
|
+
describe "columns" do
|
9
|
+
it { is_expected.to have_db_column(:workspace_id).of_type(:integer) }
|
10
|
+
it { is_expected.to have_db_index(:workspace_id) }
|
11
|
+
it { is_expected.to have_db_column(:user_id).of_type(:integer) }
|
12
|
+
it { is_expected.to have_db_index(:user_id) }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "associations" do
|
17
|
+
it { is_expected.to belong_to(:match_set).class_name('MetasploitDataModels::AutomaticExploitation::MatchSet') }
|
18
|
+
it { is_expected.to belong_to(:workspace).class_name('Mdm::Workspace') }
|
19
|
+
it { is_expected.to belong_to(:workspace).inverse_of(:automatic_exploitation_runs) }
|
20
|
+
it { is_expected.to belong_to(:user).class_name('Mdm::User') }
|
21
|
+
it { is_expected.to belong_to(:user).inverse_of(:automatic_exploitation_runs) }
|
22
|
+
it { is_expected.to have_many(:match_results) }
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "destroying" do
|
26
|
+
describe "associated MatchResults" do
|
27
|
+
before(:each) do
|
28
|
+
match_set = FactoryGirl.create(:automatic_exploitation_match_set)
|
29
|
+
match = FactoryGirl.create(:automatic_exploitation_match, match_set: match_set)
|
30
|
+
run.match_set = match_set
|
31
|
+
FactoryGirl.create(:automatic_exploitation_match_result, match: match, run: run)
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should happen when you delete the Run' do
|
35
|
+
expect { run.destroy }.to change { MetasploitDataModels::AutomaticExploitation::MatchResult.count }.by(-1)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,136 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe MetasploitDataModels::ModuleRun do
|
4
|
+
|
5
|
+
subject(:module_run){FactoryGirl.build(:metasploit_data_models_module_run)}
|
6
|
+
|
7
|
+
context "database columns" do
|
8
|
+
it { is_expected.to have_db_column(:attempted_at).of_type(:datetime) }
|
9
|
+
it { is_expected.to have_db_column(:fail_detail).of_type(:text) }
|
10
|
+
it { is_expected.to have_db_column(:fail_reason).of_type(:string) }
|
11
|
+
it { is_expected.to have_db_column(:module_fullname).of_type(:text) }
|
12
|
+
it { is_expected.to have_db_column(:port).of_type(:integer) }
|
13
|
+
it { is_expected.to have_db_column(:proto).of_type(:string) }
|
14
|
+
it { is_expected.to have_db_column(:session_id).of_type(:integer) }
|
15
|
+
it { is_expected.to have_db_column(:status).of_type(:string) }
|
16
|
+
it { is_expected.to have_db_column(:trackable_id).of_type(:integer) }
|
17
|
+
it { is_expected.to have_db_column(:trackable_type).of_type(:string) }
|
18
|
+
it { is_expected.to have_db_column(:user_id).of_type(:integer) }
|
19
|
+
it { is_expected.to have_db_column(:username).of_type(:string) }
|
20
|
+
end
|
21
|
+
|
22
|
+
context "associations" do
|
23
|
+
it { is_expected.to belong_to(:user).class_name('Mdm::User') }
|
24
|
+
it { is_expected.to belong_to(:user).inverse_of(:module_runs) }
|
25
|
+
it { is_expected.to belong_to(:target_session).class_name('Mdm::Session') }
|
26
|
+
it { is_expected.to belong_to(:target_session).inverse_of(:target_module_runs) }
|
27
|
+
it { is_expected.to belong_to(:trackable) }
|
28
|
+
it { is_expected.to belong_to(:module_detail).class_name('Mdm::Module::Detail') }
|
29
|
+
it { is_expected.to belong_to(:module_detail).inverse_of(:module_runs) }
|
30
|
+
it { is_expected.to have_many(:loots).class_name('Mdm::Loot') }
|
31
|
+
it { is_expected.to have_many(:loots).inverse_of(:module_run) }
|
32
|
+
it { is_expected.to have_one(:spawned_session).class_name('Mdm::Session') }
|
33
|
+
it { is_expected.to have_one(:spawned_session).inverse_of(:originating_module_run) }
|
34
|
+
end
|
35
|
+
|
36
|
+
context "validations" do
|
37
|
+
describe "when a target_session is set on the module run" do
|
38
|
+
before(:each) do
|
39
|
+
module_run.target_session = FactoryGirl.build(:mdm_session)
|
40
|
+
end
|
41
|
+
|
42
|
+
context "when the module is an exploit" do
|
43
|
+
context "and that exploit IS NOT local" do
|
44
|
+
before(:each) do
|
45
|
+
module_run.module_fullname = 'exploit/windows/mah-crazy-exploit'
|
46
|
+
end
|
47
|
+
|
48
|
+
it { is_expected.to_not be_valid }
|
49
|
+
end
|
50
|
+
|
51
|
+
context "and that exploit IS local" do
|
52
|
+
before(:each) do
|
53
|
+
module_run.module_fullname = 'exploit/windows/local/mah-crazy-exploit'
|
54
|
+
end
|
55
|
+
|
56
|
+
it { is_expected.to be_valid }
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
describe "when a spawned_session is set on the module run" do
|
62
|
+
before(:each) do
|
63
|
+
module_run.spawned_session = FactoryGirl.build(:mdm_session)
|
64
|
+
end
|
65
|
+
|
66
|
+
context "when the module is not an exploit" do
|
67
|
+
|
68
|
+
context "and it IS NOT a login scanner" do
|
69
|
+
before(:each) do
|
70
|
+
module_run.module_fullname = 'post/multi/gather/steal-minecraft-maps'
|
71
|
+
end
|
72
|
+
|
73
|
+
it { is_expected.to_not be_valid }
|
74
|
+
end
|
75
|
+
|
76
|
+
context "and it IS a login scanner" do
|
77
|
+
before(:each) do
|
78
|
+
module_run.module_fullname = 'auxiliary/scanner/ssh/ssh_login'
|
79
|
+
end
|
80
|
+
|
81
|
+
it { is_expected.to be_valid }
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
describe "attempted_at" do
|
87
|
+
before(:each){ module_run.attempted_at = nil }
|
88
|
+
|
89
|
+
it { is_expected.to_not be_valid }
|
90
|
+
end
|
91
|
+
|
92
|
+
describe "content information" do
|
93
|
+
context "when there is no module_name" do
|
94
|
+
before(:each) do
|
95
|
+
module_run.module_fullname = nil
|
96
|
+
end
|
97
|
+
|
98
|
+
it { is_expected.to_not be_valid }
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
|
103
|
+
describe "status" do
|
104
|
+
describe "invalidity" do
|
105
|
+
before(:each) do
|
106
|
+
module_run.status = "invalid nonsense"
|
107
|
+
end
|
108
|
+
|
109
|
+
it { expect(module_run).to_not be_valid}
|
110
|
+
end
|
111
|
+
|
112
|
+
describe "validity" do
|
113
|
+
context "when the module run succeeded" do
|
114
|
+
before(:each){ module_run.status = MetasploitDataModels::ModuleRun::SUCCEED}
|
115
|
+
|
116
|
+
it{ expect(module_run).to be_valid }
|
117
|
+
end
|
118
|
+
|
119
|
+
context "when the module run went normally but failed" do
|
120
|
+
before(:each){ module_run.status = MetasploitDataModels::ModuleRun::FAIL}
|
121
|
+
|
122
|
+
it{ expect(module_run).to be_valid }
|
123
|
+
end
|
124
|
+
|
125
|
+
context "when the module run errored out" do
|
126
|
+
before(:each){ module_run.status = MetasploitDataModels::ModuleRun::ERROR}
|
127
|
+
|
128
|
+
it{ expect(module_run).to be_valid }
|
129
|
+
end
|
130
|
+
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
data/spec/dummy/db/structure.sql
CHANGED
@@ -60,6 +60,141 @@ CREATE SEQUENCE api_keys_id_seq
|
|
60
60
|
ALTER SEQUENCE api_keys_id_seq OWNED BY api_keys.id;
|
61
61
|
|
62
62
|
|
63
|
+
--
|
64
|
+
-- Name: automatic_exploitation_match_results; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
65
|
+
--
|
66
|
+
|
67
|
+
CREATE TABLE automatic_exploitation_match_results (
|
68
|
+
id integer NOT NULL,
|
69
|
+
match_id integer,
|
70
|
+
run_id integer,
|
71
|
+
state character varying(255) NOT NULL,
|
72
|
+
created_at timestamp without time zone NOT NULL,
|
73
|
+
updated_at timestamp without time zone NOT NULL
|
74
|
+
);
|
75
|
+
|
76
|
+
|
77
|
+
--
|
78
|
+
-- Name: automatic_exploitation_match_results_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
79
|
+
--
|
80
|
+
|
81
|
+
CREATE SEQUENCE automatic_exploitation_match_results_id_seq
|
82
|
+
START WITH 1
|
83
|
+
INCREMENT BY 1
|
84
|
+
NO MINVALUE
|
85
|
+
NO MAXVALUE
|
86
|
+
CACHE 1;
|
87
|
+
|
88
|
+
|
89
|
+
--
|
90
|
+
-- Name: automatic_exploitation_match_results_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
91
|
+
--
|
92
|
+
|
93
|
+
ALTER SEQUENCE automatic_exploitation_match_results_id_seq OWNED BY automatic_exploitation_match_results.id;
|
94
|
+
|
95
|
+
|
96
|
+
--
|
97
|
+
-- Name: automatic_exploitation_match_sets; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
98
|
+
--
|
99
|
+
|
100
|
+
CREATE TABLE automatic_exploitation_match_sets (
|
101
|
+
id integer NOT NULL,
|
102
|
+
workspace_id integer,
|
103
|
+
user_id integer,
|
104
|
+
created_at timestamp without time zone NOT NULL,
|
105
|
+
updated_at timestamp without time zone NOT NULL
|
106
|
+
);
|
107
|
+
|
108
|
+
|
109
|
+
--
|
110
|
+
-- Name: automatic_exploitation_match_sets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
111
|
+
--
|
112
|
+
|
113
|
+
CREATE SEQUENCE automatic_exploitation_match_sets_id_seq
|
114
|
+
START WITH 1
|
115
|
+
INCREMENT BY 1
|
116
|
+
NO MINVALUE
|
117
|
+
NO MAXVALUE
|
118
|
+
CACHE 1;
|
119
|
+
|
120
|
+
|
121
|
+
--
|
122
|
+
-- Name: automatic_exploitation_match_sets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
123
|
+
--
|
124
|
+
|
125
|
+
ALTER SEQUENCE automatic_exploitation_match_sets_id_seq OWNED BY automatic_exploitation_match_sets.id;
|
126
|
+
|
127
|
+
|
128
|
+
--
|
129
|
+
-- Name: automatic_exploitation_matches; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
130
|
+
--
|
131
|
+
|
132
|
+
CREATE TABLE automatic_exploitation_matches (
|
133
|
+
id integer NOT NULL,
|
134
|
+
module_detail_id integer,
|
135
|
+
state character varying(255),
|
136
|
+
nexpose_data_vulnerability_definition_id integer,
|
137
|
+
created_at timestamp without time zone NOT NULL,
|
138
|
+
updated_at timestamp without time zone NOT NULL,
|
139
|
+
match_set_id integer,
|
140
|
+
matchable_type character varying(255),
|
141
|
+
matchable_id integer,
|
142
|
+
module_fullname text
|
143
|
+
);
|
144
|
+
|
145
|
+
|
146
|
+
--
|
147
|
+
-- Name: automatic_exploitation_matches_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
148
|
+
--
|
149
|
+
|
150
|
+
CREATE SEQUENCE automatic_exploitation_matches_id_seq
|
151
|
+
START WITH 1
|
152
|
+
INCREMENT BY 1
|
153
|
+
NO MINVALUE
|
154
|
+
NO MAXVALUE
|
155
|
+
CACHE 1;
|
156
|
+
|
157
|
+
|
158
|
+
--
|
159
|
+
-- Name: automatic_exploitation_matches_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
160
|
+
--
|
161
|
+
|
162
|
+
ALTER SEQUENCE automatic_exploitation_matches_id_seq OWNED BY automatic_exploitation_matches.id;
|
163
|
+
|
164
|
+
|
165
|
+
--
|
166
|
+
-- Name: automatic_exploitation_runs; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
167
|
+
--
|
168
|
+
|
169
|
+
CREATE TABLE automatic_exploitation_runs (
|
170
|
+
id integer NOT NULL,
|
171
|
+
workspace_id integer,
|
172
|
+
user_id integer,
|
173
|
+
match_set_id integer,
|
174
|
+
created_at timestamp without time zone NOT NULL,
|
175
|
+
updated_at timestamp without time zone NOT NULL
|
176
|
+
);
|
177
|
+
|
178
|
+
|
179
|
+
--
|
180
|
+
-- Name: automatic_exploitation_runs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
181
|
+
--
|
182
|
+
|
183
|
+
CREATE SEQUENCE automatic_exploitation_runs_id_seq
|
184
|
+
START WITH 1
|
185
|
+
INCREMENT BY 1
|
186
|
+
NO MINVALUE
|
187
|
+
NO MAXVALUE
|
188
|
+
CACHE 1;
|
189
|
+
|
190
|
+
|
191
|
+
--
|
192
|
+
-- Name: automatic_exploitation_runs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
193
|
+
--
|
194
|
+
|
195
|
+
ALTER SEQUENCE automatic_exploitation_runs_id_seq OWNED BY automatic_exploitation_runs.id;
|
196
|
+
|
197
|
+
|
63
198
|
--
|
64
199
|
-- Name: clients; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
65
200
|
--
|
@@ -419,7 +554,8 @@ CREATE TABLE loots (
|
|
419
554
|
updated_at timestamp without time zone NOT NULL,
|
420
555
|
content_type character varying(255),
|
421
556
|
name text,
|
422
|
-
info text
|
557
|
+
info text,
|
558
|
+
module_run_id integer
|
423
559
|
);
|
424
560
|
|
425
561
|
|
@@ -732,6 +868,48 @@ CREATE SEQUENCE module_refs_id_seq
|
|
732
868
|
ALTER SEQUENCE module_refs_id_seq OWNED BY module_refs.id;
|
733
869
|
|
734
870
|
|
871
|
+
--
|
872
|
+
-- Name: module_runs; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
873
|
+
--
|
874
|
+
|
875
|
+
CREATE TABLE module_runs (
|
876
|
+
id integer NOT NULL,
|
877
|
+
attempted_at timestamp without time zone,
|
878
|
+
fail_detail text,
|
879
|
+
fail_reason character varying(255),
|
880
|
+
module_fullname text,
|
881
|
+
port integer,
|
882
|
+
proto character varying(255),
|
883
|
+
session_id integer,
|
884
|
+
status character varying(255),
|
885
|
+
trackable_id integer,
|
886
|
+
trackable_type character varying(255),
|
887
|
+
user_id integer,
|
888
|
+
username character varying(255),
|
889
|
+
created_at timestamp without time zone NOT NULL,
|
890
|
+
updated_at timestamp without time zone NOT NULL
|
891
|
+
);
|
892
|
+
|
893
|
+
|
894
|
+
--
|
895
|
+
-- Name: module_runs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
896
|
+
--
|
897
|
+
|
898
|
+
CREATE SEQUENCE module_runs_id_seq
|
899
|
+
START WITH 1
|
900
|
+
INCREMENT BY 1
|
901
|
+
NO MINVALUE
|
902
|
+
NO MAXVALUE
|
903
|
+
CACHE 1;
|
904
|
+
|
905
|
+
|
906
|
+
--
|
907
|
+
-- Name: module_runs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
908
|
+
--
|
909
|
+
|
910
|
+
ALTER SEQUENCE module_runs_id_seq OWNED BY module_runs.id;
|
911
|
+
|
912
|
+
|
735
913
|
--
|
736
914
|
-- Name: module_targets; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
737
915
|
--
|
@@ -1109,7 +1287,8 @@ CREATE TABLE sessions (
|
|
1109
1287
|
closed_at timestamp without time zone,
|
1110
1288
|
close_reason character varying(255),
|
1111
1289
|
local_id integer,
|
1112
|
-
last_seen timestamp without time zone
|
1290
|
+
last_seen timestamp without time zone,
|
1291
|
+
module_run_id integer
|
1113
1292
|
);
|
1114
1293
|
|
1115
1294
|
|
@@ -1819,6 +1998,34 @@ ALTER SEQUENCE workspaces_id_seq OWNED BY workspaces.id;
|
|
1819
1998
|
ALTER TABLE ONLY api_keys ALTER COLUMN id SET DEFAULT nextval('api_keys_id_seq'::regclass);
|
1820
1999
|
|
1821
2000
|
|
2001
|
+
--
|
2002
|
+
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
2003
|
+
--
|
2004
|
+
|
2005
|
+
ALTER TABLE ONLY automatic_exploitation_match_results ALTER COLUMN id SET DEFAULT nextval('automatic_exploitation_match_results_id_seq'::regclass);
|
2006
|
+
|
2007
|
+
|
2008
|
+
--
|
2009
|
+
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
2010
|
+
--
|
2011
|
+
|
2012
|
+
ALTER TABLE ONLY automatic_exploitation_match_sets ALTER COLUMN id SET DEFAULT nextval('automatic_exploitation_match_sets_id_seq'::regclass);
|
2013
|
+
|
2014
|
+
|
2015
|
+
--
|
2016
|
+
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
2017
|
+
--
|
2018
|
+
|
2019
|
+
ALTER TABLE ONLY automatic_exploitation_matches ALTER COLUMN id SET DEFAULT nextval('automatic_exploitation_matches_id_seq'::regclass);
|
2020
|
+
|
2021
|
+
|
2022
|
+
--
|
2023
|
+
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
2024
|
+
--
|
2025
|
+
|
2026
|
+
ALTER TABLE ONLY automatic_exploitation_runs ALTER COLUMN id SET DEFAULT nextval('automatic_exploitation_runs_id_seq'::regclass);
|
2027
|
+
|
2028
|
+
|
1822
2029
|
--
|
1823
2030
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
1824
2031
|
--
|
@@ -1952,6 +2159,13 @@ ALTER TABLE ONLY module_platforms ALTER COLUMN id SET DEFAULT nextval('module_pl
|
|
1952
2159
|
ALTER TABLE ONLY module_refs ALTER COLUMN id SET DEFAULT nextval('module_refs_id_seq'::regclass);
|
1953
2160
|
|
1954
2161
|
|
2162
|
+
--
|
2163
|
+
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
2164
|
+
--
|
2165
|
+
|
2166
|
+
ALTER TABLE ONLY module_runs ALTER COLUMN id SET DEFAULT nextval('module_runs_id_seq'::regclass);
|
2167
|
+
|
2168
|
+
|
1955
2169
|
--
|
1956
2170
|
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
1957
2171
|
--
|
@@ -2163,6 +2377,38 @@ ALTER TABLE ONLY api_keys
|
|
2163
2377
|
ADD CONSTRAINT api_keys_pkey PRIMARY KEY (id);
|
2164
2378
|
|
2165
2379
|
|
2380
|
+
--
|
2381
|
+
-- Name: automatic_exploitation_match_results_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2382
|
+
--
|
2383
|
+
|
2384
|
+
ALTER TABLE ONLY automatic_exploitation_match_results
|
2385
|
+
ADD CONSTRAINT automatic_exploitation_match_results_pkey PRIMARY KEY (id);
|
2386
|
+
|
2387
|
+
|
2388
|
+
--
|
2389
|
+
-- Name: automatic_exploitation_match_sets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2390
|
+
--
|
2391
|
+
|
2392
|
+
ALTER TABLE ONLY automatic_exploitation_match_sets
|
2393
|
+
ADD CONSTRAINT automatic_exploitation_match_sets_pkey PRIMARY KEY (id);
|
2394
|
+
|
2395
|
+
|
2396
|
+
--
|
2397
|
+
-- Name: automatic_exploitation_matches_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2398
|
+
--
|
2399
|
+
|
2400
|
+
ALTER TABLE ONLY automatic_exploitation_matches
|
2401
|
+
ADD CONSTRAINT automatic_exploitation_matches_pkey PRIMARY KEY (id);
|
2402
|
+
|
2403
|
+
|
2404
|
+
--
|
2405
|
+
-- Name: automatic_exploitation_runs_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2406
|
+
--
|
2407
|
+
|
2408
|
+
ALTER TABLE ONLY automatic_exploitation_runs
|
2409
|
+
ADD CONSTRAINT automatic_exploitation_runs_pkey PRIMARY KEY (id);
|
2410
|
+
|
2411
|
+
|
2166
2412
|
--
|
2167
2413
|
-- Name: clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2168
2414
|
--
|
@@ -2315,6 +2561,14 @@ ALTER TABLE ONLY module_refs
|
|
2315
2561
|
ADD CONSTRAINT module_refs_pkey PRIMARY KEY (id);
|
2316
2562
|
|
2317
2563
|
|
2564
|
+
--
|
2565
|
+
-- Name: module_runs_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2566
|
+
--
|
2567
|
+
|
2568
|
+
ALTER TABLE ONLY module_runs
|
2569
|
+
ADD CONSTRAINT module_runs_pkey PRIMARY KEY (id);
|
2570
|
+
|
2571
|
+
|
2318
2572
|
--
|
2319
2573
|
-- Name: module_targets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
2320
2574
|
--
|
@@ -2547,6 +2801,69 @@ ALTER TABLE ONLY workspaces
|
|
2547
2801
|
ADD CONSTRAINT workspaces_pkey PRIMARY KEY (id);
|
2548
2802
|
|
2549
2803
|
|
2804
|
+
--
|
2805
|
+
-- Name: index_automatic_exploitation_match_results_on_match_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2806
|
+
--
|
2807
|
+
|
2808
|
+
CREATE INDEX index_automatic_exploitation_match_results_on_match_id ON automatic_exploitation_match_results USING btree (match_id);
|
2809
|
+
|
2810
|
+
|
2811
|
+
--
|
2812
|
+
-- Name: index_automatic_exploitation_match_results_on_run_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2813
|
+
--
|
2814
|
+
|
2815
|
+
CREATE INDEX index_automatic_exploitation_match_results_on_run_id ON automatic_exploitation_match_results USING btree (run_id);
|
2816
|
+
|
2817
|
+
|
2818
|
+
--
|
2819
|
+
-- Name: index_automatic_exploitation_match_sets_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2820
|
+
--
|
2821
|
+
|
2822
|
+
CREATE INDEX index_automatic_exploitation_match_sets_on_user_id ON automatic_exploitation_match_sets USING btree (user_id);
|
2823
|
+
|
2824
|
+
|
2825
|
+
--
|
2826
|
+
-- Name: index_automatic_exploitation_match_sets_on_workspace_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2827
|
+
--
|
2828
|
+
|
2829
|
+
CREATE INDEX index_automatic_exploitation_match_sets_on_workspace_id ON automatic_exploitation_match_sets USING btree (workspace_id);
|
2830
|
+
|
2831
|
+
|
2832
|
+
--
|
2833
|
+
-- Name: index_automatic_exploitation_matches_on_module_fullname; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2834
|
+
--
|
2835
|
+
|
2836
|
+
CREATE INDEX index_automatic_exploitation_matches_on_module_fullname ON automatic_exploitation_matches USING btree (module_fullname);
|
2837
|
+
|
2838
|
+
|
2839
|
+
--
|
2840
|
+
-- Name: index_automatic_exploitation_matches_on_ref_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2841
|
+
--
|
2842
|
+
|
2843
|
+
CREATE INDEX index_automatic_exploitation_matches_on_ref_id ON automatic_exploitation_matches USING btree (module_detail_id);
|
2844
|
+
|
2845
|
+
|
2846
|
+
--
|
2847
|
+
-- Name: index_automatic_exploitation_runs_on_match_set_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2848
|
+
--
|
2849
|
+
|
2850
|
+
CREATE INDEX index_automatic_exploitation_runs_on_match_set_id ON automatic_exploitation_runs USING btree (match_set_id);
|
2851
|
+
|
2852
|
+
|
2853
|
+
--
|
2854
|
+
-- Name: index_automatic_exploitation_runs_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2855
|
+
--
|
2856
|
+
|
2857
|
+
CREATE INDEX index_automatic_exploitation_runs_on_user_id ON automatic_exploitation_runs USING btree (user_id);
|
2858
|
+
|
2859
|
+
|
2860
|
+
--
|
2861
|
+
-- Name: index_automatic_exploitation_runs_on_workspace_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2862
|
+
--
|
2863
|
+
|
2864
|
+
CREATE INDEX index_automatic_exploitation_runs_on_workspace_id ON automatic_exploitation_runs USING btree (workspace_id);
|
2865
|
+
|
2866
|
+
|
2550
2867
|
--
|
2551
2868
|
-- Name: index_hosts_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2552
2869
|
--
|
@@ -2589,6 +2906,13 @@ CREATE INDEX index_hosts_on_state ON hosts USING btree (state);
|
|
2589
2906
|
CREATE UNIQUE INDEX index_hosts_on_workspace_id_and_address ON hosts USING btree (workspace_id, address);
|
2590
2907
|
|
2591
2908
|
|
2909
|
+
--
|
2910
|
+
-- Name: index_loots_on_module_run_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2911
|
+
--
|
2912
|
+
|
2913
|
+
CREATE INDEX index_loots_on_module_run_id ON loots USING btree (module_run_id);
|
2914
|
+
|
2915
|
+
|
2592
2916
|
--
|
2593
2917
|
-- Name: index_module_actions_on_module_detail_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2594
2918
|
--
|
@@ -2666,6 +2990,20 @@ CREATE INDEX index_module_refs_on_module_detail_id ON module_refs USING btree (d
|
|
2666
2990
|
CREATE INDEX index_module_refs_on_name ON module_refs USING btree (name);
|
2667
2991
|
|
2668
2992
|
|
2993
|
+
--
|
2994
|
+
-- Name: index_module_runs_on_session_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2995
|
+
--
|
2996
|
+
|
2997
|
+
CREATE INDEX index_module_runs_on_session_id ON module_runs USING btree (session_id);
|
2998
|
+
|
2999
|
+
|
3000
|
+
--
|
3001
|
+
-- Name: index_module_runs_on_user_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
3002
|
+
--
|
3003
|
+
|
3004
|
+
CREATE INDEX index_module_runs_on_user_id ON module_runs USING btree (user_id);
|
3005
|
+
|
3006
|
+
|
2669
3007
|
--
|
2670
3008
|
-- Name: index_module_targets_on_module_detail_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2671
3009
|
--
|
@@ -2729,6 +3067,13 @@ CREATE INDEX index_services_on_proto ON services USING btree (proto);
|
|
2729
3067
|
CREATE INDEX index_services_on_state ON services USING btree (state);
|
2730
3068
|
|
2731
3069
|
|
3070
|
+
--
|
3071
|
+
-- Name: index_sessions_on_module_run_id; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
3072
|
+
--
|
3073
|
+
|
3074
|
+
CREATE INDEX index_sessions_on_module_run_id ON sessions USING btree (module_run_id);
|
3075
|
+
|
3076
|
+
|
2732
3077
|
--
|
2733
3078
|
-- Name: index_vulns_on_name; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
2734
3079
|
--
|
@@ -3000,6 +3345,18 @@ INSERT INTO schema_migrations (version) VALUES ('20130604145732');
|
|
3000
3345
|
|
3001
3346
|
INSERT INTO schema_migrations (version) VALUES ('20130717150737');
|
3002
3347
|
|
3348
|
+
INSERT INTO schema_migrations (version) VALUES ('20131002004641');
|
3349
|
+
|
3350
|
+
INSERT INTO schema_migrations (version) VALUES ('20131002164449');
|
3351
|
+
|
3352
|
+
INSERT INTO schema_migrations (version) VALUES ('20131008213344');
|
3353
|
+
|
3354
|
+
INSERT INTO schema_migrations (version) VALUES ('20131011184338');
|
3355
|
+
|
3356
|
+
INSERT INTO schema_migrations (version) VALUES ('20131017150735');
|
3357
|
+
|
3358
|
+
INSERT INTO schema_migrations (version) VALUES ('20131021185657');
|
3359
|
+
|
3003
3360
|
INSERT INTO schema_migrations (version) VALUES ('20140905031549');
|
3004
3361
|
|
3005
3362
|
INSERT INTO schema_migrations (version) VALUES ('20150112203945');
|
@@ -3010,6 +3367,16 @@ INSERT INTO schema_migrations (version) VALUES ('20150209195939');
|
|
3010
3367
|
|
3011
3368
|
INSERT INTO schema_migrations (version) VALUES ('20150212214222');
|
3012
3369
|
|
3370
|
+
INSERT INTO schema_migrations (version) VALUES ('20150219173821');
|
3371
|
+
|
3372
|
+
INSERT INTO schema_migrations (version) VALUES ('20150219215039');
|
3373
|
+
|
3374
|
+
INSERT INTO schema_migrations (version) VALUES ('20150226151459');
|
3375
|
+
|
3376
|
+
INSERT INTO schema_migrations (version) VALUES ('20150312155312');
|
3377
|
+
|
3378
|
+
INSERT INTO schema_migrations (version) VALUES ('20150326183742');
|
3379
|
+
|
3013
3380
|
INSERT INTO schema_migrations (version) VALUES ('21');
|
3014
3381
|
|
3015
3382
|
INSERT INTO schema_migrations (version) VALUES ('22');
|