ronin 1.4.0 → 1.4.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.
- data/ChangeLog.md +8 -0
- data/Gemfile +6 -6
- data/README.md +41 -39
- data/gemspec.yml +8 -9
- data/lib/bond/completions/ronin.rb +5 -5
- data/lib/ronin/arch.rb +0 -22
- data/lib/ronin/config.rb +23 -18
- data/lib/ronin/credential.rb +0 -22
- data/lib/ronin/email_address.rb +0 -23
- data/lib/ronin/os.rb +0 -23
- data/lib/ronin/ui/cli/command.rb +12 -10
- data/lib/ronin/ui/cli/commands/campaigns.rb +18 -18
- data/lib/ronin/ui/cli/commands/console.rb +2 -2
- data/lib/ronin/ui/cli/commands/creds.rb +9 -9
- data/lib/ronin/ui/cli/commands/database.rb +3 -3
- data/lib/ronin/ui/cli/commands/uninstall.rb +1 -1
- data/lib/ronin/ui/cli/commands/wordlist.rb +12 -12
- data/lib/ronin/ui/console/commands.rb +8 -7
- data/lib/ronin/ui/console/console.rb +5 -5
- data/lib/ronin/version.rb +1 -1
- data/spec/arch_spec.rb +0 -7
- data/spec/credential_spec.rb +0 -7
- data/spec/email_address_spec.rb +0 -7
- data/spec/os_spec.rb +0 -7
- data/spec/spec_helper.rb +10 -8
- metadata +61 -72
data/ChangeLog.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
### 1.4.1 / 2012-04-01
|
2
|
+
|
3
|
+
* Removed dependencey on env.
|
4
|
+
* Removed `#to_ary` methods from Ronin Models that were causing
|
5
|
+
`SystemStackError: stack level too deep` exceptions. Fixes issue #4.
|
6
|
+
* Ensure that {Ronin::AutoLoad} will finalize models loaded via `require_const`.
|
7
|
+
* {Ronin::UI::CLI::Command#start} now rescues Interupts.
|
8
|
+
|
1
9
|
### 1.4.0 / 2012-02-12
|
2
10
|
|
3
11
|
* Require open_namespace ~> 0.4.
|
data/Gemfile
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
DM_URI
|
4
|
-
DM_VERSION = '~> 1.
|
3
|
+
DM_URI = 'http://github.com/datamapper'
|
4
|
+
DM_VERSION = '~> 1.2'
|
5
5
|
DO_VERSION = '~> 0.10.3'
|
6
|
-
RONIN_URI
|
6
|
+
RONIN_URI = 'http://github.com/ronin-ruby'
|
7
7
|
|
8
8
|
gemspec
|
9
9
|
|
10
10
|
platforms :jruby do
|
11
|
-
gem 'jruby-openssl', '~> 0.7
|
11
|
+
gem 'jruby-openssl', '~> 0.7'
|
12
12
|
end
|
13
13
|
|
14
14
|
# DataMapper dependencies
|
@@ -35,8 +35,8 @@ group :development do
|
|
35
35
|
gem 'rspec', '~> 2.4'
|
36
36
|
|
37
37
|
gem 'kramdown', '~> 0.12'
|
38
|
-
gem 'ruby-graphviz', '~> 0.9
|
39
|
-
gem 'dm-visualizer', '~> 0.2
|
38
|
+
gem 'ruby-graphviz', '~> 0.9'
|
39
|
+
gem 'dm-visualizer', '~> 0.2'
|
40
40
|
end
|
41
41
|
|
42
42
|
#
|
data/README.md
CHANGED
@@ -1,17 +1,20 @@
|
|
1
1
|
# Ronin
|
2
2
|
|
3
3
|
* [Website](http://ronin-ruby.github.com)
|
4
|
-
* [Source](
|
5
|
-
* [Issues](
|
6
|
-
* [Documentation](http://
|
4
|
+
* [Source](https://github.com/ronin-ruby/ronin)
|
5
|
+
* [Issues](https://github.com/ronin-ruby/ronin/issues)
|
6
|
+
* [Documentation](http://ronin-ruby.github.com/docs/ronin/frames)
|
7
7
|
* [Mailing List](http://groups.google.com/group/ronin-ruby)
|
8
8
|
* [irc.freenode.net #ronin](http://webchat.freenode.net/?channels=ronin&uio=Mj10cnVldd)
|
9
9
|
|
10
10
|
## Description
|
11
11
|
|
12
|
-
Ronin is a Ruby platform for
|
13
|
-
|
14
|
-
|
12
|
+
Ronin is a [Ruby](http://www.ruby-lang.org) platform for
|
13
|
+
[exploit development](http://www.exploit-db.com) and security research.
|
14
|
+
Ronin allows for the rapid development and distribution of code,
|
15
|
+
[exploits](https://github.com/postmodern/postmodern/blob/master/scripts/exploits/http/oracle/dav_bypass.rb)
|
16
|
+
or [payloads](https://gist.github.com/1403961) via
|
17
|
+
[Repositories](https://github.com/postmodern/postmodern).
|
15
18
|
|
16
19
|
### Customized Console
|
17
20
|
|
@@ -38,8 +41,8 @@ miscallaneous Data, Code, Exploits, Payloads, Scanners, etc.
|
|
38
41
|
### Libraries
|
39
42
|
|
40
43
|
Ronin provides libraries with additional functionality, such as
|
41
|
-
[Exploitation](
|
42
|
-
and [Scanning](
|
44
|
+
[Exploitation](https://github.com/ronin-ruby/ronin-exploits#readme)
|
45
|
+
and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
|
43
46
|
|
44
47
|
$ gem install ronin-exploits
|
45
48
|
|
@@ -72,24 +75,25 @@ and [Scanning](http://github.com/ronin-ruby/ronin-scanners#readme).
|
|
72
75
|
* {Ronin::URL}
|
73
76
|
* {Ronin::EmailAddress}
|
74
77
|
* {Ronin::Credential}
|
75
|
-
|
76
|
-
|
78
|
+
* {Ronin::ServiceCredential}
|
79
|
+
* {Ronin::WebCredential}
|
77
80
|
* {Ronin::Organization}
|
78
81
|
* {Ronin::Campaign}
|
79
82
|
* {Ronin::Target}
|
80
83
|
* Caches exploits, payloads, scanners, etc stored within Repositories
|
81
84
|
into the Database.
|
82
85
|
* Convenience methods provided by
|
83
|
-
[ronin-support](
|
84
|
-
* Provides a customized Ruby Console
|
86
|
+
[ronin-support](https://github.com/ronin-ruby/ronin-support#readme).
|
87
|
+
* Provides a customized Ruby Console using
|
88
|
+
[Ripl](https://github.com/cldwalker/ripl#readme) with:
|
85
89
|
* Syntax highlighting.
|
86
|
-
* Tab
|
87
|
-
* Auto
|
88
|
-
* Pretty
|
90
|
+
* Tab completion.
|
91
|
+
* Auto indentation.
|
92
|
+
* Pretty Printing (`pp`).
|
89
93
|
* `print_info`, `print_error`, `print_warning` and `print_debug`
|
90
94
|
output helper methods with color-output.
|
91
|
-
*
|
92
|
-
|
95
|
+
* Inline commands (`!nmap -v -sT victim.com`)
|
96
|
+
* Provides an extensible command-line interface.
|
93
97
|
|
94
98
|
## Synopsis
|
95
99
|
|
@@ -107,7 +111,7 @@ View available commands:
|
|
107
111
|
|
108
112
|
Install a Repository:
|
109
113
|
|
110
|
-
$ ronin
|
114
|
+
$ ronin install svn://example.com/path/to/repo
|
111
115
|
|
112
116
|
List installed Repositories:
|
113
117
|
|
@@ -115,15 +119,15 @@ List installed Repositories:
|
|
115
119
|
|
116
120
|
Update all installed Repositories:
|
117
121
|
|
118
|
-
$ ronin
|
122
|
+
$ ronin update
|
119
123
|
|
120
124
|
Update a specific Repositories:
|
121
125
|
|
122
|
-
$ ronin
|
126
|
+
$ ronin update repo-name
|
123
127
|
|
124
128
|
Uninstall a specific Repositories:
|
125
129
|
|
126
|
-
$ ronin
|
130
|
+
$ ronin uninstall repo-name
|
127
131
|
|
128
132
|
List available Databases:
|
129
133
|
|
@@ -141,36 +145,34 @@ Remove a Database:
|
|
141
145
|
|
142
146
|
* [Ruby](http://www.ruby-lang.org/) >= 1.8.7
|
143
147
|
* [DataMapper](http://datamapper.org/):
|
144
|
-
* [dm-sqlite-adapter](
|
148
|
+
* [dm-sqlite-adapter](https://github.com/datamapper/dm-sqlite-adapter#readme)
|
145
149
|
~> 1.2
|
146
150
|
* [libsqlite3](http://sqlite.org/)
|
147
|
-
* [dm-core](
|
151
|
+
* [dm-core](https://github.com/datamapper/dm-core#readme)
|
148
152
|
~> 1.2
|
149
|
-
* [dm-types](
|
153
|
+
* [dm-types](https://github.com/datamapper/dm-types#readme)
|
150
154
|
~> 1.2
|
151
|
-
* [dm-migrations](
|
155
|
+
* [dm-migrations](https://github.com/datamapper/dm-migrations#readme)
|
152
156
|
~> 1.2
|
153
|
-
* [dm-validations](
|
157
|
+
* [dm-validations](https://github.com/datamapper/dm-validations#readme)
|
154
158
|
~> 1.2
|
155
|
-
* [dm-aggregates](
|
159
|
+
* [dm-aggregates](https://github.com/datamapper/dm-aggregates#readme)
|
156
160
|
~> 1.2
|
157
|
-
* [dm-timestamps](
|
161
|
+
* [dm-timestamps](https://github.com/datamapper/dm-timestamps#readme)
|
158
162
|
~> 1.2
|
159
|
-
* [dm-is-predefined](
|
163
|
+
* [dm-is-predefined](https://github.com/postmodern/dm-is-predefined#readme)
|
160
164
|
~> 0.4
|
161
|
-
* [uri-query_params](
|
165
|
+
* [uri-query_params](https://github.com/postmodern/uri-query_params#readme)
|
162
166
|
~> 0.6
|
163
|
-
* [open_namespace](
|
167
|
+
* [open_namespace](https://github.com/postmodern/open_namespace#readme)
|
164
168
|
~> 0.4
|
165
|
-
* [data_paths](
|
169
|
+
* [data_paths](https://github.com/postmodern/data_paths#readme)
|
166
170
|
~> 0.3
|
167
|
-
* [object_loader](
|
171
|
+
* [object_loader](https://github.com/postmodern/object_loader#readme)
|
168
172
|
~> 1.0
|
169
|
-
* [parameters](
|
173
|
+
* [parameters](https://github.com/postmodern/parameters#readme)
|
170
174
|
~> 0.4
|
171
|
-
* [
|
172
|
-
~> 0.2
|
173
|
-
* [pullr](http://github.com/postmodern/pullr#readme)
|
175
|
+
* [pullr](https://github.com/postmodern/pullr#readme)
|
174
176
|
~> 0.1, >= 0.1.2
|
175
177
|
* [ripl](https://github.com/cldwalker/ripl#readme)
|
176
178
|
~> 0.3
|
@@ -178,11 +180,11 @@ Remove a Database:
|
|
178
180
|
~> 0.2
|
179
181
|
* [ripl-auto_indent](https://github.com/janlelis/ripl-auto_indent#readme)
|
180
182
|
~> 0.1
|
181
|
-
* [ripl-short_errors](
|
183
|
+
* [ripl-short_errors](https://rubygems.org/gems/ripl-short_errors)
|
182
184
|
~> 0.1
|
183
185
|
* [ripl-color_result](https://github.com/janlelis/ripl-color_result#readme)
|
184
186
|
~> 0.3
|
185
|
-
* [ronin-support](
|
187
|
+
* [ronin-support](https://github.com/ronin-ruby/ronin-support#readme)
|
186
188
|
~> 0.4
|
187
189
|
|
188
190
|
## Install
|
data/gemspec.yml
CHANGED
@@ -3,7 +3,7 @@ summary: A Ruby platform for exploit development and security research.
|
|
3
3
|
description:
|
4
4
|
Ronin is a Ruby platform for exploit development and security research.
|
5
5
|
Ronin allows for the rapid development and distribution of code, exploits
|
6
|
-
or payloads
|
6
|
+
or payloads via Repositories.
|
7
7
|
|
8
8
|
license: GPL-3
|
9
9
|
authors: Postmodern
|
@@ -15,14 +15,14 @@ post_install_message: |
|
|
15
15
|
|
16
16
|
Thank you for installing Ronin!
|
17
17
|
|
18
|
-
To list the available commands:
|
19
|
-
|
20
|
-
$ ronin help
|
21
|
-
|
22
18
|
To start the Ronin Console:
|
23
19
|
|
24
20
|
$ ronin
|
25
21
|
|
22
|
+
To list the available commands:
|
23
|
+
|
24
|
+
$ ronin help
|
25
|
+
|
26
26
|
Additional functionality can be added to Ronin by installing additional
|
27
27
|
libraries:
|
28
28
|
|
@@ -55,7 +55,6 @@ dependencies:
|
|
55
55
|
data_paths: ~> 0.3
|
56
56
|
object_loader: ~> 1.0
|
57
57
|
parameters: ~> 0.4
|
58
|
-
env: ~> 0.2
|
59
58
|
pullr: ~> 0.1, >= 0.1.2
|
60
59
|
ripl: ~> 0.3
|
61
60
|
ripl-multi_line: ~> 0.2
|
@@ -67,6 +66,6 @@ dependencies:
|
|
67
66
|
|
68
67
|
development_dependencies:
|
69
68
|
bundler: ~> 1.0
|
70
|
-
yard: ~> 0.7
|
71
|
-
yard-dm: ~> 0.1
|
72
|
-
yard-dm-is-predefined: ~> 0.2
|
69
|
+
yard: ~> 0.7
|
70
|
+
yard-dm: ~> 0.1
|
71
|
+
yard-dm-is-predefined: ~> 0.2
|
@@ -17,10 +17,10 @@
|
|
17
17
|
# along with Ronin. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
#
|
19
19
|
|
20
|
+
require 'ronin/config'
|
20
21
|
require 'ronin/ui/console/commands'
|
21
22
|
|
22
23
|
require 'set'
|
23
|
-
require 'env'
|
24
24
|
|
25
25
|
complete(:on => /^[\!\.][a-zA-Z]\w*/) do |cmd|
|
26
26
|
prefix = cmd[0,1]
|
@@ -29,10 +29,10 @@ complete(:on => /^[\!\.][a-zA-Z]\w*/) do |cmd|
|
|
29
29
|
paths = Set[]
|
30
30
|
|
31
31
|
# search through $PATH for similar program names
|
32
|
-
|
33
|
-
|
34
|
-
if (
|
35
|
-
paths << "#{prefix}#{
|
32
|
+
Ronin::Config::BIN_DIRS.each do |dir|
|
33
|
+
Dir.glob(File.join(dir,glob)) do |path|
|
34
|
+
if (File.file?(path) && File.executable?(path))
|
35
|
+
paths << "#{prefix}#{File.basename(path)}"
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/lib/ronin/arch.rb
CHANGED
@@ -44,28 +44,6 @@ module Ronin
|
|
44
44
|
# Address length of the architecture
|
45
45
|
property :address_length, Integer, :required => true
|
46
46
|
|
47
|
-
#
|
48
|
-
# Splats the architecture into multiple variables.
|
49
|
-
#
|
50
|
-
# @return [Array]
|
51
|
-
# The {#endian} and {#address_length} of the architecture.
|
52
|
-
#
|
53
|
-
# @example
|
54
|
-
# endian, address_length = Arch.x86
|
55
|
-
#
|
56
|
-
# endian
|
57
|
-
# # => 'little'
|
58
|
-
# address_length
|
59
|
-
# # => 4
|
60
|
-
#
|
61
|
-
# @since 1.0.0
|
62
|
-
#
|
63
|
-
# @api public
|
64
|
-
#
|
65
|
-
def to_ary
|
66
|
-
[self.endian, self.address_length]
|
67
|
-
end
|
68
|
-
|
69
47
|
#
|
70
48
|
# Defines a new pre-defined Arch.
|
71
49
|
#
|
data/lib/ronin/config.rb
CHANGED
@@ -17,7 +17,6 @@
|
|
17
17
|
# along with Ronin. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
#
|
19
19
|
|
20
|
-
require 'env'
|
21
20
|
require 'data_paths'
|
22
21
|
require 'fileutils'
|
23
22
|
|
@@ -25,28 +24,33 @@ module Ronin
|
|
25
24
|
#
|
26
25
|
# Configuration information for Ronin.
|
27
26
|
#
|
27
|
+
# @api semipublic
|
28
|
+
#
|
28
29
|
module Config
|
29
30
|
include DataPaths
|
30
31
|
extend DataPaths::Finders
|
31
32
|
|
32
33
|
# The users home directory
|
33
|
-
HOME =
|
34
|
+
HOME = Gem.user_home
|
34
35
|
|
35
36
|
# Ronin home directory
|
36
|
-
PATH =
|
37
|
+
PATH = File.join(HOME,'.ronin')
|
37
38
|
|
38
39
|
# Configuration files directory
|
39
|
-
CONFIG_DIR =
|
40
|
+
CONFIG_DIR = File.join(PATH,'config')
|
40
41
|
|
41
42
|
# Directory which repositories are installed into
|
42
|
-
REPOS_DIR =
|
43
|
+
REPOS_DIR = File.join(PATH,'repos')
|
43
44
|
|
44
45
|
# Temporary file directory
|
45
|
-
TMP_DIR =
|
46
|
+
TMP_DIR = File.join(PATH,'tmp')
|
47
|
+
|
48
|
+
# Directories which contain binaries
|
49
|
+
BIN_DIRS = ENV.fetch('PATH','').split(File::PATH_SEPARATOR)
|
46
50
|
|
47
|
-
PATH.
|
48
|
-
|
49
|
-
|
51
|
+
[PATH, CONFIG_DIR, TMP_DIR].each do |dir|
|
52
|
+
FileUtils.mkdir(dir) unless File.directory?(dir)
|
53
|
+
end
|
50
54
|
|
51
55
|
#
|
52
56
|
# Loads the Ronin configuration file.
|
@@ -65,13 +69,14 @@ module Ronin
|
|
65
69
|
# @api semipublic
|
66
70
|
#
|
67
71
|
def Config.load(name=nil)
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
72
|
+
dir, file = if name
|
73
|
+
[CONFIG_DIR, "#{name}.rb"]
|
74
|
+
else
|
75
|
+
[PATH, 'config.rb']
|
76
|
+
end
|
73
77
|
|
74
|
-
|
78
|
+
path = File.expand_path(File.join(dir,file))
|
79
|
+
require path if File.file?(path)
|
75
80
|
end
|
76
81
|
|
77
82
|
#
|
@@ -80,7 +85,7 @@ module Ronin
|
|
80
85
|
# @param [String] sub_path
|
81
86
|
# The sub-path within {TMP_DIR}.
|
82
87
|
#
|
83
|
-
# @return [
|
88
|
+
# @return [String]
|
84
89
|
# The full path within {TMP_DIR}.
|
85
90
|
#
|
86
91
|
# @api semipublic
|
@@ -88,9 +93,9 @@ module Ronin
|
|
88
93
|
def Config.tmp_dir(sub_path=nil)
|
89
94
|
if sub_path
|
90
95
|
sub_path = File.expand_path(File.join('',sub_path))
|
91
|
-
path
|
96
|
+
path = File.join(TMP_DIR,sub_path)
|
92
97
|
|
93
|
-
path
|
98
|
+
FileUtils.mkdir_p(path) unless File.exist?(path)
|
94
99
|
return path
|
95
100
|
end
|
96
101
|
|
data/lib/ronin/credential.rb
CHANGED
@@ -115,27 +115,5 @@ module Ronin
|
|
115
115
|
"#{self.user_name}:#{self.password}"
|
116
116
|
end
|
117
117
|
|
118
|
-
#
|
119
|
-
# Splits the credential to multiple variables.
|
120
|
-
#
|
121
|
-
# @return [Array<String>]
|
122
|
-
# The user and the password.
|
123
|
-
#
|
124
|
-
# @example
|
125
|
-
# user, password = cred
|
126
|
-
#
|
127
|
-
# user
|
128
|
-
# # => "alice"
|
129
|
-
# password
|
130
|
-
# # => "secret"
|
131
|
-
#
|
132
|
-
# @since 1.0.0
|
133
|
-
#
|
134
|
-
# @api public
|
135
|
-
#
|
136
|
-
def to_ary
|
137
|
-
[self.user_name.name, self.password.clear_text]
|
138
|
-
end
|
139
|
-
|
140
118
|
end
|
141
119
|
end
|
data/lib/ronin/email_address.rb
CHANGED
@@ -255,28 +255,5 @@ module Ronin
|
|
255
255
|
"#<#{self.class}: #{self}>"
|
256
256
|
end
|
257
257
|
|
258
|
-
#
|
259
|
-
# Splats the email address into multiple variables.
|
260
|
-
#
|
261
|
-
# @return [Array]
|
262
|
-
# The user-name and the host-name within the email address.
|
263
|
-
#
|
264
|
-
# @example
|
265
|
-
# email = EmailAddress.parse('alice@example.com')
|
266
|
-
# user, host = email
|
267
|
-
#
|
268
|
-
# user
|
269
|
-
# # => "alice"
|
270
|
-
# host
|
271
|
-
# # => "example.com"
|
272
|
-
#
|
273
|
-
# @since 1.0.0
|
274
|
-
#
|
275
|
-
# @api public
|
276
|
-
#
|
277
|
-
def to_ary
|
278
|
-
[self.user_name.name, self.host_name.address]
|
279
|
-
end
|
280
|
-
|
281
258
|
end
|
282
259
|
end
|
data/lib/ronin/os.rb
CHANGED
@@ -90,29 +90,6 @@ module Ronin
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
-
#
|
94
|
-
# Splits the Operating System into multiple variables.
|
95
|
-
#
|
96
|
-
# @return [Array<String>]
|
97
|
-
# The name and version of the Operating System.
|
98
|
-
#
|
99
|
-
# @example
|
100
|
-
# os = OS.linux('2.6.31')
|
101
|
-
# name, version = os
|
102
|
-
#
|
103
|
-
# name
|
104
|
-
# # => "Linux"
|
105
|
-
# version
|
106
|
-
# # => "2.6.31"
|
107
|
-
#
|
108
|
-
# @since 1.0.0
|
109
|
-
#
|
110
|
-
# @api public
|
111
|
-
#
|
112
|
-
def to_ary
|
113
|
-
[self.name, self.version]
|
114
|
-
end
|
115
|
-
|
116
93
|
#
|
117
94
|
# Defines a new predefined OS.
|
118
95
|
#
|
data/lib/ronin/ui/cli/command.rb
CHANGED
@@ -46,22 +46,22 @@ module Ronin
|
|
46
46
|
#
|
47
47
|
# summary 'My command'
|
48
48
|
#
|
49
|
-
# option :enable, :type
|
50
|
-
# :flag
|
49
|
+
# option :enable, :type => true,
|
50
|
+
# :flag => '-e',
|
51
51
|
# :description => 'Enables stuff'
|
52
52
|
#
|
53
|
-
# option :syntax, :type
|
54
|
-
# :flag
|
53
|
+
# option :syntax, :type => Symbol,
|
54
|
+
# :flag => '-S',
|
55
55
|
# :description => 'Syntax to use'
|
56
56
|
#
|
57
|
-
# option :includes, :type
|
58
|
-
# :default
|
59
|
-
# :flag
|
60
|
-
# :usage
|
57
|
+
# option :includes, :type => Array[String],
|
58
|
+
# :default => [],
|
59
|
+
# :flag => '-I',
|
60
|
+
# :usage => 'FILE [...]',
|
61
61
|
# :description => 'Files to include'
|
62
62
|
#
|
63
|
-
# option :params, :type
|
64
|
-
# :flag
|
63
|
+
# option :params, :type => Hash[Symbol => Object],
|
64
|
+
# :flag => '-P',
|
65
65
|
# :description => 'Additional params'
|
66
66
|
#
|
67
67
|
# argument :path
|
@@ -232,6 +232,8 @@ module Ronin
|
|
232
232
|
|
233
233
|
begin
|
234
234
|
run
|
235
|
+
rescue Interrupt
|
236
|
+
exit
|
235
237
|
rescue => error
|
236
238
|
print_exception(error)
|
237
239
|
exit -1
|
@@ -58,36 +58,36 @@ module Ronin
|
|
58
58
|
|
59
59
|
summary 'Managed Campaigns'
|
60
60
|
|
61
|
-
query_option :named, :type
|
62
|
-
:flag
|
61
|
+
query_option :named, :type => String,
|
62
|
+
:flag => '-n',
|
63
63
|
:description => 'Name to search for'
|
64
64
|
|
65
|
-
query_option :describing, :type
|
66
|
-
:flag
|
65
|
+
query_option :describing, :type => String,
|
66
|
+
:flag => '-d',
|
67
67
|
:description => 'Description to search for'
|
68
68
|
|
69
|
-
query_option :targeting, :type
|
70
|
-
:flag
|
71
|
-
:usage
|
69
|
+
query_option :targeting, :type => Array,
|
70
|
+
:flag => '-T',
|
71
|
+
:usage => 'ADDR [...]',
|
72
72
|
:description => 'Addresses to search for'
|
73
73
|
|
74
|
-
query_option :targeting_orgs, :type
|
75
|
-
:flag
|
76
|
-
:usage
|
74
|
+
query_option :targeting_orgs, :type => Array,
|
75
|
+
:flag => '-O',
|
76
|
+
:usage => 'NAME [...]',
|
77
77
|
:description => 'Orgs to search for'
|
78
78
|
|
79
|
-
option :list, :type
|
80
|
-
:default
|
81
|
-
:flag
|
79
|
+
option :list, :type => true,
|
80
|
+
:default => true,
|
81
|
+
:flag => '-l',
|
82
82
|
:description => 'List all Campaigns'
|
83
83
|
|
84
|
-
option :add, :type
|
85
|
-
:flag
|
86
|
-
:usage
|
84
|
+
option :add, :type => String,
|
85
|
+
:flag => '-a',
|
86
|
+
:usage => 'NAME',
|
87
87
|
:description => 'Create a new Campaign'
|
88
88
|
|
89
|
-
option :targets, :type
|
90
|
-
:usage
|
89
|
+
option :targets, :type => Array,
|
90
|
+
:usage => 'ADDR [...]',
|
91
91
|
:description => 'Addresses to target'
|
92
92
|
|
93
93
|
#
|
@@ -56,19 +56,19 @@ module Ronin
|
|
56
56
|
|
57
57
|
summary 'Lists Credentials'
|
58
58
|
|
59
|
-
query_option :for_user, :type
|
60
|
-
:flag
|
61
|
-
:usage
|
59
|
+
query_option :for_user, :type => String,
|
60
|
+
:flag => '-u',
|
61
|
+
:usage => 'USER',
|
62
62
|
:description => 'Username to search for'
|
63
63
|
|
64
|
-
query_option :with_password, :type
|
65
|
-
:flag
|
66
|
-
:usage
|
64
|
+
query_option :with_password, :type => String,
|
65
|
+
:flag => '-p',
|
66
|
+
:usage => 'PASS',
|
67
67
|
:description => 'Password to search for'
|
68
68
|
|
69
|
-
option :list, :type
|
70
|
-
:default
|
71
|
-
:flag
|
69
|
+
option :list, :type => true,
|
70
|
+
:default => true,
|
71
|
+
:flag => '-l',
|
72
72
|
:description => 'List all Credentials'
|
73
73
|
|
74
74
|
#
|
@@ -56,8 +56,8 @@ module Ronin
|
|
56
56
|
|
57
57
|
summary 'Manages the Ronin Database'
|
58
58
|
|
59
|
-
option :add, :type
|
60
|
-
:flag
|
59
|
+
option :add, :type => Symbol,
|
60
|
+
:flag => '-a',
|
61
61
|
:usage => 'NAME'
|
62
62
|
|
63
63
|
option :set, :type => Symbol,
|
@@ -65,7 +65,7 @@ module Ronin
|
|
65
65
|
:usage => 'NAME'
|
66
66
|
|
67
67
|
option :remove, :type => Symbol,
|
68
|
-
:flag
|
68
|
+
:flag => '-r',
|
69
69
|
:usage => 'NAME'
|
70
70
|
|
71
71
|
option :clear, :type => Symbol,
|
@@ -43,7 +43,7 @@ module Ronin
|
|
43
43
|
#
|
44
44
|
# ## Arguments
|
45
45
|
#
|
46
|
-
# TEMPLATE Options word template
|
46
|
+
# TEMPLATE Options word template (alpha:7 numeric:1-3)
|
47
47
|
#
|
48
48
|
# @since 1.4.0
|
49
49
|
#
|
@@ -51,24 +51,24 @@ module Ronin
|
|
51
51
|
|
52
52
|
summary 'Builds and/or mutates Wordlists'
|
53
53
|
|
54
|
-
option :input, :type
|
55
|
-
:flag
|
56
|
-
:usage
|
54
|
+
option :input, :type => String,
|
55
|
+
:flag => '-i',
|
56
|
+
:usage => 'FILE',
|
57
57
|
:description => 'Input file'
|
58
58
|
|
59
|
-
option :output, :type
|
60
|
-
:flag
|
61
|
-
:usage
|
59
|
+
option :output, :type => String,
|
60
|
+
:flag => '-o',
|
61
|
+
:usage => 'PATH',
|
62
62
|
:description => 'Output wordlist file'
|
63
63
|
|
64
|
-
option :mutations, :type
|
65
|
-
:default
|
66
|
-
:flag
|
67
|
-
:usage
|
64
|
+
option :mutations, :type => Hash[String => Array],
|
65
|
+
:default => {},
|
66
|
+
:flag => '-m',
|
67
|
+
:usage => 'STRING:SUB',
|
68
68
|
:descriptions => 'Mutations rules'
|
69
69
|
|
70
70
|
argument :template, :type => Array,
|
71
|
-
:description => 'Options word template'
|
71
|
+
:description => 'Options word template (alpha:7 numeric:1-3)'
|
72
72
|
|
73
73
|
#
|
74
74
|
# Executes the wordlist command.
|
@@ -17,7 +17,8 @@
|
|
17
17
|
# along with Ronin. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
#
|
19
19
|
|
20
|
-
require '
|
20
|
+
require 'ronin/config'
|
21
|
+
|
21
22
|
require 'set'
|
22
23
|
require 'tempfile'
|
23
24
|
|
@@ -34,10 +35,10 @@ module Ronin
|
|
34
35
|
module Commands
|
35
36
|
# Names and statuses of executables.
|
36
37
|
EXECUTABLES = Hash.new do |hash,key|
|
37
|
-
hash[key] =
|
38
|
-
path =
|
38
|
+
hash[key] = Config::BIN_DIRS.any? do |dir|
|
39
|
+
path = File.join(dir,key)
|
39
40
|
|
40
|
-
(
|
41
|
+
(File.file?(path) && File.executable?(path))
|
41
42
|
end
|
42
43
|
end
|
43
44
|
|
@@ -90,7 +91,7 @@ module Ronin
|
|
90
91
|
old_pwd = Dir.pwd
|
91
92
|
|
92
93
|
new_cwd = if arguments.empty?
|
93
|
-
|
94
|
+
Config::HOME
|
94
95
|
elsif arguments.first == '-'
|
95
96
|
unless ENV['OLDPWD']
|
96
97
|
print_warning 'cd: OLDPWD not set'
|
@@ -135,10 +136,10 @@ module Ronin
|
|
135
136
|
def Commands.edit(*arguments)
|
136
137
|
path = arguments.first
|
137
138
|
|
138
|
-
if
|
139
|
+
if ENV['EDITOR']
|
139
140
|
path ||= Tempfile.new(['ronin-console', '.rb']).path
|
140
141
|
|
141
|
-
system(
|
142
|
+
system(ENV['EDITOR'],path) && load(path)
|
142
143
|
else
|
143
144
|
print_error "Please set the EDITOR env variable"
|
144
145
|
return false
|
@@ -36,9 +36,9 @@ module Ronin
|
|
36
36
|
# The history file for the Console session
|
37
37
|
HISTORY_FILE = File.join(Config::PATH,'console.log')
|
38
38
|
|
39
|
-
@@color
|
39
|
+
@@color = !(STDOUT.tty?)
|
40
40
|
@@short_errors = !(ENV.has_key?('VERBOSE'))
|
41
|
-
@@auto_load
|
41
|
+
@@auto_load = []
|
42
42
|
@@setup_blocks = []
|
43
43
|
|
44
44
|
#
|
@@ -200,11 +200,11 @@ module Ronin
|
|
200
200
|
|
201
201
|
# Start the Ripl console
|
202
202
|
Ripl.start(
|
203
|
-
:argv
|
204
|
-
:name
|
203
|
+
:argv => [],
|
204
|
+
:name => 'ronin',
|
205
205
|
:binding => context.instance_eval('binding'),
|
206
206
|
:history => HISTORY_FILE,
|
207
|
-
:irbrc
|
207
|
+
:irbrc => false
|
208
208
|
)
|
209
209
|
|
210
210
|
return context
|
data/lib/ronin/version.rb
CHANGED
data/spec/arch_spec.rb
CHANGED
@@ -61,11 +61,4 @@ describe Arch do
|
|
61
61
|
it "should allow custom names for built-in archs" do
|
62
62
|
Arch.x86_64.name.should == 'x86-64'
|
63
63
|
end
|
64
|
-
|
65
|
-
it "should implicitly splat the endian and address length" do
|
66
|
-
endian, address_length = Arch.x86
|
67
|
-
|
68
|
-
endian.should == Arch.x86.endian
|
69
|
-
address_length.should == Arch.x86.address_length
|
70
|
-
end
|
71
64
|
end
|
data/spec/credential_spec.rb
CHANGED
@@ -23,11 +23,4 @@ describe Credential do
|
|
23
23
|
it "should be convertable to a String" do
|
24
24
|
subject.to_s.should == "#{name}:#{secret}"
|
25
25
|
end
|
26
|
-
|
27
|
-
it "should implicitly splat the user-name and password" do
|
28
|
-
user_name, password = subject
|
29
|
-
|
30
|
-
user_name.should == name
|
31
|
-
password.should == secret
|
32
|
-
end
|
33
26
|
end
|
data/spec/email_address_spec.rb
CHANGED
@@ -77,11 +77,4 @@ describe EmailAddress do
|
|
77
77
|
it "should convert to a String" do
|
78
78
|
subject.to_s.should == email
|
79
79
|
end
|
80
|
-
|
81
|
-
it "should implicitly splat the user-name and host-name" do
|
82
|
-
user_name, host_name = subject
|
83
|
-
|
84
|
-
user_name.should == user
|
85
|
-
host_name.should == host
|
86
|
-
end
|
87
80
|
end
|
data/spec/os_spec.rb
CHANGED
@@ -28,13 +28,6 @@ describe OS do
|
|
28
28
|
os.should be_valid
|
29
29
|
end
|
30
30
|
|
31
|
-
it "should implicitly splat the name and version" do
|
32
|
-
name, version = subject
|
33
|
-
|
34
|
-
name.should == subject.name
|
35
|
-
version.should == subject.version
|
36
|
-
end
|
37
|
-
|
38
31
|
describe "#to_s" do
|
39
32
|
it "should convert both the name and version" do
|
40
33
|
os = OS.new(:name => 'Linux', :version => '2.6.23')
|
data/spec/spec_helper.rb
CHANGED
@@ -14,14 +14,16 @@ include Ronin
|
|
14
14
|
|
15
15
|
RSpec.configure do |spec|
|
16
16
|
spec.before(:suite) do
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
17
|
+
[
|
18
|
+
BasicModel,
|
19
|
+
CustomModel,
|
20
|
+
AuthoredModel,
|
21
|
+
DescribedModel,
|
22
|
+
LicensedModel,
|
23
|
+
NamedModel,
|
24
|
+
TitledModel,
|
25
|
+
MyScript
|
26
|
+
].each(&:auto_migrate!)
|
25
27
|
end
|
26
28
|
|
27
29
|
spec.before(:suite) do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ronin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02
|
12
|
+
date: 2012-04-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: dm-sqlite-adapter
|
16
|
-
requirement: &
|
16
|
+
requirement: &22668840 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *22668840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: dm-core
|
27
|
-
requirement: &
|
27
|
+
requirement: &22667760 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.2'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *22667760
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: dm-types
|
38
|
-
requirement: &
|
38
|
+
requirement: &22667180 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '1.2'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *22667180
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: dm-constraints
|
49
|
-
requirement: &
|
49
|
+
requirement: &22735280 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '1.2'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *22735280
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: dm-migrations
|
60
|
-
requirement: &
|
60
|
+
requirement: &22734320 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '1.2'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *22734320
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: dm-validations
|
71
|
-
requirement: &
|
71
|
+
requirement: &22732900 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '1.2'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *22732900
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: dm-serializer
|
82
|
-
requirement: &
|
82
|
+
requirement: &22731240 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '1.2'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *22731240
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: dm-aggregates
|
93
|
-
requirement: &
|
93
|
+
requirement: &22730480 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '1.2'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *22730480
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: dm-timestamps
|
104
|
-
requirement: &
|
104
|
+
requirement: &22729700 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '1.2'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *22729700
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: dm-is-predefined
|
115
|
-
requirement: &
|
115
|
+
requirement: &22728920 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ~>
|
@@ -120,10 +120,10 @@ dependencies:
|
|
120
120
|
version: '0.4'
|
121
121
|
type: :runtime
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *22728920
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: uri-query_params
|
126
|
-
requirement: &
|
126
|
+
requirement: &22728260 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
@@ -131,10 +131,10 @@ dependencies:
|
|
131
131
|
version: '0.6'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
|
-
version_requirements: *
|
134
|
+
version_requirements: *22728260
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: open_namespace
|
137
|
-
requirement: &
|
137
|
+
requirement: &22872560 !ruby/object:Gem::Requirement
|
138
138
|
none: false
|
139
139
|
requirements:
|
140
140
|
- - ~>
|
@@ -142,10 +142,10 @@ dependencies:
|
|
142
142
|
version: '0.4'
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
|
-
version_requirements: *
|
145
|
+
version_requirements: *22872560
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: data_paths
|
148
|
-
requirement: &
|
148
|
+
requirement: &22871840 !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
151
151
|
- - ~>
|
@@ -153,10 +153,10 @@ dependencies:
|
|
153
153
|
version: '0.3'
|
154
154
|
type: :runtime
|
155
155
|
prerelease: false
|
156
|
-
version_requirements: *
|
156
|
+
version_requirements: *22871840
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: object_loader
|
159
|
-
requirement: &
|
159
|
+
requirement: &22870480 !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
162
162
|
- - ~>
|
@@ -164,10 +164,10 @@ dependencies:
|
|
164
164
|
version: '1.0'
|
165
165
|
type: :runtime
|
166
166
|
prerelease: false
|
167
|
-
version_requirements: *
|
167
|
+
version_requirements: *22870480
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: parameters
|
170
|
-
requirement: &
|
170
|
+
requirement: &22869580 !ruby/object:Gem::Requirement
|
171
171
|
none: false
|
172
172
|
requirements:
|
173
173
|
- - ~>
|
@@ -175,21 +175,10 @@ dependencies:
|
|
175
175
|
version: '0.4'
|
176
176
|
type: :runtime
|
177
177
|
prerelease: false
|
178
|
-
version_requirements: *
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
|
-
name: env
|
181
|
-
requirement: &5743060 !ruby/object:Gem::Requirement
|
182
|
-
none: false
|
183
|
-
requirements:
|
184
|
-
- - ~>
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: '0.2'
|
187
|
-
type: :runtime
|
188
|
-
prerelease: false
|
189
|
-
version_requirements: *5743060
|
178
|
+
version_requirements: *22869580
|
190
179
|
- !ruby/object:Gem::Dependency
|
191
180
|
name: pullr
|
192
|
-
requirement: &
|
181
|
+
requirement: &22868960 !ruby/object:Gem::Requirement
|
193
182
|
none: false
|
194
183
|
requirements:
|
195
184
|
- - ~>
|
@@ -200,10 +189,10 @@ dependencies:
|
|
200
189
|
version: 0.1.2
|
201
190
|
type: :runtime
|
202
191
|
prerelease: false
|
203
|
-
version_requirements: *
|
192
|
+
version_requirements: *22868960
|
204
193
|
- !ruby/object:Gem::Dependency
|
205
194
|
name: ripl
|
206
|
-
requirement: &
|
195
|
+
requirement: &22867540 !ruby/object:Gem::Requirement
|
207
196
|
none: false
|
208
197
|
requirements:
|
209
198
|
- - ~>
|
@@ -211,10 +200,10 @@ dependencies:
|
|
211
200
|
version: '0.3'
|
212
201
|
type: :runtime
|
213
202
|
prerelease: false
|
214
|
-
version_requirements: *
|
203
|
+
version_requirements: *22867540
|
215
204
|
- !ruby/object:Gem::Dependency
|
216
205
|
name: ripl-multi_line
|
217
|
-
requirement: &
|
206
|
+
requirement: &22866760 !ruby/object:Gem::Requirement
|
218
207
|
none: false
|
219
208
|
requirements:
|
220
209
|
- - ~>
|
@@ -222,10 +211,10 @@ dependencies:
|
|
222
211
|
version: '0.2'
|
223
212
|
type: :runtime
|
224
213
|
prerelease: false
|
225
|
-
version_requirements: *
|
214
|
+
version_requirements: *22866760
|
226
215
|
- !ruby/object:Gem::Dependency
|
227
216
|
name: ripl-auto_indent
|
228
|
-
requirement: &
|
217
|
+
requirement: &22866080 !ruby/object:Gem::Requirement
|
229
218
|
none: false
|
230
219
|
requirements:
|
231
220
|
- - ~>
|
@@ -233,10 +222,10 @@ dependencies:
|
|
233
222
|
version: '0.1'
|
234
223
|
type: :runtime
|
235
224
|
prerelease: false
|
236
|
-
version_requirements: *
|
225
|
+
version_requirements: *22866080
|
237
226
|
- !ruby/object:Gem::Dependency
|
238
227
|
name: ripl-short_errors
|
239
|
-
requirement: &
|
228
|
+
requirement: &22865560 !ruby/object:Gem::Requirement
|
240
229
|
none: false
|
241
230
|
requirements:
|
242
231
|
- - ~>
|
@@ -244,10 +233,10 @@ dependencies:
|
|
244
233
|
version: '0.1'
|
245
234
|
type: :runtime
|
246
235
|
prerelease: false
|
247
|
-
version_requirements: *
|
236
|
+
version_requirements: *22865560
|
248
237
|
- !ruby/object:Gem::Dependency
|
249
238
|
name: ripl-color_result
|
250
|
-
requirement: &
|
239
|
+
requirement: &22865000 !ruby/object:Gem::Requirement
|
251
240
|
none: false
|
252
241
|
requirements:
|
253
242
|
- - ~>
|
@@ -255,10 +244,10 @@ dependencies:
|
|
255
244
|
version: '0.3'
|
256
245
|
type: :runtime
|
257
246
|
prerelease: false
|
258
|
-
version_requirements: *
|
247
|
+
version_requirements: *22865000
|
259
248
|
- !ruby/object:Gem::Dependency
|
260
249
|
name: ronin-support
|
261
|
-
requirement: &
|
250
|
+
requirement: &22864500 !ruby/object:Gem::Requirement
|
262
251
|
none: false
|
263
252
|
requirements:
|
264
253
|
- - ~>
|
@@ -266,10 +255,10 @@ dependencies:
|
|
266
255
|
version: '0.4'
|
267
256
|
type: :runtime
|
268
257
|
prerelease: false
|
269
|
-
version_requirements: *
|
258
|
+
version_requirements: *22864500
|
270
259
|
- !ruby/object:Gem::Dependency
|
271
260
|
name: bundler
|
272
|
-
requirement: &
|
261
|
+
requirement: &22860960 !ruby/object:Gem::Requirement
|
273
262
|
none: false
|
274
263
|
requirements:
|
275
264
|
- - ~>
|
@@ -277,43 +266,43 @@ dependencies:
|
|
277
266
|
version: '1.0'
|
278
267
|
type: :development
|
279
268
|
prerelease: false
|
280
|
-
version_requirements: *
|
269
|
+
version_requirements: *22860960
|
281
270
|
- !ruby/object:Gem::Dependency
|
282
271
|
name: yard
|
283
|
-
requirement: &
|
272
|
+
requirement: &22860200 !ruby/object:Gem::Requirement
|
284
273
|
none: false
|
285
274
|
requirements:
|
286
275
|
- - ~>
|
287
276
|
- !ruby/object:Gem::Version
|
288
|
-
version: 0.7
|
277
|
+
version: '0.7'
|
289
278
|
type: :development
|
290
279
|
prerelease: false
|
291
|
-
version_requirements: *
|
280
|
+
version_requirements: *22860200
|
292
281
|
- !ruby/object:Gem::Dependency
|
293
282
|
name: yard-dm
|
294
|
-
requirement: &
|
283
|
+
requirement: &22859400 !ruby/object:Gem::Requirement
|
295
284
|
none: false
|
296
285
|
requirements:
|
297
286
|
- - ~>
|
298
287
|
- !ruby/object:Gem::Version
|
299
|
-
version: 0.1
|
288
|
+
version: '0.1'
|
300
289
|
type: :development
|
301
290
|
prerelease: false
|
302
|
-
version_requirements: *
|
291
|
+
version_requirements: *22859400
|
303
292
|
- !ruby/object:Gem::Dependency
|
304
293
|
name: yard-dm-is-predefined
|
305
|
-
requirement: &
|
294
|
+
requirement: &22858100 !ruby/object:Gem::Requirement
|
306
295
|
none: false
|
307
296
|
requirements:
|
308
297
|
- - ~>
|
309
298
|
- !ruby/object:Gem::Version
|
310
|
-
version: 0.2
|
299
|
+
version: '0.2'
|
311
300
|
type: :development
|
312
301
|
prerelease: false
|
313
|
-
version_requirements: *
|
302
|
+
version_requirements: *22858100
|
314
303
|
description: Ronin is a Ruby platform for exploit development and security research.
|
315
304
|
Ronin allows for the rapid development and distribution of code, exploits or payloads
|
316
|
-
|
305
|
+
via Repositories.
|
317
306
|
email: postmodern.mod3@gmail.com
|
318
307
|
executables:
|
319
308
|
- ronin
|
@@ -554,8 +543,8 @@ homepage: http://github.com/ronin-ruby/ronin
|
|
554
543
|
licenses:
|
555
544
|
- GPL-3
|
556
545
|
post_install_message: ! "*************************************************************************\n\n
|
557
|
-
\ Thank you for installing Ronin!\n\n To
|
558
|
-
|
546
|
+
\ Thank you for installing Ronin!\n\n To start the Ronin Console:\n\n $ ronin\n\n
|
547
|
+
\ To list the available commands:\n\n $ ronin help\n\n Additional functionality
|
559
548
|
can be added to Ronin by installing additional\n libraries:\n\n * ronin-gen\n
|
560
549
|
\ * ronin-web\n * ronin-exploits\n * ronin-scanners\n\n*************************************************************************\n"
|
561
550
|
rdoc_options: []
|
@@ -575,7 +564,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
575
564
|
version: '0'
|
576
565
|
requirements: []
|
577
566
|
rubyforge_project:
|
578
|
-
rubygems_version: 1.8.
|
567
|
+
rubygems_version: 1.8.15
|
579
568
|
signing_key:
|
580
569
|
specification_version: 3
|
581
570
|
summary: A Ruby platform for exploit development and security research.
|