ronin 1.5.0 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6ff9c16bb4d19612cd0b205dd42e6eecd26dec1ef757281e8491efc494412060
|
4
|
+
data.tar.gz: 8a33f291d7f9eae57a02baf2f7d87c085e6465dc1a6dd922b3f718bf5914f1c8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 87fffb84111ed7ffb457184ac192bbf337a0ce3bc8b1a8a79276ee533781690724b12178e73c6c8410cdd0f3a343227edcecdb79f7ea1e884cca47690c23d5a8
|
7
|
+
data.tar.gz: 07cc345713536fa9178c48f06ac5d6ca1e15f3ab4bbfce652a4ca97ffac054985de2958b16404d4d13062fe58e989030d7ad1a25f353d1659768443c7c31791e
|
data/.editorconfig
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on: [ push, pull_request ]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
tests:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
fail-fast: false
|
10
|
+
matrix:
|
11
|
+
ruby:
|
12
|
+
- 2.4
|
13
|
+
- 2.5
|
14
|
+
- 2.6
|
15
|
+
- 2.7
|
16
|
+
- 3.0
|
17
|
+
# - jruby
|
18
|
+
name: Ruby ${{ matrix.ruby }}
|
19
|
+
steps:
|
20
|
+
- uses: actions/checkout@v2
|
21
|
+
- name: Set up Ruby
|
22
|
+
uses: ruby/setup-ruby@v1
|
23
|
+
with:
|
24
|
+
ruby-version: ${{ matrix.ruby }}
|
25
|
+
- name: Install libsqlite3
|
26
|
+
run: |
|
27
|
+
sudo apt update -y && \
|
28
|
+
sudo apt install -y --no-install-recommends --no-install-suggests libsqlite3-dev
|
29
|
+
- name: Install dependencies
|
30
|
+
run: bundle install --jobs 4 --retry 3
|
31
|
+
- name: Run tests
|
32
|
+
run: bundle exec rake test
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.7
|
data/COPYING.txt
CHANGED
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
|
645
645
|
GNU General Public License for more details.
|
646
646
|
|
647
647
|
You should have received a copy of the GNU General Public License
|
648
|
-
along with this program. If not, see <
|
648
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
649
649
|
|
650
650
|
Also add information on how to contact you by electronic and paper mail.
|
651
651
|
|
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
|
|
664
664
|
You should also get your employer (if you work as a programmer) or school,
|
665
665
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666
666
|
For more information on this, and how to apply and follow the GNU GPL, see
|
667
|
-
<
|
667
|
+
<https://www.gnu.org/licenses/>.
|
668
668
|
|
669
669
|
The GNU General Public License does not permit incorporating your program
|
670
670
|
into proprietary programs. If your program is a subroutine library, you
|
671
671
|
may consider it more useful to permit linking proprietary applications with
|
672
672
|
the library. If this is what you want to do, use the GNU Lesser General
|
673
673
|
Public License instead of this License. But first, please read
|
674
|
-
<
|
674
|
+
<https://www.gnu.org/philosophy/why-not-lgpl.html>.
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
|
+
### 1.5.1 / 2021-02-28
|
2
|
+
|
3
|
+
* Require [ronin-support] ~> 0.5, >= 0.5.2.
|
4
|
+
* Activate bundler in `bin/ronin` and `bin/ronin-*` commands, if a
|
5
|
+
`Gemfile.lock` file is found.
|
6
|
+
* Re-finalize all DataMapper models in
|
7
|
+
{Ronin::AutoLoad::ClassMethods#require_const}.
|
8
|
+
* Avoid calling `Ronin::Network::TCP::Proxy` specific methods in the
|
9
|
+
`ronin net:proxy` command, if working with a UDP proxy.
|
10
|
+
* {Ronin::UI::CLI.commands} now uses `Set`, since Ruby 3.0 moved `SortedSet`
|
11
|
+
out of the stdlib.
|
12
|
+
|
1
13
|
### 1.5.0 / 2012-06-16
|
2
14
|
|
3
|
-
* Require ronin-support ~> 0.5.
|
15
|
+
* Require [ronin-support] ~> 0.5.
|
4
16
|
* Added {Ronin::UI::CLI::Command#setup}.
|
5
17
|
* Added {Ronin::UI::CLI::Command#cleanup}.
|
6
18
|
* Added {Ronin::UI::CLI::Command.examples}.
|
@@ -28,14 +40,15 @@
|
|
28
40
|
* `.command`s are now reserved only for special console commands
|
29
41
|
(ex: `.edit`).
|
30
42
|
* Improved recognition of console `!command`s and `.command`s.
|
31
|
-
* Do not allow
|
32
|
-
* Fixed bug in {Ronin::UI::CLI::Command}
|
33
|
-
* When {Ronin::UI::CLI::Command#start} catches an Interrupt, it
|
43
|
+
* Do not allow execution of console commands while in multi-line mode!
|
44
|
+
* Fixed a bug in {Ronin::UI::CLI::Command} which disabled colour output.
|
45
|
+
* When {Ronin::UI::CLI::Command#start} catches an Interrupt, it should exit
|
34
46
|
with status 130.
|
35
47
|
* Rescue `Errno::EPIPE` in {Ronin::UI::CLI::Command#start}.
|
36
48
|
* Improved `--help` output of `ronin` commands by adding `examples` and more
|
37
|
-
`:description`s to options.
|
38
|
-
* Changed `ronin-help COMMAND` to display the man-page for the given
|
49
|
+
`:description`s to their options.
|
50
|
+
* Changed the `ronin-help COMMAND` to display the man-page for the given
|
51
|
+
command.
|
39
52
|
* No longer honor the `DEBUG` environment variable. Use `ruby -w` or `ruby -d`
|
40
53
|
instead.
|
41
54
|
* Removed dm-constraints from the dependencies.
|
@@ -52,7 +65,7 @@
|
|
52
65
|
* Require open_namespace ~> 0.4.
|
53
66
|
* Require parameters ~> 0.4.
|
54
67
|
* Require uri-query_params ~> 0.6.
|
55
|
-
* Require ronin-support ~> 0.4.
|
68
|
+
* Require [ronin-support] ~> 0.4.
|
56
69
|
* Added {Ronin::Port.parse}.
|
57
70
|
* Added {Ronin::Port.from}.
|
58
71
|
* Added {Ronin::EmailAddress.from}.
|
@@ -121,7 +134,7 @@
|
|
121
134
|
### 1.3.0 / 2011-10-16
|
122
135
|
|
123
136
|
* Require DataMapper ~> 1.2.
|
124
|
-
* Require ronin-support ~> 0.3.
|
137
|
+
* Require [ronin-support] ~> 0.3.
|
125
138
|
* Added {Ronin::Model::Importable}.
|
126
139
|
* Added {Ronin::MACAddress.extract}.
|
127
140
|
* Added {Ronin::IPAddress.extract}.
|
@@ -131,7 +144,7 @@
|
|
131
144
|
* Renamed `license!` to `licensed_under` in
|
132
145
|
{Ronin::Model::HasLicense::InstanceMethods}.
|
133
146
|
* Moved `Ronin::UI::Output`, `Ronin::UI::Shell` and `Ronin::Network::Mixins`
|
134
|
-
into ronin-support.
|
147
|
+
into [ronin-support].
|
135
148
|
* {Ronin::Author.site} and {Ronin::License.url} now use the URI property.
|
136
149
|
* Merged `Ronin::UI::CLI::ModelCommand.query_model` into
|
137
150
|
{Ronin::UI::CLI::ModelCommand.model}.
|
@@ -163,7 +176,7 @@
|
|
163
176
|
|
164
177
|
* Require env ~> 0.2.
|
165
178
|
* Require data_paths ~> 0.3.
|
166
|
-
* Require ronin-support ~> 0.2.
|
179
|
+
* Require [ronin-support] ~> 0.2.
|
167
180
|
* Added `ronin/repositories`, for quickly loading all repositories.
|
168
181
|
* Added {Ronin#script}.
|
169
182
|
* Added {Ronin::AutoLoad}.
|
@@ -262,7 +275,7 @@
|
|
262
275
|
* Require ripl-short_errors ~> 0.1.
|
263
276
|
* Require ripl-color_result ~> 0.2.
|
264
277
|
* Require thor ~> 0.14.3.
|
265
|
-
* Require ronin-support ~> 0.1.
|
278
|
+
* Require [ronin-support] ~> 0.1.
|
266
279
|
* Added `ronin/bootstrap` which only loads configuration and the Database.
|
267
280
|
* Added {Ronin::Database::Migrations}.
|
268
281
|
* Added {Ronin::Model::HasUniqueName}.
|
@@ -760,3 +773,4 @@
|
|
760
773
|
* Auto-indentation enabled.
|
761
774
|
* Pretty-Print loaded.
|
762
775
|
|
776
|
+
[ronin-support]: https://github.com/ronin-rb/ronin-support
|
data/Gemfile
CHANGED
@@ -1,37 +1,38 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
DM_URI = '
|
3
|
+
DM_URI = 'https://github.com/datamapper'
|
4
4
|
DM_VERSION = '~> 1.2'
|
5
5
|
DO_VERSION = '~> 0.10.3'
|
6
|
-
RONIN_URI = '
|
6
|
+
RONIN_URI = 'https://github.com/ronin-rb'
|
7
7
|
|
8
8
|
gemspec
|
9
9
|
|
10
|
-
gem 'jruby-openssl', '~> 0.7', :
|
10
|
+
gem 'jruby-openssl', '~> 0.7', platforms: :jruby
|
11
11
|
|
12
12
|
# DataMapper dependencies
|
13
|
-
# gem 'data_objects', DO_VERSION, :
|
14
|
-
# gem 'do_sqlite3', DO_VERSION, :
|
15
|
-
# gem 'dm-do-adapter', DM_VERSION, :
|
16
|
-
# gem 'dm-sqlite-adapter', DM_VERSION, :
|
17
|
-
# gem 'dm-core', DM_VERSION, :
|
18
|
-
# gem 'dm-types', DM_VERSION, :
|
19
|
-
# gem 'dm-migrations', DM_VERSION, :
|
20
|
-
# gem 'dm-validations', DM_VERSION, :
|
21
|
-
# gem 'dm-serializer', DM_VERSION, :
|
22
|
-
# gem 'dm-aggregates', DM_VERSION, :
|
23
|
-
# gem 'dm-timestamps', DM_VERSION, :
|
13
|
+
# gem 'data_objects', DO_VERSION, git: "#{DM_URI}/do.git"
|
14
|
+
# gem 'do_sqlite3', DO_VERSION, git: "#{DM_URI}/do.git"
|
15
|
+
# gem 'dm-do-adapter', DM_VERSION, git: "#{DM_URI}/dm-do-adapter.git"
|
16
|
+
# gem 'dm-sqlite-adapter', DM_VERSION, git: "#{DM_URI}/dm-sqlite-adapter.git"
|
17
|
+
# gem 'dm-core', DM_VERSION, git: "#{DM_URI}/dm-core.git"
|
18
|
+
# gem 'dm-types', DM_VERSION, git: "#{DM_URI}/dm-types.git"
|
19
|
+
# gem 'dm-migrations', DM_VERSION, git: "#{DM_URI}/dm-migrations.git"
|
20
|
+
# gem 'dm-validations', DM_VERSION, git: "#{DM_URI}/dm-validations.git"
|
21
|
+
# gem 'dm-serializer', DM_VERSION, git: "#{DM_URI}/dm-serializer.git"
|
22
|
+
# gem 'dm-aggregates', DM_VERSION, git: "#{DM_URI}/dm-aggregates.git"
|
23
|
+
# gem 'dm-timestamps', DM_VERSION, git: "#{DM_URI}/dm-timestamps.git"
|
24
24
|
|
25
25
|
# Library dependencies
|
26
|
-
# gem 'ronin-support', '~> 0.5', :
|
26
|
+
# gem 'ronin-support', '~> 0.5', git: "#{RONIN_URI}/ronin-support.git",
|
27
|
+
# branch: 'main'
|
27
28
|
|
28
29
|
group :development do
|
29
|
-
gem 'rake'
|
30
|
+
gem 'rake'
|
30
31
|
gem 'rubygems-tasks', '~> 0.1'
|
31
|
-
gem 'rspec', '~>
|
32
|
+
gem 'rspec', '~> 3.0'
|
32
33
|
|
33
|
-
gem '
|
34
|
-
gem '
|
34
|
+
gem 'kramdown', '~> 2.0'
|
35
|
+
gem 'kramdown-man', '~> 0.1'
|
35
36
|
|
36
37
|
gem 'ruby-graphviz', '~> 0.9.10'
|
37
38
|
gem 'dm-visualizer', '~> 0.2.0'
|
@@ -55,5 +56,5 @@ adapters = (ENV['ADAPTER'] || ENV['ADAPTERS']).to_s
|
|
55
56
|
adapters = Set.new(adapters.to_s.tr(',',' ').split)
|
56
57
|
|
57
58
|
(DM_ADAPTERS & adapters).each do |adapter|
|
58
|
-
gem "dm-#{adapter}-adapter", DM_VERSION #, :
|
59
|
+
gem "dm-#{adapter}-adapter", DM_VERSION #, git: "#{DM_URI}/dm-#{adapter}-adapter.git"
|
59
60
|
end
|
data/README.md
CHANGED
@@ -1,30 +1,33 @@
|
|
1
|
-
#
|
1
|
+
# ronin
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
* [
|
7
|
-
* [
|
8
|
-
* [
|
3
|
+
[![CI](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml/badge.svg)](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/ronin-rb/ronin.svg)](https://codeclimate.com/github/ronin-rb/ronin)
|
5
|
+
|
6
|
+
* [Website](https://ronin-rb.dev)
|
7
|
+
* [Source](https://github.com/ronin-rb/ronin)
|
8
|
+
* [Issues](https://github.com/ronin-rb/ronin/issues)
|
9
|
+
* [Documentation](https://ronin-rb.github.com/docs/ronin/frames)
|
10
|
+
* [Slack](https://ronin-rb.slack.com) |
|
11
|
+
[Discord](https://discord.gg/6WAb3PsVX9) |
|
12
|
+
[Twitter](https://twitter.com/ronin_rb) |
|
13
|
+
[IRC](https://ronin-rb.dev/irc/)
|
9
14
|
|
10
15
|
## Description
|
11
16
|
|
12
|
-
Ronin is a [Ruby]
|
13
|
-
[exploit development](http://www.exploit-db.com) and security research.
|
17
|
+
Ronin is a [Ruby] platform for vulnerability research and [exploit development].
|
14
18
|
Ronin allows for the rapid development and distribution of code,
|
15
|
-
[
|
16
|
-
|
17
|
-
[Repositories](https://github.com/postmodern/postmodern).
|
19
|
+
[Exploits][example-exploit], [Payloads][example-payload],
|
20
|
+
[Scanners][example-scanner], etc, via [Repositories].
|
18
21
|
|
19
|
-
###
|
22
|
+
### Console
|
20
23
|
|
21
|
-
Ronin provides users with a
|
24
|
+
Ronin provides users with a powerful Ruby Console, pre-loaded with powerful
|
22
25
|
convenience methods. In the Console one can work with data and automate
|
23
26
|
complex tasks, with greater ease than the command-line.
|
24
27
|
|
25
28
|
>> File.read('data').base64_decode
|
26
29
|
|
27
|
-
###
|
30
|
+
### Database
|
28
31
|
|
29
32
|
Ronin ships with a preconfigured Database, that one can interact with from Ruby,
|
30
33
|
without having to write any SQL.
|
@@ -33,16 +36,16 @@ without having to write any SQL.
|
|
33
36
|
|
34
37
|
### Repositories
|
35
38
|
|
36
|
-
Ronin
|
37
|
-
miscallaneous Data, Code, Exploits,
|
39
|
+
Ronin provides a Repository system, allowing users to organize and share
|
40
|
+
miscallaneous Data, Code, [Exploits][example-exploit],
|
41
|
+
[Payloads][example-payload], [Scanners][example-scanner], etc.
|
38
42
|
|
39
|
-
$ ronin install git://github.com/user/
|
43
|
+
$ ronin install git://github.com/user/myexploits.git
|
40
44
|
|
41
45
|
### Libraries
|
42
46
|
|
43
47
|
Ronin provides libraries with additional functionality, such as
|
44
|
-
[Exploitation]
|
45
|
-
and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
|
48
|
+
[Exploitation][ronin-exploits] and [Scanning][ronin-scanners]:
|
46
49
|
|
47
50
|
$ gem install ronin-exploits
|
48
51
|
|
@@ -50,11 +53,11 @@ and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
|
|
50
53
|
|
51
54
|
* Supports installing/updating/uninstalling of Repositories.
|
52
55
|
* Supports installing Repositories from various media types:
|
53
|
-
* [Subversion (SVN)]
|
54
|
-
* [Mercurial (Hg)]
|
55
|
-
* [Git]
|
56
|
+
* [Subversion (SVN)][svn]
|
57
|
+
* [Mercurial (Hg)][hg]
|
58
|
+
* [Git][git]
|
56
59
|
* Rsync
|
57
|
-
* Provides a Database using [DataMapper]
|
60
|
+
* Provides a Database using [DataMapper] with:
|
58
61
|
* {Ronin::Author}
|
59
62
|
* {Ronin::License}
|
60
63
|
* {Ronin::Arch}
|
@@ -82,10 +85,8 @@ and [Scanning](https://github.com/ronin-ruby/ronin-scanners#readme).
|
|
82
85
|
* {Ronin::Target}
|
83
86
|
* Caches exploits, payloads, scanners, etc stored within Repositories
|
84
87
|
into the Database.
|
85
|
-
* Convenience methods provided by
|
86
|
-
|
87
|
-
* Provides a customized Ruby Console using
|
88
|
-
[Ripl](https://github.com/cldwalker/ripl#readme) with:
|
88
|
+
* Convenience methods provided by [ronin-support].
|
89
|
+
* Provides a customized Ruby Console using [Ripl][ripl] with:
|
89
90
|
* Syntax highlighting.
|
90
91
|
* Tab completion.
|
91
92
|
* Auto indentation.
|
@@ -147,68 +148,50 @@ Remove a Database:
|
|
147
148
|
|
148
149
|
## Requirements
|
149
150
|
|
150
|
-
* [Ruby]
|
151
|
-
* [DataMapper]
|
152
|
-
* [dm-sqlite-adapter]
|
153
|
-
|
154
|
-
|
155
|
-
* [dm-
|
156
|
-
|
157
|
-
* [dm-
|
158
|
-
|
159
|
-
* [dm-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
* [
|
168
|
-
|
169
|
-
* [
|
170
|
-
|
171
|
-
* [
|
172
|
-
|
173
|
-
* [data_paths](https://github.com/postmodern/data_paths#readme)
|
174
|
-
~> 0.3
|
175
|
-
* [object_loader](https://github.com/postmodern/object_loader#readme)
|
176
|
-
~> 1.0
|
177
|
-
* [parameters](https://github.com/postmodern/parameters#readme)
|
178
|
-
~> 0.4
|
179
|
-
* [pullr](https://github.com/postmodern/pullr#readme)
|
180
|
-
~> 0.1, >= 0.1.2
|
181
|
-
* [ripl](https://github.com/cldwalker/ripl#readme)
|
182
|
-
~> 0.3
|
183
|
-
* [ripl-multi_line](https://github.com/janlelis/ripl-multi_line#readme)
|
184
|
-
~> 0.2
|
185
|
-
* [ripl-auto_indent](https://github.com/janlelis/ripl-auto_indent#readme)
|
186
|
-
~> 0.1
|
187
|
-
* [ripl-short_errors](https://rubygems.org/gems/ripl-short_errors)
|
188
|
-
~> 0.1
|
189
|
-
* [ripl-color_result](https://github.com/janlelis/ripl-color_result#readme)
|
190
|
-
~> 0.3
|
191
|
-
* [ronin-support](https://github.com/ronin-ruby/ronin-support#readme)
|
192
|
-
~> 0.5
|
151
|
+
* [Ruby] >= 1.8.7
|
152
|
+
* [DataMapper]:
|
153
|
+
* [dm-sqlite-adapter] ~> 1.2
|
154
|
+
* [libsqlite3]
|
155
|
+
* [dm-core] ~> 1.2
|
156
|
+
* [dm-types] ~> 1.2
|
157
|
+
* [dm-migrations] ~> 1.2
|
158
|
+
* [dm-validations] ~> 1.2
|
159
|
+
* [dm-aggregates] ~> 1.2
|
160
|
+
* [dm-timestamps] ~> 1.2
|
161
|
+
* [dm-is-predefined] ~> 0.4
|
162
|
+
* [uri-query_params] ~> 0.6
|
163
|
+
* [open_namespace] ~> 0.4
|
164
|
+
* [data_paths] ~> 0.3
|
165
|
+
* [object_loader] ~> 1.0
|
166
|
+
* [parameters] ~> 0.4
|
167
|
+
* [pullr] ~> 0.1, >= 0.1.2
|
168
|
+
* [ripl] ~> 0.3
|
169
|
+
* [ripl-multi_line] ~> 0.2
|
170
|
+
* [ripl-auto_indent] ~> 0.1
|
171
|
+
* [ripl-short_errors] ~> 0.1
|
172
|
+
* [ripl-color_result] ~> 0.3
|
173
|
+
* [ronin-support] ~> 0.5
|
193
174
|
|
194
175
|
## Install
|
195
176
|
|
196
|
-
### Stable
|
197
|
-
|
198
177
|
$ gem install ronin
|
199
178
|
|
200
|
-
|
179
|
+
## Development
|
201
180
|
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
181
|
+
1. [Fork It!](https://github.com/ronin-rb/ronin/fork)
|
182
|
+
2. Clone It!
|
183
|
+
3. `cd ronin`
|
184
|
+
4. `bundle install`
|
185
|
+
5. `git checkout -b my_feature`
|
186
|
+
6. Code It!
|
187
|
+
7. `bundle exec rake spec`
|
188
|
+
8. `git push origin my_feature`
|
206
189
|
|
207
190
|
## License
|
208
191
|
|
209
|
-
Copyright (c) 2006-
|
192
|
+
Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
|
210
193
|
|
211
|
-
This file is part of
|
194
|
+
This file is part of ronin.
|
212
195
|
|
213
196
|
Ronin is free software: you can redistribute it and/or modify
|
214
197
|
it under the terms of the GNU General Public License as published by
|
@@ -221,4 +204,42 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
221
204
|
GNU General Public License for more details.
|
222
205
|
|
223
206
|
You should have received a copy of the GNU General Public License
|
224
|
-
along with Ronin. If not, see <
|
207
|
+
along with Ronin. If not, see <https://www.gnu.org/licenses/>.
|
208
|
+
|
209
|
+
[Ruby]: https://www.ruby-lang.org
|
210
|
+
[exploit development]: https://www.exploit-db.com
|
211
|
+
[example-exploit]: https://github.com/ronin-rb/example-repo/blob/master/scripts/exploits/http/oracle/dav_bypass.rb
|
212
|
+
[example-payload]: https://gist.github.com/1403961
|
213
|
+
[example-scanner]: https://github.com/ronin-rb/example-repo/blob/master/scripts/scanners/oracle_dad_scanner.rb
|
214
|
+
[Repositories]: https://github.com/ronin-rb/example-repo
|
215
|
+
|
216
|
+
[ronin-support]: https://github.com/ronin-rb/ronin-support#readme
|
217
|
+
[ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme
|
218
|
+
[ronin-scanners]: https://github.com/ronin-rb/ronin-scanners#readme
|
219
|
+
|
220
|
+
[svn]: https://subversion.apache.org/
|
221
|
+
[hg]: https://www.mercurial-scm.org/
|
222
|
+
[git]: https://git-scm.com/
|
223
|
+
|
224
|
+
[DataMapper]: http://datamapper.org
|
225
|
+
[dm-sqlite-adapter]: https://github.com/datamapper/dm-sqlite-adapter#readme
|
226
|
+
[libsqlite3]: https://sqlite.org/
|
227
|
+
[dm-core]: https://github.com/datamapper/dm-core#readme
|
228
|
+
[dm-types]: https://github.com/datamapper/dm-types#readme
|
229
|
+
[dm-migrations]: https://github.com/datamapper/dm-migrations#readme
|
230
|
+
[dm-validations]: https://github.com/datamapper/dm-validations#readme
|
231
|
+
[dm-aggregates]: https://github.com/datamapper/dm-aggregates#readme
|
232
|
+
[dm-timestamps]: https://github.com/datamapper/dm-timestamps#readme
|
233
|
+
[dm-is-predefined]: https://github.com/postmodern/dm-is-predefined#readme
|
234
|
+
[uri-query_params]: https://github.com/postmodern/uri-query_params#readme
|
235
|
+
[open_namespace]: https://github.com/postmodern/open_namespace#readme
|
236
|
+
[data_paths]: https://github.com/postmodern/data_paths#readme
|
237
|
+
[object_loader]: https://github.com/postmodern/object_loader#readme
|
238
|
+
[parameters]: https://github.com/postmodern/parameters#readme
|
239
|
+
[pullr]: https://github.com/postmodern/pullr#readme
|
240
|
+
[ripl]: https://github.com/cldwalker/ripl#readme
|
241
|
+
[ripl-multi_line]: https://github.com/janlelis/ripl-multi_line#readme
|
242
|
+
[ripl-auto_indent]: https://github.com/janlelis/ripl-auto_indent#readme
|
243
|
+
[ripl-short_errors]: https://rubygems.org/gems/ripl-short_errors
|
244
|
+
[ripl-color_result]: https://github.com/janlelis/ripl-color_result#readme
|
245
|
+
[ronin-support]: https://github.com/ronin-rb/ronin-support#readme
|