ronin 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +11 -0
- data/.github/workflows/ruby.yml +32 -0
- data/.gitignore +7 -7
- data/.ruby-version +1 -0
- data/COPYING.txt +3 -3
- data/ChangeLog.md +25 -11
- data/Gemfile +21 -20
- data/README.md +102 -81
- data/Rakefile +4 -5
- data/bin/ronin +7 -12
- data/bin/ronin-campaigns +7 -12
- data/bin/ronin-console +7 -12
- data/bin/ronin-creds +7 -12
- data/bin/ronin-database +7 -12
- data/bin/ronin-emails +7 -12
- data/bin/ronin-exec +7 -12
- data/bin/ronin-fuzzer +7 -12
- data/bin/ronin-help +7 -12
- data/bin/ronin-hosts +7 -12
- data/bin/ronin-install +7 -12
- data/bin/ronin-ips +7 -12
- data/bin/ronin-net-proxy +7 -12
- data/bin/ronin-repos +7 -12
- data/bin/ronin-uninstall +7 -12
- data/bin/ronin-update +7 -12
- data/bin/ronin-urls +7 -12
- data/bin/ronin-wordlist +7 -12
- data/gemspec.yml +8 -8
- data/lib/bond/completions/ronin.rb +23 -23
- data/lib/ronin.rb +3 -3
- data/lib/ronin/address.rb +6 -7
- data/lib/ronin/arch.rb +3 -3
- data/lib/ronin/author.rb +5 -7
- data/lib/ronin/auto_load.rb +5 -5
- data/lib/ronin/bootstrap.rb +3 -3
- data/lib/ronin/campaign.rb +3 -3
- data/lib/ronin/config.rb +5 -7
- data/lib/ronin/credential.rb +3 -3
- data/lib/ronin/database.rb +3 -3
- data/lib/ronin/database/database.rb +8 -12
- data/lib/ronin/database/exceptions.rb +3 -3
- data/lib/ronin/database/exceptions/invalid_config.rb +3 -3
- data/lib/ronin/database/exceptions/unknown_repository.rb +3 -3
- data/lib/ronin/database/migrations.rb +3 -3
- data/lib/ronin/database/migrations/1.0.0.rb +3 -3
- data/lib/ronin/database/migrations/1.1.0.rb +3 -3
- data/lib/ronin/database/migrations/exceptions.rb +3 -3
- data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +3 -3
- data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +3 -3
- data/lib/ronin/database/migrations/graph.rb +3 -3
- data/lib/ronin/database/migrations/migration.rb +3 -3
- data/lib/ronin/database/migrations/migrations.rb +3 -3
- data/lib/ronin/email_address.rb +5 -7
- data/lib/ronin/environment.rb +3 -3
- data/lib/ronin/exceptions.rb +3 -3
- data/lib/ronin/exceptions/duplicate_repository.rb +3 -3
- data/lib/ronin/exceptions/repository_not_found.rb +3 -3
- data/lib/ronin/host_name.rb +3 -3
- data/lib/ronin/host_name_ip_address.rb +3 -3
- data/lib/ronin/installation.rb +5 -7
- data/lib/ronin/ip_address.rb +6 -8
- data/lib/ronin/ip_address_mac_address.rb +3 -3
- data/lib/ronin/license.rb +6 -6
- data/lib/ronin/mac_address.rb +3 -3
- data/lib/ronin/model.rb +3 -3
- data/lib/ronin/model/has_authors.rb +3 -3
- data/lib/ronin/model/has_description.rb +3 -3
- data/lib/ronin/model/has_license.rb +3 -3
- data/lib/ronin/model/has_name.rb +3 -3
- data/lib/ronin/model/has_title.rb +3 -3
- data/lib/ronin/model/has_unique_name.rb +5 -7
- data/lib/ronin/model/has_version.rb +3 -3
- data/lib/ronin/model/importable.rb +3 -3
- data/lib/ronin/model/model.rb +7 -8
- data/lib/ronin/model/types.rb +3 -3
- data/lib/ronin/model/types/description.rb +9 -12
- data/lib/ronin/open_port.rb +5 -7
- data/lib/ronin/organization.rb +3 -3
- data/lib/ronin/os.rb +5 -7
- data/lib/ronin/os_guess.rb +3 -3
- data/lib/ronin/password.rb +3 -3
- data/lib/ronin/port.rb +3 -3
- data/lib/ronin/repositories.rb +3 -3
- data/lib/ronin/repository.rb +3 -3
- data/lib/ronin/ronin.rb +3 -3
- data/lib/ronin/script.rb +3 -3
- data/lib/ronin/script/buildable.rb +3 -3
- data/lib/ronin/script/deployable.rb +3 -3
- data/lib/ronin/script/exceptions.rb +3 -3
- data/lib/ronin/script/exceptions/build_failed.rb +3 -3
- data/lib/ronin/script/exceptions/deploy_failed.rb +3 -3
- data/lib/ronin/script/exceptions/exception.rb +3 -3
- data/lib/ronin/script/exceptions/not_built.rb +3 -3
- data/lib/ronin/script/exceptions/test_failed.rb +3 -3
- data/lib/ronin/script/path.rb +3 -3
- data/lib/ronin/script/script.rb +3 -3
- data/lib/ronin/script/testable.rb +3 -3
- data/lib/ronin/service.rb +3 -3
- data/lib/ronin/service_credential.rb +3 -3
- data/lib/ronin/software.rb +3 -3
- data/lib/ronin/spec/database.rb +27 -21
- data/lib/ronin/target.rb +3 -3
- data/lib/ronin/tcp_port.rb +3 -3
- data/lib/ronin/udp_port.rb +3 -3
- data/lib/ronin/ui.rb +3 -3
- data/lib/ronin/ui/cli.rb +3 -3
- data/lib/ronin/ui/cli/class_command.rb +14 -7
- data/lib/ronin/ui/cli/cli.rb +5 -5
- data/lib/ronin/ui/cli/command.rb +5 -7
- data/lib/ronin/ui/cli/commands.rb +3 -3
- data/lib/ronin/ui/cli/commands/campaigns.rb +5 -7
- data/lib/ronin/ui/cli/commands/console.rb +3 -3
- data/lib/ronin/ui/cli/commands/creds.rb +3 -3
- data/lib/ronin/ui/cli/commands/database.rb +3 -3
- data/lib/ronin/ui/cli/commands/emails.rb +3 -3
- data/lib/ronin/ui/cli/commands/exec.rb +3 -3
- data/lib/ronin/ui/cli/commands/fuzzer.rb +16 -16
- data/lib/ronin/ui/cli/commands/help.rb +3 -3
- data/lib/ronin/ui/cli/commands/hosts.rb +5 -7
- data/lib/ronin/ui/cli/commands/install.rb +7 -11
- data/lib/ronin/ui/cli/commands/ips.rb +5 -7
- data/lib/ronin/ui/cli/commands/net/proxy.rb +19 -12
- data/lib/ronin/ui/cli/commands/repos.rb +3 -3
- data/lib/ronin/ui/cli/commands/uninstall.rb +3 -3
- data/lib/ronin/ui/cli/commands/update.rb +3 -3
- data/lib/ronin/ui/cli/commands/urls.rb +3 -3
- data/lib/ronin/ui/cli/commands/wordlist.rb +3 -3
- data/lib/ronin/ui/cli/exceptions.rb +3 -3
- data/lib/ronin/ui/cli/exceptions/unknown_command.rb +3 -3
- data/lib/ronin/ui/cli/model_command.rb +6 -9
- data/lib/ronin/ui/cli/printing.rb +3 -3
- data/lib/ronin/ui/cli/resources_command.rb +7 -11
- data/lib/ronin/ui/cli/script_command.rb +5 -10
- data/lib/ronin/ui/console.rb +3 -3
- data/lib/ronin/ui/console/commands.rb +3 -3
- data/lib/ronin/ui/console/console.rb +3 -3
- data/lib/ronin/ui/console/context.rb +3 -3
- data/lib/ronin/ui/console/shell.rb +3 -3
- data/lib/ronin/url.rb +5 -7
- data/lib/ronin/url_query_param.rb +3 -3
- data/lib/ronin/url_query_param_name.rb +6 -6
- data/lib/ronin/url_scheme.rb +4 -4
- data/lib/ronin/user_name.rb +3 -3
- data/lib/ronin/vendor.rb +3 -3
- data/lib/ronin/version.rb +5 -5
- data/lib/ronin/web_credential.rb +5 -7
- data/man/ronin-campaigns.1.md +20 -20
- data/man/ronin-console.1.md +17 -17
- data/man/ronin-creds.1.md +16 -16
- data/man/ronin-database.1.md +23 -23
- data/man/ronin-emails.1.md +18 -18
- data/man/ronin-exec.1.md +11 -11
- data/man/ronin-fuzzer.1.md +23 -23
- data/man/ronin-help.1.md +5 -5
- data/man/ronin-hosts.1.md +20 -20
- data/man/ronin-install.1.md +18 -18
- data/man/ronin-ips.1.md +21 -21
- data/man/ronin-net-proxy.1.md +24 -24
- data/man/ronin-repos.1.md +18 -18
- data/man/ronin-uninstall.1.md +14 -14
- data/man/ronin-update.1.md +14 -14
- data/man/ronin-urls.1.md +22 -22
- data/man/ronin-wordlist.1.md +14 -13
- data/man/ronin.1.md +1 -1
- data/spec/arch_spec.rb +59 -46
- data/spec/author_spec.rb +14 -14
- data/spec/campaign_spec.rb +8 -0
- data/spec/credential_spec.rb +11 -8
- data/spec/database_spec.rb +6 -6
- data/spec/email_address_spec.rb +23 -20
- data/spec/host_name_spec.rb +24 -22
- data/spec/installation_spec.rb +6 -6
- data/spec/ip_address_spec.rb +31 -26
- data/spec/license_spec.rb +15 -9
- data/spec/mac_address_spec.rb +17 -8
- data/spec/model/has_authors_spec.rb +56 -37
- data/spec/model/has_description_spec.rb +36 -23
- data/spec/model/has_license_spec.rb +38 -28
- data/spec/model/has_name_spec.rb +36 -19
- data/spec/model/has_title_spec.rb +27 -14
- data/spec/model/has_version_spec.rb +64 -35
- data/spec/model/model_spec.rb +57 -33
- data/spec/model/models/{basic_model.rb → base_model.rb} +1 -1
- data/spec/model/models/{custom_model.rb → inherited_model.rb} +2 -3
- data/spec/os_spec.rb +24 -20
- data/spec/password_spec.rb +17 -9
- data/spec/port_spec.rb +30 -22
- data/spec/repository_spec.rb +59 -60
- data/spec/ronin_spec.rb +4 -4
- data/spec/script/buildable_spec.rb +8 -8
- data/spec/script/deployable_spec.rb +7 -7
- data/spec/script/path_spec.rb +42 -40
- data/spec/script/script_spec.rb +23 -23
- data/spec/script/testable_spec.rb +20 -20
- data/spec/service_spec.rb +14 -8
- data/spec/software_spec.rb +30 -17
- data/spec/spec_helper.rb +4 -4
- data/spec/ui/cli/classes/test_command.rb +2 -4
- data/spec/ui/cli/cli_spec.rb +5 -5
- data/spec/ui/cli/command_spec.rb +34 -30
- data/spec/url_query_param_spec.rb +23 -14
- data/spec/url_scheme_spec.rb +12 -9
- data/spec/url_spec.rb +64 -61
- data/spec/vendor_spec.rb +15 -8
- metadata +122 -150
- data/.gemtest +0 -0
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
|
+
[](https://github.com/ronin-rb/ronin/actions/workflows/ruby.yml)
|
4
|
+
[](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
|