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.
Files changed (207) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +11 -0
  3. data/.github/workflows/ruby.yml +32 -0
  4. data/.gitignore +7 -7
  5. data/.ruby-version +1 -0
  6. data/COPYING.txt +3 -3
  7. data/ChangeLog.md +25 -11
  8. data/Gemfile +21 -20
  9. data/README.md +102 -81
  10. data/Rakefile +4 -5
  11. data/bin/ronin +7 -12
  12. data/bin/ronin-campaigns +7 -12
  13. data/bin/ronin-console +7 -12
  14. data/bin/ronin-creds +7 -12
  15. data/bin/ronin-database +7 -12
  16. data/bin/ronin-emails +7 -12
  17. data/bin/ronin-exec +7 -12
  18. data/bin/ronin-fuzzer +7 -12
  19. data/bin/ronin-help +7 -12
  20. data/bin/ronin-hosts +7 -12
  21. data/bin/ronin-install +7 -12
  22. data/bin/ronin-ips +7 -12
  23. data/bin/ronin-net-proxy +7 -12
  24. data/bin/ronin-repos +7 -12
  25. data/bin/ronin-uninstall +7 -12
  26. data/bin/ronin-update +7 -12
  27. data/bin/ronin-urls +7 -12
  28. data/bin/ronin-wordlist +7 -12
  29. data/gemspec.yml +8 -8
  30. data/lib/bond/completions/ronin.rb +23 -23
  31. data/lib/ronin.rb +3 -3
  32. data/lib/ronin/address.rb +6 -7
  33. data/lib/ronin/arch.rb +3 -3
  34. data/lib/ronin/author.rb +5 -7
  35. data/lib/ronin/auto_load.rb +5 -5
  36. data/lib/ronin/bootstrap.rb +3 -3
  37. data/lib/ronin/campaign.rb +3 -3
  38. data/lib/ronin/config.rb +5 -7
  39. data/lib/ronin/credential.rb +3 -3
  40. data/lib/ronin/database.rb +3 -3
  41. data/lib/ronin/database/database.rb +8 -12
  42. data/lib/ronin/database/exceptions.rb +3 -3
  43. data/lib/ronin/database/exceptions/invalid_config.rb +3 -3
  44. data/lib/ronin/database/exceptions/unknown_repository.rb +3 -3
  45. data/lib/ronin/database/migrations.rb +3 -3
  46. data/lib/ronin/database/migrations/1.0.0.rb +3 -3
  47. data/lib/ronin/database/migrations/1.1.0.rb +3 -3
  48. data/lib/ronin/database/migrations/exceptions.rb +3 -3
  49. data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +3 -3
  50. data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +3 -3
  51. data/lib/ronin/database/migrations/graph.rb +3 -3
  52. data/lib/ronin/database/migrations/migration.rb +3 -3
  53. data/lib/ronin/database/migrations/migrations.rb +3 -3
  54. data/lib/ronin/email_address.rb +5 -7
  55. data/lib/ronin/environment.rb +3 -3
  56. data/lib/ronin/exceptions.rb +3 -3
  57. data/lib/ronin/exceptions/duplicate_repository.rb +3 -3
  58. data/lib/ronin/exceptions/repository_not_found.rb +3 -3
  59. data/lib/ronin/host_name.rb +3 -3
  60. data/lib/ronin/host_name_ip_address.rb +3 -3
  61. data/lib/ronin/installation.rb +5 -7
  62. data/lib/ronin/ip_address.rb +6 -8
  63. data/lib/ronin/ip_address_mac_address.rb +3 -3
  64. data/lib/ronin/license.rb +6 -6
  65. data/lib/ronin/mac_address.rb +3 -3
  66. data/lib/ronin/model.rb +3 -3
  67. data/lib/ronin/model/has_authors.rb +3 -3
  68. data/lib/ronin/model/has_description.rb +3 -3
  69. data/lib/ronin/model/has_license.rb +3 -3
  70. data/lib/ronin/model/has_name.rb +3 -3
  71. data/lib/ronin/model/has_title.rb +3 -3
  72. data/lib/ronin/model/has_unique_name.rb +5 -7
  73. data/lib/ronin/model/has_version.rb +3 -3
  74. data/lib/ronin/model/importable.rb +3 -3
  75. data/lib/ronin/model/model.rb +7 -8
  76. data/lib/ronin/model/types.rb +3 -3
  77. data/lib/ronin/model/types/description.rb +9 -12
  78. data/lib/ronin/open_port.rb +5 -7
  79. data/lib/ronin/organization.rb +3 -3
  80. data/lib/ronin/os.rb +5 -7
  81. data/lib/ronin/os_guess.rb +3 -3
  82. data/lib/ronin/password.rb +3 -3
  83. data/lib/ronin/port.rb +3 -3
  84. data/lib/ronin/repositories.rb +3 -3
  85. data/lib/ronin/repository.rb +3 -3
  86. data/lib/ronin/ronin.rb +3 -3
  87. data/lib/ronin/script.rb +3 -3
  88. data/lib/ronin/script/buildable.rb +3 -3
  89. data/lib/ronin/script/deployable.rb +3 -3
  90. data/lib/ronin/script/exceptions.rb +3 -3
  91. data/lib/ronin/script/exceptions/build_failed.rb +3 -3
  92. data/lib/ronin/script/exceptions/deploy_failed.rb +3 -3
  93. data/lib/ronin/script/exceptions/exception.rb +3 -3
  94. data/lib/ronin/script/exceptions/not_built.rb +3 -3
  95. data/lib/ronin/script/exceptions/test_failed.rb +3 -3
  96. data/lib/ronin/script/path.rb +3 -3
  97. data/lib/ronin/script/script.rb +3 -3
  98. data/lib/ronin/script/testable.rb +3 -3
  99. data/lib/ronin/service.rb +3 -3
  100. data/lib/ronin/service_credential.rb +3 -3
  101. data/lib/ronin/software.rb +3 -3
  102. data/lib/ronin/spec/database.rb +27 -21
  103. data/lib/ronin/target.rb +3 -3
  104. data/lib/ronin/tcp_port.rb +3 -3
  105. data/lib/ronin/udp_port.rb +3 -3
  106. data/lib/ronin/ui.rb +3 -3
  107. data/lib/ronin/ui/cli.rb +3 -3
  108. data/lib/ronin/ui/cli/class_command.rb +14 -7
  109. data/lib/ronin/ui/cli/cli.rb +5 -5
  110. data/lib/ronin/ui/cli/command.rb +5 -7
  111. data/lib/ronin/ui/cli/commands.rb +3 -3
  112. data/lib/ronin/ui/cli/commands/campaigns.rb +5 -7
  113. data/lib/ronin/ui/cli/commands/console.rb +3 -3
  114. data/lib/ronin/ui/cli/commands/creds.rb +3 -3
  115. data/lib/ronin/ui/cli/commands/database.rb +3 -3
  116. data/lib/ronin/ui/cli/commands/emails.rb +3 -3
  117. data/lib/ronin/ui/cli/commands/exec.rb +3 -3
  118. data/lib/ronin/ui/cli/commands/fuzzer.rb +16 -16
  119. data/lib/ronin/ui/cli/commands/help.rb +3 -3
  120. data/lib/ronin/ui/cli/commands/hosts.rb +5 -7
  121. data/lib/ronin/ui/cli/commands/install.rb +7 -11
  122. data/lib/ronin/ui/cli/commands/ips.rb +5 -7
  123. data/lib/ronin/ui/cli/commands/net/proxy.rb +19 -12
  124. data/lib/ronin/ui/cli/commands/repos.rb +3 -3
  125. data/lib/ronin/ui/cli/commands/uninstall.rb +3 -3
  126. data/lib/ronin/ui/cli/commands/update.rb +3 -3
  127. data/lib/ronin/ui/cli/commands/urls.rb +3 -3
  128. data/lib/ronin/ui/cli/commands/wordlist.rb +3 -3
  129. data/lib/ronin/ui/cli/exceptions.rb +3 -3
  130. data/lib/ronin/ui/cli/exceptions/unknown_command.rb +3 -3
  131. data/lib/ronin/ui/cli/model_command.rb +6 -9
  132. data/lib/ronin/ui/cli/printing.rb +3 -3
  133. data/lib/ronin/ui/cli/resources_command.rb +7 -11
  134. data/lib/ronin/ui/cli/script_command.rb +5 -10
  135. data/lib/ronin/ui/console.rb +3 -3
  136. data/lib/ronin/ui/console/commands.rb +3 -3
  137. data/lib/ronin/ui/console/console.rb +3 -3
  138. data/lib/ronin/ui/console/context.rb +3 -3
  139. data/lib/ronin/ui/console/shell.rb +3 -3
  140. data/lib/ronin/url.rb +5 -7
  141. data/lib/ronin/url_query_param.rb +3 -3
  142. data/lib/ronin/url_query_param_name.rb +6 -6
  143. data/lib/ronin/url_scheme.rb +4 -4
  144. data/lib/ronin/user_name.rb +3 -3
  145. data/lib/ronin/vendor.rb +3 -3
  146. data/lib/ronin/version.rb +5 -5
  147. data/lib/ronin/web_credential.rb +5 -7
  148. data/man/ronin-campaigns.1.md +20 -20
  149. data/man/ronin-console.1.md +17 -17
  150. data/man/ronin-creds.1.md +16 -16
  151. data/man/ronin-database.1.md +23 -23
  152. data/man/ronin-emails.1.md +18 -18
  153. data/man/ronin-exec.1.md +11 -11
  154. data/man/ronin-fuzzer.1.md +23 -23
  155. data/man/ronin-help.1.md +5 -5
  156. data/man/ronin-hosts.1.md +20 -20
  157. data/man/ronin-install.1.md +18 -18
  158. data/man/ronin-ips.1.md +21 -21
  159. data/man/ronin-net-proxy.1.md +24 -24
  160. data/man/ronin-repos.1.md +18 -18
  161. data/man/ronin-uninstall.1.md +14 -14
  162. data/man/ronin-update.1.md +14 -14
  163. data/man/ronin-urls.1.md +22 -22
  164. data/man/ronin-wordlist.1.md +14 -13
  165. data/man/ronin.1.md +1 -1
  166. data/spec/arch_spec.rb +59 -46
  167. data/spec/author_spec.rb +14 -14
  168. data/spec/campaign_spec.rb +8 -0
  169. data/spec/credential_spec.rb +11 -8
  170. data/spec/database_spec.rb +6 -6
  171. data/spec/email_address_spec.rb +23 -20
  172. data/spec/host_name_spec.rb +24 -22
  173. data/spec/installation_spec.rb +6 -6
  174. data/spec/ip_address_spec.rb +31 -26
  175. data/spec/license_spec.rb +15 -9
  176. data/spec/mac_address_spec.rb +17 -8
  177. data/spec/model/has_authors_spec.rb +56 -37
  178. data/spec/model/has_description_spec.rb +36 -23
  179. data/spec/model/has_license_spec.rb +38 -28
  180. data/spec/model/has_name_spec.rb +36 -19
  181. data/spec/model/has_title_spec.rb +27 -14
  182. data/spec/model/has_version_spec.rb +64 -35
  183. data/spec/model/model_spec.rb +57 -33
  184. data/spec/model/models/{basic_model.rb → base_model.rb} +1 -1
  185. data/spec/model/models/{custom_model.rb → inherited_model.rb} +2 -3
  186. data/spec/os_spec.rb +24 -20
  187. data/spec/password_spec.rb +17 -9
  188. data/spec/port_spec.rb +30 -22
  189. data/spec/repository_spec.rb +59 -60
  190. data/spec/ronin_spec.rb +4 -4
  191. data/spec/script/buildable_spec.rb +8 -8
  192. data/spec/script/deployable_spec.rb +7 -7
  193. data/spec/script/path_spec.rb +42 -40
  194. data/spec/script/script_spec.rb +23 -23
  195. data/spec/script/testable_spec.rb +20 -20
  196. data/spec/service_spec.rb +14 -8
  197. data/spec/software_spec.rb +30 -17
  198. data/spec/spec_helper.rb +4 -4
  199. data/spec/ui/cli/classes/test_command.rb +2 -4
  200. data/spec/ui/cli/cli_spec.rb +5 -5
  201. data/spec/ui/cli/command_spec.rb +34 -30
  202. data/spec/url_query_param_spec.rb +23 -14
  203. data/spec/url_scheme_spec.rb +12 -9
  204. data/spec/url_spec.rb +64 -61
  205. data/spec/vendor_spec.rb +15 -8
  206. metadata +122 -150
  207. 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
- before(:all) do
15
- @uri = URI::HTTPS.build(
16
- :scheme => scheme,
17
- :host => host_name,
18
- :port => port,
19
- :path => path,
20
- :query => query_string,
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
- @url = URL.new(
25
- :scheme => URLScheme.first_or_create(:name => scheme),
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 => TCPPort.first_or_create(:number => port),
28
- :path => path,
29
- :fragment => 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) { "URIs: #{url1}, #{url2}" }
46
+ let(:text) { "foo #{url1}, bar #{url2} baz" }
58
47
 
59
48
  it "should extract multiple URLs from text" do
60
- subject.extract(text).should == [url1, url2]
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.should == [url1, url2]
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').should be_empty
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
- URL[@uri].should == @url
69
+ expect(described_class[uri]).to be == url
79
70
  end
80
71
 
81
72
  it "should query URLs using Strings" do
82
- URL[@uri.to_s].should == @url
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
- URL[0].should == @url
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 { URL.from(@uri) }
84
+ subject { described_class.from(uri) }
92
85
 
93
86
  it "should parse URL schemes" do
94
- subject.scheme.should_not be_nil
95
- subject.scheme.name.should == scheme
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.should == host_name
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.should == port
96
+ expect(subject.port.number).to be == port
104
97
  end
105
98
 
106
99
  it "should parse paths" do
107
- subject.path.should == 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.should == 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.should == 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 = URL.from(uri)
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
- url.path.should == '/'
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 { @url.to_uri }
130
+ subject { url.to_uri }
128
131
 
129
132
  it "should convert the scheme" do
130
- subject.scheme.should == 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.should == host_name
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.should == port
141
+ expect(subject.port).to be == port
139
142
  end
140
143
 
141
144
  it "should convert the path" do
142
- subject.path.should == 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.should == query_string
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 = URL.parse('https://www.example.com:8080/path')
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.should be_nil
156
+ expect(new_uri.query).to be_nil
154
157
  end
155
158
 
156
159
  it "should convert the fragment" do
157
- subject.fragment.should == fragment
160
+ expect(subject.fragment).to be == fragment
158
161
  end
159
162
  end
160
163
 
161
164
  describe "#to_s" do
162
- subject { @url.to_s }
165
+ subject { url.to_s }
163
166
 
164
167
  it "should convert the URL back into a String URI" do
165
- subject.should == @uri.to_s
168
+ expect(subject).to be == uri.to_s
166
169
  end
167
170
  end
168
171
 
169
172
  describe "#inspect" do
170
- subject { @url.inspect }
173
+ subject { url.inspect }
171
174
 
172
175
  it "should include the full URL" do
173
- subject.should include(@uri.to_s)
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
- it "should require name attribute" do
7
- product = Vendor.new
8
- product.should_not be_valid
6
+ let(:name) { 'TestCo' }
9
7
 
10
- product.name = 'TestCo'
11
- product.should be_valid
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
- it "should be convertable to a String" do
15
- vendor = Vendor.new(:name => 'TestCo')
16
- vendor.to_s.should == 'TestCo'
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.0
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: 2012-06-17 00:00:00.000000000 Z
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: '1.0'
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: '1.0'
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 exploit development and security research.
421
- Ronin allows for the rapid development and distribution of code, exploits or payloads
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
- - .gemtest
451
- - .gitignore
452
- - .rspec
453
- - .yardopts
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/basic_model.rb
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
- - man/ronin.1
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
- post_install_message: ! "*************************************************************************\n\n
710
- \ Thank you for installing Ronin!\n\n To start the Ronin Console:\n\n $ ronin\n\n
711
- \ To list the available commands:\n\n $ ronin help\n\n Additional functionality
712
- can be added to Ronin by installing additional\n libraries:\n\n * ronin-gen\n
713
- \ * ronin-web\n * ronin-exploits\n * ronin-scanners\n\n*************************************************************************\n"
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
- rubyforge_project:
731
- rubygems_version: 1.8.24
703
+ rubygems_version: 3.1.4
732
704
  signing_key:
733
- specification_version: 3
734
- summary: A Ruby platform for exploit development and security research.
705
+ specification_version: 4
706
+ summary: A Ruby platform for vulnerability research and exploit development.
735
707
  test_files: []