ronin 1.5.0 → 1.5.1
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 +7 -0
- data/.editorconfig +11 -0
- data/.github/workflows/ruby.yml +32 -0
- data/.gitignore +7 -7
- data/.ruby-version +1 -0
- data/COPYING.txt +3 -3
- data/ChangeLog.md +25 -11
- data/Gemfile +21 -20
- data/README.md +102 -81
- data/Rakefile +4 -5
- data/bin/ronin +7 -12
- data/bin/ronin-campaigns +7 -12
- data/bin/ronin-console +7 -12
- data/bin/ronin-creds +7 -12
- data/bin/ronin-database +7 -12
- data/bin/ronin-emails +7 -12
- data/bin/ronin-exec +7 -12
- data/bin/ronin-fuzzer +7 -12
- data/bin/ronin-help +7 -12
- data/bin/ronin-hosts +7 -12
- data/bin/ronin-install +7 -12
- data/bin/ronin-ips +7 -12
- data/bin/ronin-net-proxy +7 -12
- data/bin/ronin-repos +7 -12
- data/bin/ronin-uninstall +7 -12
- data/bin/ronin-update +7 -12
- data/bin/ronin-urls +7 -12
- data/bin/ronin-wordlist +7 -12
- data/gemspec.yml +8 -8
- data/lib/bond/completions/ronin.rb +23 -23
- data/lib/ronin.rb +3 -3
- data/lib/ronin/address.rb +6 -7
- data/lib/ronin/arch.rb +3 -3
- data/lib/ronin/author.rb +5 -7
- data/lib/ronin/auto_load.rb +5 -5
- data/lib/ronin/bootstrap.rb +3 -3
- data/lib/ronin/campaign.rb +3 -3
- data/lib/ronin/config.rb +5 -7
- data/lib/ronin/credential.rb +3 -3
- data/lib/ronin/database.rb +3 -3
- data/lib/ronin/database/database.rb +8 -12
- data/lib/ronin/database/exceptions.rb +3 -3
- data/lib/ronin/database/exceptions/invalid_config.rb +3 -3
- data/lib/ronin/database/exceptions/unknown_repository.rb +3 -3
- data/lib/ronin/database/migrations.rb +3 -3
- data/lib/ronin/database/migrations/1.0.0.rb +3 -3
- data/lib/ronin/database/migrations/1.1.0.rb +3 -3
- data/lib/ronin/database/migrations/exceptions.rb +3 -3
- data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +3 -3
- data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +3 -3
- data/lib/ronin/database/migrations/graph.rb +3 -3
- data/lib/ronin/database/migrations/migration.rb +3 -3
- data/lib/ronin/database/migrations/migrations.rb +3 -3
- data/lib/ronin/email_address.rb +5 -7
- data/lib/ronin/environment.rb +3 -3
- data/lib/ronin/exceptions.rb +3 -3
- data/lib/ronin/exceptions/duplicate_repository.rb +3 -3
- data/lib/ronin/exceptions/repository_not_found.rb +3 -3
- data/lib/ronin/host_name.rb +3 -3
- data/lib/ronin/host_name_ip_address.rb +3 -3
- data/lib/ronin/installation.rb +5 -7
- data/lib/ronin/ip_address.rb +6 -8
- data/lib/ronin/ip_address_mac_address.rb +3 -3
- data/lib/ronin/license.rb +6 -6
- data/lib/ronin/mac_address.rb +3 -3
- data/lib/ronin/model.rb +3 -3
- data/lib/ronin/model/has_authors.rb +3 -3
- data/lib/ronin/model/has_description.rb +3 -3
- data/lib/ronin/model/has_license.rb +3 -3
- data/lib/ronin/model/has_name.rb +3 -3
- data/lib/ronin/model/has_title.rb +3 -3
- data/lib/ronin/model/has_unique_name.rb +5 -7
- data/lib/ronin/model/has_version.rb +3 -3
- data/lib/ronin/model/importable.rb +3 -3
- data/lib/ronin/model/model.rb +7 -8
- data/lib/ronin/model/types.rb +3 -3
- data/lib/ronin/model/types/description.rb +9 -12
- data/lib/ronin/open_port.rb +5 -7
- data/lib/ronin/organization.rb +3 -3
- data/lib/ronin/os.rb +5 -7
- data/lib/ronin/os_guess.rb +3 -3
- data/lib/ronin/password.rb +3 -3
- data/lib/ronin/port.rb +3 -3
- data/lib/ronin/repositories.rb +3 -3
- data/lib/ronin/repository.rb +3 -3
- data/lib/ronin/ronin.rb +3 -3
- data/lib/ronin/script.rb +3 -3
- data/lib/ronin/script/buildable.rb +3 -3
- data/lib/ronin/script/deployable.rb +3 -3
- data/lib/ronin/script/exceptions.rb +3 -3
- data/lib/ronin/script/exceptions/build_failed.rb +3 -3
- data/lib/ronin/script/exceptions/deploy_failed.rb +3 -3
- data/lib/ronin/script/exceptions/exception.rb +3 -3
- data/lib/ronin/script/exceptions/not_built.rb +3 -3
- data/lib/ronin/script/exceptions/test_failed.rb +3 -3
- data/lib/ronin/script/path.rb +3 -3
- data/lib/ronin/script/script.rb +3 -3
- data/lib/ronin/script/testable.rb +3 -3
- data/lib/ronin/service.rb +3 -3
- data/lib/ronin/service_credential.rb +3 -3
- data/lib/ronin/software.rb +3 -3
- data/lib/ronin/spec/database.rb +27 -21
- data/lib/ronin/target.rb +3 -3
- data/lib/ronin/tcp_port.rb +3 -3
- data/lib/ronin/udp_port.rb +3 -3
- data/lib/ronin/ui.rb +3 -3
- data/lib/ronin/ui/cli.rb +3 -3
- data/lib/ronin/ui/cli/class_command.rb +14 -7
- data/lib/ronin/ui/cli/cli.rb +5 -5
- data/lib/ronin/ui/cli/command.rb +5 -7
- data/lib/ronin/ui/cli/commands.rb +3 -3
- data/lib/ronin/ui/cli/commands/campaigns.rb +5 -7
- data/lib/ronin/ui/cli/commands/console.rb +3 -3
- data/lib/ronin/ui/cli/commands/creds.rb +3 -3
- data/lib/ronin/ui/cli/commands/database.rb +3 -3
- data/lib/ronin/ui/cli/commands/emails.rb +3 -3
- data/lib/ronin/ui/cli/commands/exec.rb +3 -3
- data/lib/ronin/ui/cli/commands/fuzzer.rb +16 -16
- data/lib/ronin/ui/cli/commands/help.rb +3 -3
- data/lib/ronin/ui/cli/commands/hosts.rb +5 -7
- data/lib/ronin/ui/cli/commands/install.rb +7 -11
- data/lib/ronin/ui/cli/commands/ips.rb +5 -7
- data/lib/ronin/ui/cli/commands/net/proxy.rb +19 -12
- data/lib/ronin/ui/cli/commands/repos.rb +3 -3
- data/lib/ronin/ui/cli/commands/uninstall.rb +3 -3
- data/lib/ronin/ui/cli/commands/update.rb +3 -3
- data/lib/ronin/ui/cli/commands/urls.rb +3 -3
- data/lib/ronin/ui/cli/commands/wordlist.rb +3 -3
- data/lib/ronin/ui/cli/exceptions.rb +3 -3
- data/lib/ronin/ui/cli/exceptions/unknown_command.rb +3 -3
- data/lib/ronin/ui/cli/model_command.rb +6 -9
- data/lib/ronin/ui/cli/printing.rb +3 -3
- data/lib/ronin/ui/cli/resources_command.rb +7 -11
- data/lib/ronin/ui/cli/script_command.rb +5 -10
- data/lib/ronin/ui/console.rb +3 -3
- data/lib/ronin/ui/console/commands.rb +3 -3
- data/lib/ronin/ui/console/console.rb +3 -3
- data/lib/ronin/ui/console/context.rb +3 -3
- data/lib/ronin/ui/console/shell.rb +3 -3
- data/lib/ronin/url.rb +5 -7
- data/lib/ronin/url_query_param.rb +3 -3
- data/lib/ronin/url_query_param_name.rb +6 -6
- data/lib/ronin/url_scheme.rb +4 -4
- data/lib/ronin/user_name.rb +3 -3
- data/lib/ronin/vendor.rb +3 -3
- data/lib/ronin/version.rb +5 -5
- data/lib/ronin/web_credential.rb +5 -7
- data/man/ronin-campaigns.1.md +20 -20
- data/man/ronin-console.1.md +17 -17
- data/man/ronin-creds.1.md +16 -16
- data/man/ronin-database.1.md +23 -23
- data/man/ronin-emails.1.md +18 -18
- data/man/ronin-exec.1.md +11 -11
- data/man/ronin-fuzzer.1.md +23 -23
- data/man/ronin-help.1.md +5 -5
- data/man/ronin-hosts.1.md +20 -20
- data/man/ronin-install.1.md +18 -18
- data/man/ronin-ips.1.md +21 -21
- data/man/ronin-net-proxy.1.md +24 -24
- data/man/ronin-repos.1.md +18 -18
- data/man/ronin-uninstall.1.md +14 -14
- data/man/ronin-update.1.md +14 -14
- data/man/ronin-urls.1.md +22 -22
- data/man/ronin-wordlist.1.md +14 -13
- data/man/ronin.1.md +1 -1
- data/spec/arch_spec.rb +59 -46
- data/spec/author_spec.rb +14 -14
- data/spec/campaign_spec.rb +8 -0
- data/spec/credential_spec.rb +11 -8
- data/spec/database_spec.rb +6 -6
- data/spec/email_address_spec.rb +23 -20
- data/spec/host_name_spec.rb +24 -22
- data/spec/installation_spec.rb +6 -6
- data/spec/ip_address_spec.rb +31 -26
- data/spec/license_spec.rb +15 -9
- data/spec/mac_address_spec.rb +17 -8
- data/spec/model/has_authors_spec.rb +56 -37
- data/spec/model/has_description_spec.rb +36 -23
- data/spec/model/has_license_spec.rb +38 -28
- data/spec/model/has_name_spec.rb +36 -19
- data/spec/model/has_title_spec.rb +27 -14
- data/spec/model/has_version_spec.rb +64 -35
- data/spec/model/model_spec.rb +57 -33
- data/spec/model/models/{basic_model.rb → base_model.rb} +1 -1
- data/spec/model/models/{custom_model.rb → inherited_model.rb} +2 -3
- data/spec/os_spec.rb +24 -20
- data/spec/password_spec.rb +17 -9
- data/spec/port_spec.rb +30 -22
- data/spec/repository_spec.rb +59 -60
- data/spec/ronin_spec.rb +4 -4
- data/spec/script/buildable_spec.rb +8 -8
- data/spec/script/deployable_spec.rb +7 -7
- data/spec/script/path_spec.rb +42 -40
- data/spec/script/script_spec.rb +23 -23
- data/spec/script/testable_spec.rb +20 -20
- data/spec/service_spec.rb +14 -8
- data/spec/software_spec.rb +30 -17
- data/spec/spec_helper.rb +4 -4
- data/spec/ui/cli/classes/test_command.rb +2 -4
- data/spec/ui/cli/cli_spec.rb +5 -5
- data/spec/ui/cli/command_spec.rb +34 -30
- data/spec/url_query_param_spec.rb +23 -14
- data/spec/url_scheme_spec.rb +12 -9
- data/spec/url_spec.rb +64 -61
- data/spec/vendor_spec.rb +15 -8
- metadata +122 -150
- data/.gemtest +0 -0
data/spec/url_spec.rb
CHANGED
@@ -11,42 +11,31 @@ describe URL do
|
|
11
11
|
let(:query_string) { 'q=1' }
|
12
12
|
let(:fragment) { 'frag' }
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
:scheme
|
17
|
-
:host
|
18
|
-
:port
|
19
|
-
:path
|
20
|
-
:query
|
14
|
+
let(:uri) do
|
15
|
+
URI::HTTPS.build(
|
16
|
+
:scheme => scheme,
|
17
|
+
:host => host_name,
|
18
|
+
:port => port,
|
19
|
+
:path => path,
|
20
|
+
:query => query_string,
|
21
21
|
:fragment => fragment
|
22
22
|
)
|
23
|
+
end
|
23
24
|
|
24
|
-
|
25
|
-
|
25
|
+
let(:url) do
|
26
|
+
described_class.new(
|
27
|
+
:scheme => URLScheme.first_or_create(:name => scheme),
|
26
28
|
:host_name => HostName.first_or_create(:address => host_name),
|
27
|
-
:port
|
28
|
-
:path
|
29
|
-
:fragment
|
29
|
+
:port => TCPPort.first_or_create(:number => port),
|
30
|
+
:path => path,
|
31
|
+
:fragment => fragment,
|
32
|
+
:query_params => [{
|
33
|
+
:name => URLQueryParamName.first_or_create(
|
34
|
+
:name => query_params.keys[0]
|
35
|
+
),
|
36
|
+
:value => query_params.values[0]
|
37
|
+
}]
|
30
38
|
)
|
31
|
-
|
32
|
-
@url.query_params.new(
|
33
|
-
:name => URLQueryParamName.first_or_create(
|
34
|
-
:name => query_params.keys[0]
|
35
|
-
),
|
36
|
-
:value => query_params.values[0]
|
37
|
-
)
|
38
|
-
|
39
|
-
@url.save
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should have a host String" do
|
43
|
-
url = URL.new(:host_name => {:address => host_name})
|
44
|
-
|
45
|
-
url.host.should == host_name
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should be convertable to a String" do
|
49
|
-
@url.to_s.should == @uri.to_s
|
50
39
|
end
|
51
40
|
|
52
41
|
describe "extract" do
|
@@ -54,10 +43,10 @@ describe URL do
|
|
54
43
|
|
55
44
|
let(:url1) { subject.parse("http://example.com/page.php?x=1&y=2") }
|
56
45
|
let(:url2) { subject.parse("ssh://alice@example.com") }
|
57
|
-
let(:text) { "
|
46
|
+
let(:text) { "foo #{url1}, bar #{url2} baz" }
|
58
47
|
|
59
48
|
it "should extract multiple URLs from text" do
|
60
|
-
subject.extract(text).
|
49
|
+
expect(subject.extract(text)).to be == [url1, url2]
|
61
50
|
end
|
62
51
|
|
63
52
|
it "should yield the extracted URLs if a block is given" do
|
@@ -65,112 +54,126 @@ describe URL do
|
|
65
54
|
|
66
55
|
subject.extract(text) { |url| urls << url }
|
67
56
|
|
68
|
-
urls.
|
57
|
+
expect(urls).to be == [url1, url2]
|
69
58
|
end
|
70
59
|
|
71
60
|
it "should ignore non-absolute URIs" do
|
72
|
-
subject.extract('foo: bar').
|
61
|
+
expect(subject.extract('foo : bar')).to be_empty
|
73
62
|
end
|
74
63
|
end
|
75
64
|
|
76
65
|
describe "[]" do
|
66
|
+
before { url.save }
|
67
|
+
|
77
68
|
it "should query URLs using URIs" do
|
78
|
-
|
69
|
+
expect(described_class[uri]).to be == url
|
79
70
|
end
|
80
71
|
|
81
72
|
it "should query URLs using Strings" do
|
82
|
-
|
73
|
+
expect(described_class[uri.to_s]).to be == url
|
83
74
|
end
|
84
75
|
|
85
76
|
it "should still treat Integer arguments as indexes" do
|
86
|
-
|
77
|
+
expect(described_class[0]).to be == url
|
87
78
|
end
|
79
|
+
|
80
|
+
after { url.destroy }
|
88
81
|
end
|
89
82
|
|
90
83
|
describe "from" do
|
91
|
-
subject {
|
84
|
+
subject { described_class.from(uri) }
|
92
85
|
|
93
86
|
it "should parse URL schemes" do
|
94
|
-
subject.scheme.
|
95
|
-
subject.scheme.name.
|
87
|
+
expect(subject.scheme).not_to be_nil
|
88
|
+
expect(subject.scheme.name).to be == scheme
|
96
89
|
end
|
97
90
|
|
98
91
|
it "should parse host names" do
|
99
|
-
subject.host_name.address.
|
92
|
+
expect(subject.host_name.address).to be == host_name
|
100
93
|
end
|
101
94
|
|
102
95
|
it "should parse port numbers" do
|
103
|
-
subject.port.number.
|
96
|
+
expect(subject.port.number).to be == port
|
104
97
|
end
|
105
98
|
|
106
99
|
it "should parse paths" do
|
107
|
-
subject.path.
|
100
|
+
expect(subject.path).to be == path
|
108
101
|
end
|
109
102
|
|
110
103
|
it "should parse query strings" do
|
111
|
-
subject.query_string.
|
104
|
+
expect(subject.query_string).to be == query_string
|
112
105
|
end
|
113
106
|
|
114
107
|
it "should parse URL fragments" do
|
115
|
-
subject.fragment.
|
108
|
+
expect(subject.fragment).to be == fragment
|
116
109
|
end
|
117
110
|
|
118
111
|
it "should normalize the paths of HTTP URIs" do
|
119
112
|
uri = URI('http://www.example.com')
|
120
|
-
url =
|
113
|
+
url = described_class.from(uri)
|
114
|
+
|
115
|
+
expect(url.path).to be == '/'
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
describe "#host" do
|
120
|
+
subject do
|
121
|
+
described_class.new(:host_name => {:address => host_name})
|
122
|
+
end
|
121
123
|
|
122
|
-
|
124
|
+
it "should return the URI host String" do
|
125
|
+
expect(subject.host).to be == host_name
|
123
126
|
end
|
124
127
|
end
|
125
128
|
|
126
129
|
describe "#to_uri" do
|
127
|
-
subject {
|
130
|
+
subject { url.to_uri }
|
128
131
|
|
129
132
|
it "should convert the scheme" do
|
130
|
-
subject.scheme.
|
133
|
+
expect(subject.scheme).to be == scheme
|
131
134
|
end
|
132
135
|
|
133
136
|
it "should convert the host name" do
|
134
|
-
subject.host.
|
137
|
+
expect(subject.host).to be == host_name
|
135
138
|
end
|
136
139
|
|
137
140
|
it "should convert the port number" do
|
138
|
-
subject.port.
|
141
|
+
expect(subject.port).to be == port
|
139
142
|
end
|
140
143
|
|
141
144
|
it "should convert the path" do
|
142
|
-
subject.path.
|
145
|
+
expect(subject.path).to be == path
|
143
146
|
end
|
144
147
|
|
145
148
|
it "should convert the query string" do
|
146
|
-
subject.query.
|
149
|
+
expect(subject.query).to be == query_string
|
147
150
|
end
|
148
151
|
|
149
152
|
it "should omit the query string if there are no query params" do
|
150
|
-
new_url =
|
153
|
+
new_url = described_class.parse('https://www.example.com:8080/path')
|
151
154
|
new_uri = new_url.to_uri
|
152
155
|
|
153
|
-
new_uri.query.
|
156
|
+
expect(new_uri.query).to be_nil
|
154
157
|
end
|
155
158
|
|
156
159
|
it "should convert the fragment" do
|
157
|
-
subject.fragment.
|
160
|
+
expect(subject.fragment).to be == fragment
|
158
161
|
end
|
159
162
|
end
|
160
163
|
|
161
164
|
describe "#to_s" do
|
162
|
-
subject {
|
165
|
+
subject { url.to_s }
|
163
166
|
|
164
167
|
it "should convert the URL back into a String URI" do
|
165
|
-
subject.
|
168
|
+
expect(subject).to be == uri.to_s
|
166
169
|
end
|
167
170
|
end
|
168
171
|
|
169
172
|
describe "#inspect" do
|
170
|
-
subject {
|
173
|
+
subject { url.inspect }
|
171
174
|
|
172
175
|
it "should include the full URL" do
|
173
|
-
subject.
|
176
|
+
expect(subject).to include(uri.to_s)
|
174
177
|
end
|
175
178
|
end
|
176
179
|
end
|
data/spec/vendor_spec.rb
CHANGED
@@ -3,16 +3,23 @@ require 'spec_helper'
|
|
3
3
|
require 'ronin/vendor'
|
4
4
|
|
5
5
|
describe Vendor do
|
6
|
-
|
7
|
-
product = Vendor.new
|
8
|
-
product.should_not be_valid
|
6
|
+
let(:name) { 'TestCo' }
|
9
7
|
|
10
|
-
|
11
|
-
|
8
|
+
subject { described_class.new(:name => name) }
|
9
|
+
|
10
|
+
describe "validations" do
|
11
|
+
it "should require name attribute" do
|
12
|
+
product = described_class.new
|
13
|
+
expect(product).not_to be_valid
|
14
|
+
|
15
|
+
product.name = name
|
16
|
+
expect(product).to be_valid
|
17
|
+
end
|
12
18
|
end
|
13
19
|
|
14
|
-
|
15
|
-
vendor
|
16
|
-
|
20
|
+
describe "#to_s" do
|
21
|
+
it "should include the vendor name" do
|
22
|
+
expect(subject.to_s).to eq(name)
|
23
|
+
end
|
17
24
|
end
|
18
25
|
end
|
metadata
CHANGED
@@ -1,425 +1,380 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ronin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
5
|
-
prerelease:
|
4
|
+
version: 1.5.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Postmodern
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2021-03-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: dm-sqlite-adapter
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.2'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.2'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: dm-core
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '1.2'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '1.2'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: dm-types
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '1.2'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '1.2'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: dm-migrations
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '1.2'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '1.2'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: dm-validations
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- - ~>
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '1.2'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- - ~>
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '1.2'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: dm-serializer
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- - ~>
|
87
|
+
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '1.2'
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- - ~>
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '1.2'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: dm-aggregates
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- - ~>
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '1.2'
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- - ~>
|
108
|
+
- - "~>"
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '1.2'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: dm-timestamps
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- - ~>
|
115
|
+
- - "~>"
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: '1.2'
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- - ~>
|
122
|
+
- - "~>"
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: '1.2'
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: dm-is-predefined
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- - ~>
|
129
|
+
- - "~>"
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: '0.4'
|
150
132
|
type: :runtime
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- - ~>
|
136
|
+
- - "~>"
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: '0.4'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: uri-query_params
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
|
-
- - ~>
|
143
|
+
- - "~>"
|
164
144
|
- !ruby/object:Gem::Version
|
165
145
|
version: '0.6'
|
166
146
|
type: :runtime
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
|
-
- - ~>
|
150
|
+
- - "~>"
|
172
151
|
- !ruby/object:Gem::Version
|
173
152
|
version: '0.6'
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: open_namespace
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- - ~>
|
157
|
+
- - "~>"
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: '0.4'
|
182
160
|
type: :runtime
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- - ~>
|
164
|
+
- - "~>"
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: '0.4'
|
190
167
|
- !ruby/object:Gem::Dependency
|
191
168
|
name: data_paths
|
192
169
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
170
|
requirements:
|
195
|
-
- - ~>
|
171
|
+
- - "~>"
|
196
172
|
- !ruby/object:Gem::Version
|
197
173
|
version: '0.3'
|
198
174
|
type: :runtime
|
199
175
|
prerelease: false
|
200
176
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
177
|
requirements:
|
203
|
-
- - ~>
|
178
|
+
- - "~>"
|
204
179
|
- !ruby/object:Gem::Version
|
205
180
|
version: '0.3'
|
206
181
|
- !ruby/object:Gem::Dependency
|
207
182
|
name: object_loader
|
208
183
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
184
|
requirements:
|
211
|
-
- - ~>
|
185
|
+
- - "~>"
|
212
186
|
- !ruby/object:Gem::Version
|
213
187
|
version: '1.0'
|
214
188
|
type: :runtime
|
215
189
|
prerelease: false
|
216
190
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
191
|
requirements:
|
219
|
-
- - ~>
|
192
|
+
- - "~>"
|
220
193
|
- !ruby/object:Gem::Version
|
221
194
|
version: '1.0'
|
222
195
|
- !ruby/object:Gem::Dependency
|
223
196
|
name: parameters
|
224
197
|
requirement: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
198
|
requirements:
|
227
|
-
- - ~>
|
199
|
+
- - "~>"
|
228
200
|
- !ruby/object:Gem::Version
|
229
201
|
version: '0.4'
|
230
202
|
type: :runtime
|
231
203
|
prerelease: false
|
232
204
|
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
none: false
|
234
205
|
requirements:
|
235
|
-
- - ~>
|
206
|
+
- - "~>"
|
236
207
|
- !ruby/object:Gem::Version
|
237
208
|
version: '0.4'
|
238
209
|
- !ruby/object:Gem::Dependency
|
239
210
|
name: pullr
|
240
211
|
requirement: !ruby/object:Gem::Requirement
|
241
|
-
none: false
|
242
212
|
requirements:
|
243
|
-
- - ~>
|
213
|
+
- - "~>"
|
244
214
|
- !ruby/object:Gem::Version
|
245
215
|
version: '0.1'
|
246
|
-
- -
|
216
|
+
- - ">="
|
247
217
|
- !ruby/object:Gem::Version
|
248
218
|
version: 0.1.2
|
249
219
|
type: :runtime
|
250
220
|
prerelease: false
|
251
221
|
version_requirements: !ruby/object:Gem::Requirement
|
252
|
-
none: false
|
253
222
|
requirements:
|
254
|
-
- - ~>
|
223
|
+
- - "~>"
|
255
224
|
- !ruby/object:Gem::Version
|
256
225
|
version: '0.1'
|
257
|
-
- -
|
226
|
+
- - ">="
|
258
227
|
- !ruby/object:Gem::Version
|
259
228
|
version: 0.1.2
|
260
229
|
- !ruby/object:Gem::Dependency
|
261
230
|
name: ripl
|
262
231
|
requirement: !ruby/object:Gem::Requirement
|
263
|
-
none: false
|
264
232
|
requirements:
|
265
|
-
- - ~>
|
233
|
+
- - "~>"
|
266
234
|
- !ruby/object:Gem::Version
|
267
235
|
version: '0.3'
|
268
236
|
type: :runtime
|
269
237
|
prerelease: false
|
270
238
|
version_requirements: !ruby/object:Gem::Requirement
|
271
|
-
none: false
|
272
239
|
requirements:
|
273
|
-
- - ~>
|
240
|
+
- - "~>"
|
274
241
|
- !ruby/object:Gem::Version
|
275
242
|
version: '0.3'
|
276
243
|
- !ruby/object:Gem::Dependency
|
277
244
|
name: ripl-multi_line
|
278
245
|
requirement: !ruby/object:Gem::Requirement
|
279
|
-
none: false
|
280
246
|
requirements:
|
281
|
-
- - ~>
|
247
|
+
- - "~>"
|
282
248
|
- !ruby/object:Gem::Version
|
283
249
|
version: '0.2'
|
284
250
|
type: :runtime
|
285
251
|
prerelease: false
|
286
252
|
version_requirements: !ruby/object:Gem::Requirement
|
287
|
-
none: false
|
288
253
|
requirements:
|
289
|
-
- - ~>
|
254
|
+
- - "~>"
|
290
255
|
- !ruby/object:Gem::Version
|
291
256
|
version: '0.2'
|
292
257
|
- !ruby/object:Gem::Dependency
|
293
258
|
name: ripl-auto_indent
|
294
259
|
requirement: !ruby/object:Gem::Requirement
|
295
|
-
none: false
|
296
260
|
requirements:
|
297
|
-
- - ~>
|
261
|
+
- - "~>"
|
298
262
|
- !ruby/object:Gem::Version
|
299
263
|
version: '0.1'
|
300
264
|
type: :runtime
|
301
265
|
prerelease: false
|
302
266
|
version_requirements: !ruby/object:Gem::Requirement
|
303
|
-
none: false
|
304
267
|
requirements:
|
305
|
-
- - ~>
|
268
|
+
- - "~>"
|
306
269
|
- !ruby/object:Gem::Version
|
307
270
|
version: '0.1'
|
308
271
|
- !ruby/object:Gem::Dependency
|
309
272
|
name: ripl-short_errors
|
310
273
|
requirement: !ruby/object:Gem::Requirement
|
311
|
-
none: false
|
312
274
|
requirements:
|
313
|
-
- - ~>
|
275
|
+
- - "~>"
|
314
276
|
- !ruby/object:Gem::Version
|
315
277
|
version: '0.1'
|
316
278
|
type: :runtime
|
317
279
|
prerelease: false
|
318
280
|
version_requirements: !ruby/object:Gem::Requirement
|
319
|
-
none: false
|
320
281
|
requirements:
|
321
|
-
- - ~>
|
282
|
+
- - "~>"
|
322
283
|
- !ruby/object:Gem::Version
|
323
284
|
version: '0.1'
|
324
285
|
- !ruby/object:Gem::Dependency
|
325
286
|
name: ripl-color_result
|
326
287
|
requirement: !ruby/object:Gem::Requirement
|
327
|
-
none: false
|
328
288
|
requirements:
|
329
|
-
- - ~>
|
289
|
+
- - "~>"
|
330
290
|
- !ruby/object:Gem::Version
|
331
291
|
version: '0.3'
|
332
292
|
type: :runtime
|
333
293
|
prerelease: false
|
334
294
|
version_requirements: !ruby/object:Gem::Requirement
|
335
|
-
none: false
|
336
295
|
requirements:
|
337
|
-
- - ~>
|
296
|
+
- - "~>"
|
338
297
|
- !ruby/object:Gem::Version
|
339
298
|
version: '0.3'
|
340
299
|
- !ruby/object:Gem::Dependency
|
341
300
|
name: ronin-support
|
342
301
|
requirement: !ruby/object:Gem::Requirement
|
343
|
-
none: false
|
344
302
|
requirements:
|
345
|
-
- - ~>
|
303
|
+
- - "~>"
|
346
304
|
- !ruby/object:Gem::Version
|
347
305
|
version: '0.5'
|
306
|
+
- - ">="
|
307
|
+
- !ruby/object:Gem::Version
|
308
|
+
version: 0.5.2
|
348
309
|
type: :runtime
|
349
310
|
prerelease: false
|
350
311
|
version_requirements: !ruby/object:Gem::Requirement
|
351
|
-
none: false
|
352
312
|
requirements:
|
353
|
-
- - ~>
|
313
|
+
- - "~>"
|
354
314
|
- !ruby/object:Gem::Version
|
355
315
|
version: '0.5'
|
316
|
+
- - ">="
|
317
|
+
- !ruby/object:Gem::Version
|
318
|
+
version: 0.5.2
|
356
319
|
- !ruby/object:Gem::Dependency
|
357
320
|
name: bundler
|
358
321
|
requirement: !ruby/object:Gem::Requirement
|
359
|
-
none: false
|
360
322
|
requirements:
|
361
|
-
- - ~>
|
323
|
+
- - "~>"
|
362
324
|
- !ruby/object:Gem::Version
|
363
|
-
version: '
|
325
|
+
version: '2.0'
|
364
326
|
type: :development
|
365
327
|
prerelease: false
|
366
328
|
version_requirements: !ruby/object:Gem::Requirement
|
367
|
-
none: false
|
368
329
|
requirements:
|
369
|
-
- - ~>
|
330
|
+
- - "~>"
|
370
331
|
- !ruby/object:Gem::Version
|
371
|
-
version: '
|
332
|
+
version: '2.0'
|
372
333
|
- !ruby/object:Gem::Dependency
|
373
334
|
name: yard
|
374
335
|
requirement: !ruby/object:Gem::Requirement
|
375
|
-
none: false
|
376
336
|
requirements:
|
377
|
-
- - ~>
|
337
|
+
- - "~>"
|
378
338
|
- !ruby/object:Gem::Version
|
379
339
|
version: '0.8'
|
380
340
|
type: :development
|
381
341
|
prerelease: false
|
382
342
|
version_requirements: !ruby/object:Gem::Requirement
|
383
|
-
none: false
|
384
343
|
requirements:
|
385
|
-
- - ~>
|
344
|
+
- - "~>"
|
386
345
|
- !ruby/object:Gem::Version
|
387
346
|
version: '0.8'
|
388
347
|
- !ruby/object:Gem::Dependency
|
389
348
|
name: yard-dm
|
390
349
|
requirement: !ruby/object:Gem::Requirement
|
391
|
-
none: false
|
392
350
|
requirements:
|
393
|
-
- - ~>
|
351
|
+
- - "~>"
|
394
352
|
- !ruby/object:Gem::Version
|
395
353
|
version: '0.1'
|
396
354
|
type: :development
|
397
355
|
prerelease: false
|
398
356
|
version_requirements: !ruby/object:Gem::Requirement
|
399
|
-
none: false
|
400
357
|
requirements:
|
401
|
-
- - ~>
|
358
|
+
- - "~>"
|
402
359
|
- !ruby/object:Gem::Version
|
403
360
|
version: '0.1'
|
404
361
|
- !ruby/object:Gem::Dependency
|
405
362
|
name: yard-dm-is-predefined
|
406
363
|
requirement: !ruby/object:Gem::Requirement
|
407
|
-
none: false
|
408
364
|
requirements:
|
409
|
-
- - ~>
|
365
|
+
- - "~>"
|
410
366
|
- !ruby/object:Gem::Version
|
411
367
|
version: '0.2'
|
412
368
|
type: :development
|
413
369
|
prerelease: false
|
414
370
|
version_requirements: !ruby/object:Gem::Requirement
|
415
|
-
none: false
|
416
371
|
requirements:
|
417
|
-
- - ~>
|
372
|
+
- - "~>"
|
418
373
|
- !ruby/object:Gem::Version
|
419
374
|
version: '0.2'
|
420
|
-
description: Ronin is a Ruby platform for
|
421
|
-
Ronin allows for the rapid development and distribution of code,
|
422
|
-
via Repositories.
|
375
|
+
description: Ronin is a Ruby platform for vulnerability research and exploit development.
|
376
|
+
Ronin allows for the rapid development and distribution of code, Exploits Payloads,
|
377
|
+
Scanners, etc, via Repositories.
|
423
378
|
email: postmodern.mod3@gmail.com
|
424
379
|
executables:
|
425
380
|
- ronin
|
@@ -446,11 +401,13 @@ extra_rdoc_files:
|
|
446
401
|
- ChangeLog.md
|
447
402
|
- README.md
|
448
403
|
files:
|
449
|
-
- .document
|
450
|
-
- .
|
451
|
-
- .
|
452
|
-
- .
|
453
|
-
- .
|
404
|
+
- ".document"
|
405
|
+
- ".editorconfig"
|
406
|
+
- ".github/workflows/ruby.yml"
|
407
|
+
- ".gitignore"
|
408
|
+
- ".rspec"
|
409
|
+
- ".ruby-version"
|
410
|
+
- ".yardopts"
|
454
411
|
- COPYING.txt
|
455
412
|
- ChangeLog.md
|
456
413
|
- Gemfile
|
@@ -593,23 +550,41 @@ files:
|
|
593
550
|
- lib/ronin/vendor.rb
|
594
551
|
- lib/ronin/version.rb
|
595
552
|
- lib/ronin/web_credential.rb
|
553
|
+
- man/ronin-campaigns.1
|
596
554
|
- man/ronin-campaigns.1.md
|
555
|
+
- man/ronin-console.1
|
597
556
|
- man/ronin-console.1.md
|
557
|
+
- man/ronin-creds.1
|
598
558
|
- man/ronin-creds.1.md
|
559
|
+
- man/ronin-database.1
|
599
560
|
- man/ronin-database.1.md
|
561
|
+
- man/ronin-emails.1
|
600
562
|
- man/ronin-emails.1.md
|
563
|
+
- man/ronin-exec.1
|
601
564
|
- man/ronin-exec.1.md
|
565
|
+
- man/ronin-fuzzer.1
|
602
566
|
- man/ronin-fuzzer.1.md
|
567
|
+
- man/ronin-help.1
|
603
568
|
- man/ronin-help.1.md
|
569
|
+
- man/ronin-hosts.1
|
604
570
|
- man/ronin-hosts.1.md
|
571
|
+
- man/ronin-install.1
|
605
572
|
- man/ronin-install.1.md
|
573
|
+
- man/ronin-ips.1
|
606
574
|
- man/ronin-ips.1.md
|
575
|
+
- man/ronin-net-proxy.1
|
607
576
|
- man/ronin-net-proxy.1.md
|
577
|
+
- man/ronin-repos.1
|
608
578
|
- man/ronin-repos.1.md
|
579
|
+
- man/ronin-uninstall.1
|
609
580
|
- man/ronin-uninstall.1.md
|
581
|
+
- man/ronin-update.1
|
610
582
|
- man/ronin-update.1.md
|
583
|
+
- man/ronin-urls.1
|
611
584
|
- man/ronin-urls.1.md
|
585
|
+
- man/ronin-wordlist.1
|
612
586
|
- man/ronin-wordlist.1.md
|
587
|
+
- man/ronin.1
|
613
588
|
- man/ronin.1.md
|
614
589
|
- ronin.gemspec
|
615
590
|
- spec/arch_spec.rb
|
@@ -654,9 +629,9 @@ files:
|
|
654
629
|
- spec/model/has_version_spec.rb
|
655
630
|
- spec/model/model_spec.rb
|
656
631
|
- spec/model/models/authored_model.rb
|
657
|
-
- spec/model/models/
|
658
|
-
- spec/model/models/custom_model.rb
|
632
|
+
- spec/model/models/base_model.rb
|
659
633
|
- spec/model/models/described_model.rb
|
634
|
+
- spec/model/models/inherited_model.rb
|
660
635
|
- spec/model/models/licensed_model.rb
|
661
636
|
- spec/model/models/named_model.rb
|
662
637
|
- spec/model/models/titled_model.rb
|
@@ -685,51 +660,48 @@ files:
|
|
685
660
|
- spec/url_scheme_spec.rb
|
686
661
|
- spec/url_spec.rb
|
687
662
|
- spec/vendor_spec.rb
|
688
|
-
|
689
|
-
- man/ronin-campaigns.1
|
690
|
-
- man/ronin-console.1
|
691
|
-
- man/ronin-creds.1
|
692
|
-
- man/ronin-database.1
|
693
|
-
- man/ronin-emails.1
|
694
|
-
- man/ronin-exec.1
|
695
|
-
- man/ronin-fuzzer.1
|
696
|
-
- man/ronin-help.1
|
697
|
-
- man/ronin-hosts.1
|
698
|
-
- man/ronin-install.1
|
699
|
-
- man/ronin-ips.1
|
700
|
-
- man/ronin-net-proxy.1
|
701
|
-
- man/ronin-repos.1
|
702
|
-
- man/ronin-uninstall.1
|
703
|
-
- man/ronin-update.1
|
704
|
-
- man/ronin-urls.1
|
705
|
-
- man/ronin-wordlist.1
|
706
|
-
homepage: http://ronin-ruby.github.com/
|
663
|
+
homepage: https://ronin-rb.dev
|
707
664
|
licenses:
|
708
|
-
- GPL-3
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
665
|
+
- GPL-3.0
|
666
|
+
metadata: {}
|
667
|
+
post_install_message: |
|
668
|
+
*************************************************************************
|
669
|
+
|
670
|
+
Thank you for installing Ronin!
|
671
|
+
|
672
|
+
To start the Ronin Console:
|
673
|
+
|
674
|
+
$ ronin
|
675
|
+
|
676
|
+
To list the available commands:
|
677
|
+
|
678
|
+
$ ronin help
|
679
|
+
|
680
|
+
Additional functionality can be added to Ronin by installing additional
|
681
|
+
libraries:
|
682
|
+
|
683
|
+
* ronin-gen
|
684
|
+
* ronin-web
|
685
|
+
* ronin-exploits
|
686
|
+
* ronin-scanners
|
687
|
+
|
688
|
+
*************************************************************************
|
714
689
|
rdoc_options: []
|
715
690
|
require_paths:
|
716
691
|
- lib
|
717
692
|
required_ruby_version: !ruby/object:Gem::Requirement
|
718
|
-
none: false
|
719
693
|
requirements:
|
720
|
-
- -
|
694
|
+
- - ">="
|
721
695
|
- !ruby/object:Gem::Version
|
722
696
|
version: 1.8.7
|
723
697
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
724
|
-
none: false
|
725
698
|
requirements:
|
726
|
-
- -
|
699
|
+
- - ">="
|
727
700
|
- !ruby/object:Gem::Version
|
728
701
|
version: '0'
|
729
702
|
requirements: []
|
730
|
-
|
731
|
-
rubygems_version: 1.8.24
|
703
|
+
rubygems_version: 3.1.4
|
732
704
|
signing_key:
|
733
|
-
specification_version:
|
734
|
-
summary: A Ruby platform for
|
705
|
+
specification_version: 4
|
706
|
+
summary: A Ruby platform for vulnerability research and exploit development.
|
735
707
|
test_files: []
|