ronin 2.0.4 → 2.1.0.rc1
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 +4 -4
- data/.github/workflows/ruby.yml +3 -3
- data/.gitignore +1 -0
- data/.rubocop.yml +5 -1
- data/ChangeLog.md +67 -1
- data/Gemfile +66 -29
- data/README.md +166 -21
- data/Rakefile +9 -0
- data/data/completions/ronin +655 -0
- data/data/templates/dns_proxy.rb.erb +35 -0
- data/gemspec.yml +27 -13
- data/lib/ronin/cli/binary_template.rb +124 -0
- data/lib/ronin/cli/commands/archive.rb +104 -0
- data/lib/ronin/cli/commands/banner_grab.rb +2 -0
- data/lib/ronin/cli/commands/bitflip.rb +1 -1
- data/lib/ronin/cli/commands/bitsquat.rb +119 -0
- data/lib/ronin/cli/commands/cert_dump.rb +20 -4
- data/lib/ronin/cli/commands/cert_gen.rb +11 -19
- data/lib/ronin/cli/commands/cert_grab.rb +4 -3
- data/lib/ronin/cli/commands/completion.rb +115 -0
- data/lib/ronin/cli/commands/dns_proxy.rb +235 -0
- data/lib/ronin/cli/commands/http.rb +80 -8
- data/lib/ronin/cli/commands/ip.rb +101 -0
- data/lib/ronin/cli/commands/iprange.rb +25 -8
- data/lib/ronin/cli/commands/netcat.rb +2 -0
- data/lib/ronin/cli/commands/new/dns_listener.rb +37 -0
- data/lib/ronin/cli/commands/new/dns_proxy.rb +99 -0
- data/lib/ronin/cli/commands/new/exploit.rb +34 -0
- data/lib/ronin/cli/commands/new/http_listener.rb +37 -0
- data/lib/ronin/cli/commands/new/nokogiri.rb +33 -0
- data/lib/ronin/cli/commands/new/payload.rb +34 -0
- data/lib/ronin/cli/commands/new/project.rb +1 -1
- data/lib/ronin/cli/commands/new/script.rb +1 -1
- data/lib/ronin/cli/commands/new/web_app.rb +37 -0
- data/lib/ronin/cli/commands/new/web_server.rb +37 -0
- data/lib/ronin/cli/commands/new/web_spider.rb +37 -0
- data/lib/ronin/cli/commands/new.rb +3 -1
- data/lib/ronin/cli/commands/pack.rb +339 -0
- data/lib/ronin/cli/commands/public_suffix_list.rb +2 -0
- data/lib/ronin/cli/commands/tld_list.rb +2 -0
- data/lib/ronin/cli/commands/unarchive.rb +128 -0
- data/lib/ronin/cli/commands/unhexdump.rb +3 -1
- data/lib/ronin/cli/commands/unpack.rb +195 -0
- data/lib/ronin/cli/commands/url.rb +2 -0
- data/lib/ronin/cli/http_shell.rb +25 -0
- data/lib/ronin/cli.rb +10 -0
- data/lib/ronin/version.rb +1 -1
- data/man/ronin-archive.1.md +49 -0
- data/man/ronin-asn.1 +60 -77
- data/man/ronin-asn.1.md +25 -21
- data/man/ronin-banner-grab.1 +10 -21
- data/man/ronin-banner-grab.1.md +9 -5
- data/man/ronin-bitflip.1 +35 -61
- data/man/ronin-bitflip.1.md +30 -26
- data/man/ronin-bitsquat.1 +40 -0
- data/man/ronin-bitsquat.1.md +43 -0
- data/man/ronin-cert-dump.1 +44 -54
- data/man/ronin-cert-dump.1.md +18 -14
- data/man/ronin-cert-gen.1 +73 -94
- data/man/ronin-cert-gen.1.md +38 -34
- data/man/ronin-cert-grab.1 +29 -37
- data/man/ronin-cert-grab.1.md +12 -8
- data/man/ronin-completion.1 +78 -0
- data/man/ronin-completion.1.md +80 -0
- data/man/ronin-decode.1 +32 -63
- data/man/ronin-decode.1.md +29 -25
- data/man/ronin-decrypt.1 +42 -57
- data/man/ronin-decrypt.1.md +20 -16
- data/man/ronin-dns-proxy.1 +100 -0
- data/man/ronin-dns-proxy.1.md +70 -0
- data/man/ronin-dns.1 +10 -21
- data/man/ronin-dns.1.md +9 -5
- data/man/ronin-email-addr.1 +27 -40
- data/man/ronin-email-addr.1.md +15 -11
- data/man/ronin-encode.1 +93 -63
- data/man/ronin-encode.1.md +64 -26
- data/man/ronin-encrypt.1 +42 -57
- data/man/ronin-encrypt.1.md +20 -16
- data/man/ronin-entropy.1 +11 -21
- data/man/ronin-entropy.1.md +8 -4
- data/man/ronin-escape.1 +22 -46
- data/man/ronin-escape.1.md +22 -18
- data/man/ronin-extract.1 +74 -149
- data/man/ronin-extract.1.md +73 -69
- data/man/ronin-grep.1 +77 -155
- data/man/ronin-grep.1.md +76 -72
- data/man/ronin-help.1 +3 -14
- data/man/ronin-help.1.md +2 -2
- data/man/ronin-hexdump.1 +249 -265
- data/man/ronin-hexdump.1.md +93 -89
- data/man/ronin-highlight.1 +8 -18
- data/man/ronin-highlight.1.md +8 -4
- data/man/ronin-hmac.1 +17 -30
- data/man/ronin-hmac.1.md +14 -10
- data/man/ronin-homoglyph.1 +11 -22
- data/man/ronin-homoglyph.1.md +10 -6
- data/man/ronin-host.1 +23 -47
- data/man/ronin-host.1.md +22 -18
- data/man/ronin-http.1 +40 -69
- data/man/ronin-http.1.md +40 -30
- data/man/ronin-ip.1 +70 -80
- data/man/ronin-ip.1.md +44 -28
- data/man/ronin-iprange.1 +14 -22
- data/man/ronin-iprange.1.md +12 -5
- data/man/ronin-irb.1 +9 -17
- data/man/ronin-irb.1.md +7 -3
- data/man/ronin-md5.1 +13 -24
- data/man/ronin-md5.1.md +11 -7
- data/man/ronin-netcat.1 +25 -51
- data/man/ronin-netcat.1.md +25 -21
- data/man/ronin-new-dns-proxy.1 +45 -0
- data/man/ronin-new-dns-proxy.1.md +44 -0
- data/man/ronin-new-project.1 +32 -45
- data/man/ronin-new-project.1.md +11 -11
- data/man/ronin-new-script.1 +10 -22
- data/man/ronin-new-script.1.md +4 -4
- data/man/ronin-new.1 +56 -31
- data/man/ronin-new.1.md +48 -8
- data/man/ronin-pack.1 +977 -0
- data/man/ronin-pack.1.md +929 -0
- data/man/ronin-proxy.1 +37 -63
- data/man/ronin-proxy.1.md +29 -25
- data/man/ronin-public-suffix-list.1 +16 -32
- data/man/ronin-public-suffix-list.1.md +13 -9
- data/man/ronin-quote.1 +17 -36
- data/man/ronin-quote.1.md +17 -13
- data/man/ronin-rot.1 +26 -39
- data/man/ronin-rot.1.md +15 -11
- data/man/ronin-sha1.1 +13 -24
- data/man/ronin-sha1.1.md +11 -7
- data/man/ronin-sha256.1 +13 -24
- data/man/ronin-sha256.1.md +11 -7
- data/man/ronin-sha512.1 +13 -24
- data/man/ronin-sha512.1.md +11 -7
- data/man/ronin-strings.1 +30 -55
- data/man/ronin-strings.1.md +27 -23
- data/man/ronin-tips.1 +8 -16
- data/man/ronin-tips.1.md +7 -3
- data/man/ronin-tld-list.1 +16 -32
- data/man/ronin-tld-list.1.md +13 -9
- data/man/ronin-typo.1 +14 -28
- data/man/ronin-typo.1.md +13 -9
- data/man/ronin-typosquat.1 +15 -32
- data/man/ronin-typosquat.1.md +15 -11
- data/man/ronin-unarchive.1.md +41 -0
- data/man/ronin-unescape.1 +22 -46
- data/man/ronin-unescape.1.md +22 -18
- data/man/ronin-unhexdump.1 +81 -91
- data/man/ronin-unhexdump.1.md +16 -12
- data/man/ronin-unpack.1 +978 -0
- data/man/ronin-unpack.1.md +920 -0
- data/man/ronin-unquote.1 +17 -36
- data/man/ronin-unquote.1.md +17 -13
- data/man/ronin-url.1 +19 -40
- data/man/ronin-url.1.md +19 -15
- data/man/ronin-xor.1 +14 -28
- data/man/ronin-xor.1.md +13 -9
- data/man/ronin.1 +208 -29
- data/man/ronin.1.md +156 -11
- data/scripts/setup +58 -0
- metadata +162 -73
- data/lib/ronin/config.rb +0 -95
- /data/data/{new → templates}/project/.gitignore +0 -0
- /data/data/{new → templates}/project/.ruby-version.erb +0 -0
- /data/data/{new → templates}/project/Dockerfile.erb +0 -0
- /data/data/{new → templates}/project/Gemfile.erb +0 -0
- /data/data/{new → templates}/project/Rakefile +0 -0
- /data/data/{new → templates}/project/project.rb.erb +0 -0
- /data/data/{new → templates}/script.rb.erb +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 83080c43d17f502c2eeffc66cba98644fe2c6d3f8a33cd5230f64c66ced7a375
|
|
4
|
+
data.tar.gz: 25893b73f24ca08634df9ff76dc994e5453d8d98c45f792208cd0826fc9d8c49
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8032e44bf301b21b5937581b3df2a910469e6697ec6f61c7867e6b8499c55afbdf4766465d1858df5d09ba011b4a4f61313ca9d0d8e2ab16578de497e77862f
|
|
7
|
+
data.tar.gz: adec05b8a2355ef4eac10e735705fd24f4e123e67d4bbcf90b384126a8820482d07f337b35a6e433335177f73e21ba979b0398d8a5c3f81d7a6cb6e375f3eeb8
|
data/.github/workflows/ruby.yml
CHANGED
|
@@ -9,14 +9,14 @@ jobs:
|
|
|
9
9
|
fail-fast: false
|
|
10
10
|
matrix:
|
|
11
11
|
ruby:
|
|
12
|
-
- '3.0'
|
|
13
12
|
- '3.1'
|
|
14
13
|
- '3.2'
|
|
14
|
+
- '3.3'
|
|
15
15
|
# - jruby
|
|
16
16
|
- truffleruby
|
|
17
17
|
name: Ruby ${{ matrix.ruby }}
|
|
18
18
|
steps:
|
|
19
|
-
- uses: actions/checkout@
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
20
|
- name: Set up Ruby
|
|
21
21
|
uses: ruby/setup-ruby@v1
|
|
22
22
|
with:
|
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
rubocop:
|
|
36
36
|
runs-on: ubuntu-latest
|
|
37
37
|
steps:
|
|
38
|
-
- uses: actions/checkout@
|
|
38
|
+
- uses: actions/checkout@v4
|
|
39
39
|
- name: Set up Ruby
|
|
40
40
|
uses: ruby/setup-ruby@v1
|
|
41
41
|
with:
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -15,7 +15,11 @@ Layout/ExtraSpacing:
|
|
|
15
15
|
Exclude:
|
|
16
16
|
- 'Gemfile'
|
|
17
17
|
|
|
18
|
+
Layout/HeredocIndentation:
|
|
19
|
+
Exclude:
|
|
20
|
+
- 'lib/ronin/cli/commands/pack.rb'
|
|
21
|
+
|
|
18
22
|
# no need to add `frozen_string_literal: true` to new scripts/projects
|
|
19
23
|
Style/FrozenStringLiteralComment:
|
|
20
24
|
Exclude:
|
|
21
|
-
- 'data/
|
|
25
|
+
- 'data/templates/**/*'
|
data/ChangeLog.md
CHANGED
|
@@ -1,3 +1,61 @@
|
|
|
1
|
+
### 2.1.0 / 2024-XX-XX
|
|
2
|
+
|
|
3
|
+
* Require [Ruby] >- 3.1.0.
|
|
4
|
+
* Require [wordlist] ~> 1.1.
|
|
5
|
+
* Require [ronin-core] ~> 0.2.
|
|
6
|
+
* Require [ronin-dns-proxy] ~> 0.1.
|
|
7
|
+
* Require [ronin-listener] ~> 0.1.
|
|
8
|
+
* Require [ronin-masscan] ~> 0.1.
|
|
9
|
+
* Require [ronin-nmap] ~> 0.1.
|
|
10
|
+
* Require [ronin-recon] ~> 0.1.
|
|
11
|
+
* Require [ronin-support] ~> 1.1.
|
|
12
|
+
* Require [ronin-vulns] ~> 0.2.
|
|
13
|
+
* Require [ronin-web] ~> 2.0.
|
|
14
|
+
* Require [ronin-wordlists] ~> 0.2.
|
|
15
|
+
* Removed unused `Ronin::Config` module.
|
|
16
|
+
|
|
17
|
+
#### CLI
|
|
18
|
+
|
|
19
|
+
* Added the `ronin archive` command.
|
|
20
|
+
* Added the `ronin unarchive` command.
|
|
21
|
+
* Added the `ronin bitsquat` command.
|
|
22
|
+
* Added the `ronin completion` command to install shell completion files
|
|
23
|
+
for all `ronin` and `ronin-*` commands for Bash and Zsh shells.
|
|
24
|
+
* Added the `ronin dns-proxy` command.
|
|
25
|
+
* Added the `ronin new dns-proxy` command.
|
|
26
|
+
* Added the `ronin pack` command.
|
|
27
|
+
* Added the `ronin unpack` command.
|
|
28
|
+
* Added the `--hex-octet`, `--octal-octet`, and `--ipv6-compat` options to the
|
|
29
|
+
`ronin ip` command.
|
|
30
|
+
* Added more accepted values to the `ronin http --user-agent` option.
|
|
31
|
+
* Added the `--cookie` and `--cookie-param` options to the `ronin http` command.
|
|
32
|
+
* Added the `cookie` and `set-cookie` commands to the `ronin http` shell.
|
|
33
|
+
* Added the `-s,--size` option to the `ronin iprange` command.
|
|
34
|
+
* Added support for `ronin cert-gen --key-type dsa`.
|
|
35
|
+
* All `--help` options and the `ronin irb` command now displays the Ronin logo
|
|
36
|
+
ASCII art.
|
|
37
|
+
* Alias `ronin tlds` to the `ronin tld-list` command.
|
|
38
|
+
* Alias `ronin public-suffixes` to the `ronin public-suffix-list` command.
|
|
39
|
+
* Alias `ronin new exploit` to the `ronin-exploits new` command.
|
|
40
|
+
* Alias `ronin new payload` to the `ronin-payloads new` command.
|
|
41
|
+
* Alias `ronin new dns-listener` to the `ronin-listener new dns` command.
|
|
42
|
+
* Alias `ronin new http-listener` to the `ronin-listener new http` command.
|
|
43
|
+
* Alias `ronin new web-app` to the `ronin-web new app` command.
|
|
44
|
+
* Alias `ronin new nokogiri` to the `ronin-web new nokogiri` command.
|
|
45
|
+
* Alias `ronin new web-server` to the `ronin-web new server` command.
|
|
46
|
+
* Alias `ronin new web-spider` to the `ronin-web new spider` command.
|
|
47
|
+
|
|
48
|
+
### 2.0.5 / 2023-09-19
|
|
49
|
+
|
|
50
|
+
* Require [wordlist] ~> 1.0, >= 1.0.3 for macOS fixes.
|
|
51
|
+
* Require [ronin-support] ~> 1.0, >= 1.0.3.
|
|
52
|
+
|
|
53
|
+
#### CLI
|
|
54
|
+
|
|
55
|
+
* Fixed a bug in `ronin cert-gen` that prevented generating a new certificate
|
|
56
|
+
signed with an EC key (ex: `ronin cert-gen --key-type ec ...`).
|
|
57
|
+
* Fixed the formatting of the `ronin cert-gen` man-page.
|
|
58
|
+
|
|
1
59
|
### 2.0.4 / 2023-07-18
|
|
2
60
|
|
|
3
61
|
* Require [wordlist] ~> 1.0, >= 1.0.2 for bug fixes.
|
|
@@ -909,15 +967,21 @@
|
|
|
909
967
|
* Auto-indentation enabled.
|
|
910
968
|
* Pretty-Print loaded.
|
|
911
969
|
|
|
970
|
+
[Ruby]: https://www.ruby-lang.org
|
|
912
971
|
[open_namespace]: https://github.com/postmodern/open_namespace#readme
|
|
913
972
|
[rouge]: https://github.com/rouge-ruby/rouge#readme
|
|
914
973
|
[async-io]: https://github.com/socketry/async-io#readme
|
|
915
974
|
[wordlist]: https://github.com/postmodern/wordlist.rb#readme
|
|
916
975
|
|
|
917
976
|
[ronin-support]: https://github.com/ronin-rb/ronin-support#readme
|
|
918
|
-
[ronin-repos]: https://github.com/ronin-rb/ronin-repos#readme
|
|
919
977
|
[ronin-core]: https://github.com/ronin-rb/ronin-core#readme
|
|
978
|
+
[ronin-repos]: https://github.com/ronin-rb/ronin-repos#readme
|
|
920
979
|
[ronin-db]: https://github.com/ronin-rb/ronin-db#readme
|
|
980
|
+
[ronin-dns-proxy]: https://github.com/ronin-rb/ronin-dns-proxy#readme
|
|
981
|
+
[ronin-wordlists]: https://github.com/ronin-rb/ronin-wordlists#readme
|
|
982
|
+
[ronin-listener]: https://github.com/ronin-rb/ronin-listener#readme
|
|
983
|
+
[ronin-nmap]: https://github.com/ronin-rb/ronin-nmap#readme
|
|
984
|
+
[ronin-masscan]: https://github.com/ronin-rb/ronin-masscan#readme
|
|
921
985
|
[ronin-fuzzer]: https://github.com/ronin-rb/ronin-fuzzer#readme
|
|
922
986
|
[ronin-web]: https://github.com/ronin-rb/ronin-web#readme
|
|
923
987
|
[ronin-code-asm]: https://github.com/ronin-rb/ronin-code-asm#readme
|
|
@@ -925,3 +989,5 @@
|
|
|
925
989
|
[ronin-payloads]: https://github.com/ronin-rb/ronin-payloads#readme
|
|
926
990
|
[ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme
|
|
927
991
|
[ronin-vulns]: https://github.com/ronin-rb/ronin-vulns#readme
|
|
992
|
+
[ronin-recon]: https://github.com/ronin-rb/ronin-recon#readme
|
|
993
|
+
[ronin-app]: https://github.com/ronin-rb/ronin-app#readme
|
data/Gemfile
CHANGED
|
@@ -6,55 +6,89 @@ gemspec
|
|
|
6
6
|
|
|
7
7
|
gem 'jruby-openssl', '~> 0.7', platforms: :jruby
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
group :net do
|
|
10
|
+
gem 'net-telnet', '~> 0.1'
|
|
11
|
+
|
|
12
|
+
platform :mri do
|
|
13
|
+
if RUBY_VERSION >= '3.1.0'
|
|
14
|
+
gem 'net-ftp', '~> 0.1'
|
|
15
|
+
gem 'net-smtp', '~> 0.1'
|
|
16
|
+
gem 'net-pop', '~> 0.1'
|
|
17
|
+
gem 'net-imap', '~> 0.1'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
15
20
|
end
|
|
16
21
|
|
|
17
|
-
# gem 'command_kit', '~> 0.
|
|
18
|
-
# branch: '
|
|
22
|
+
# gem 'command_kit', '~> 0.5', github: 'postmodern/command_kit.rb',
|
|
23
|
+
# branch: 'main'
|
|
19
24
|
|
|
20
25
|
group :database do
|
|
21
|
-
gem 'sqlite3', '~> 1.0',
|
|
22
|
-
|
|
26
|
+
gem 'sqlite3', '~> 1.0', platforms: [:mri, :truffleruby]
|
|
27
|
+
|
|
28
|
+
platform :jruby do
|
|
29
|
+
gem 'activerecord-jdbcsqlite3-adapter', '~> 70.0'
|
|
30
|
+
gem 'activerecord', '< 7.1.0'
|
|
31
|
+
end
|
|
23
32
|
end
|
|
24
33
|
|
|
25
34
|
# Library dependencies
|
|
26
|
-
# gem 'ronin-support',
|
|
27
|
-
#
|
|
28
|
-
# gem 'ronin-core',
|
|
29
|
-
#
|
|
30
|
-
# gem 'ronin-repos',
|
|
31
|
-
#
|
|
32
|
-
# gem 'ronin-db',
|
|
33
|
-
#
|
|
34
|
-
# gem 'ronin-db
|
|
35
|
-
#
|
|
36
|
-
# gem 'ronin-
|
|
37
|
-
#
|
|
35
|
+
# gem 'ronin-support', '~> 1.1', github: "ronin-rb/ronin-support",
|
|
36
|
+
# branch: 'main'
|
|
37
|
+
# gem 'ronin-core', '~> 0.2', github: 'ronin-rb/ronin-core',
|
|
38
|
+
# branch: 'main'
|
|
39
|
+
# gem 'ronin-repos', '~> 0.1', github: 'ronin-rb/ronin-repos',
|
|
40
|
+
# branch: 'main'
|
|
41
|
+
# gem 'ronin-db-activerecord', '~> 0.2', github: "ronin-rb/ronin-db-activerecord",
|
|
42
|
+
# branch: 'main'
|
|
43
|
+
# gem 'ronin-db', '~> 0.2', github: "ronin-rb/ronin-db",
|
|
44
|
+
# branch: 'main'
|
|
45
|
+
# gem 'ronin-listener-dns', '~> 0.1', github: "ronin-rb/ronin-listener-dns",
|
|
46
|
+
# branch: 'main'
|
|
47
|
+
# gem 'ronin-listener-http', '~> 0.1', github: "ronin-rb/ronin-listener-http",
|
|
48
|
+
# branch: 'main'
|
|
49
|
+
# gem 'ronin-listener', '~> 0.1', github: "ronin-rb/ronin-listener",
|
|
50
|
+
# branch: 'main'
|
|
51
|
+
# gem 'ronin-fuzzer', '~> 0.2', github: 'ronin-rb/ronin-fuzzer',
|
|
52
|
+
# branch: '0.2.0'
|
|
38
53
|
# gem 'ronin-post_ex', '~> 0.1', github: 'ronin-rb/ronin-post_ex',
|
|
39
54
|
# branch: 'main'
|
|
40
55
|
# gem 'ronin-code-asm', '~> 1.0', github: 'ronin-rb/ronin-code-asm',
|
|
41
56
|
# branch: 'main'
|
|
42
57
|
# gem 'ronin-code-sql', '~> 2.0', github: 'ronin-rb/ronin-code-sql',
|
|
43
58
|
# branch: 'main'
|
|
44
|
-
# gem 'ronin-payloads', '~> 0.
|
|
59
|
+
# gem 'ronin-payloads', '~> 0.2', github: 'ronin-rb/ronin-payloads',
|
|
45
60
|
# branch: 'main'
|
|
46
|
-
# gem 'ronin-exploits', '~> 1.
|
|
61
|
+
# gem 'ronin-exploits', '~> 1.1', github: 'ronin-rb/ronin-exploits',
|
|
47
62
|
# branch: 'main'
|
|
48
|
-
# gem 'ronin-vulns', '~> 0.
|
|
63
|
+
# gem 'ronin-vulns', '~> 0.2', github: 'ronin-rb/ronin-vulns',
|
|
49
64
|
# branch: 'main'
|
|
50
65
|
# gem 'ronin-web-server', '~> 0.1', github: 'ronin-rb/ronin-web-server',
|
|
51
66
|
# branch: 'main'
|
|
52
|
-
# gem 'ronin-web-spider', '~> 0.
|
|
67
|
+
# gem 'ronin-web-spider', '~> 0.2', github: 'ronin-rb/ronin-web-spider',
|
|
53
68
|
# branch: 'main'
|
|
54
69
|
# gem 'ronin-web-user_agents', '~> 0.1', github: 'ronin-rb/ronin-web-user_agents',
|
|
55
70
|
# branch: 'main'
|
|
56
|
-
# gem 'ronin-web',
|
|
57
|
-
#
|
|
71
|
+
# gem 'ronin-support-web', '~> 0.1', github: 'ronin-rb/ronin-support-web',
|
|
72
|
+
# branch: 'main'
|
|
73
|
+
# gem 'ronin-web-browser', '~> 0.1', github: 'ronin-rb/ronin-web-browser',
|
|
74
|
+
# branch: 'main'
|
|
75
|
+
# gem 'ronin-web-session_cookie', '~> 0.1', github: 'ronin-rb/ronin-web-session_cookie',
|
|
76
|
+
# branch: 'main'
|
|
77
|
+
# gem 'ronin-web', '~> 2.0', github: 'ronin-rb/ronin-web',
|
|
78
|
+
# branch: 'main'
|
|
79
|
+
|
|
80
|
+
# gem 'ronin-dns-proxy', '~> 0.1', github: 'ronin-rb/ronin-dns-proxy',
|
|
81
|
+
# branch: 'main'
|
|
82
|
+
# gem 'ronin-nmap', '~> 0.1', github: 'ronin-rb/ronin-nmap',
|
|
83
|
+
# branch: 'main'
|
|
84
|
+
# gem 'ronin-masscan', '~> 0.1', github: 'ronin-rb/ronin-masscan',
|
|
85
|
+
# branch: 'main'
|
|
86
|
+
# gem 'ronin-wordlists', '~> 0.1', github: 'ronin-rb/ronin-wordlists',
|
|
87
|
+
# branch: 'main'
|
|
88
|
+
# gem 'ronin-recon', '~> 0.1', github: 'ronin-rb/ronin-recon',
|
|
89
|
+
# branch: 'main'
|
|
90
|
+
# gem 'ronin-app', '~> 0.1', github: 'ronin-rb/ronin-app',
|
|
91
|
+
# branch: 'main'
|
|
58
92
|
|
|
59
93
|
group :development do
|
|
60
94
|
gem 'rake'
|
|
@@ -63,7 +97,7 @@ group :development do
|
|
|
63
97
|
gem 'simplecov', '~> 0.20'
|
|
64
98
|
|
|
65
99
|
gem 'kramdown', '~> 2.0'
|
|
66
|
-
gem 'kramdown-man', '~> 0
|
|
100
|
+
gem 'kramdown-man', '~> 1.0'
|
|
67
101
|
|
|
68
102
|
gem 'redcarpet', platform: :mri
|
|
69
103
|
gem 'yard', '~> 0.9'
|
|
@@ -74,4 +108,7 @@ group :development do
|
|
|
74
108
|
gem 'stackprof', require: false, platform: :mri
|
|
75
109
|
gem 'rubocop', require: false, platform: :mri
|
|
76
110
|
gem 'rubocop-ronin', require: false, platform: :mri
|
|
111
|
+
gem 'pry', require: false
|
|
112
|
+
|
|
113
|
+
gem 'command_kit-completion', '~> 0.1', require: false
|
|
77
114
|
end
|
data/README.md
CHANGED
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
* [Issues](https://github.com/ronin-rb/ronin/issues)
|
|
10
10
|
* [Documentation](https://ronin-rb.dev/docs/ronin/frames)
|
|
11
11
|
* [Discord](https://discord.gg/6WAb3PsVX9) |
|
|
12
|
-
[Twitter](https://twitter.com/ronin_rb) |
|
|
13
12
|
[Mastodon](https://infosec.exchange/@ronin_rb)
|
|
14
13
|
|
|
15
14
|
## Description
|
|
@@ -25,7 +24,8 @@ HTTP, [scanning for web vulnerabilities][ronin-vulns-synopsis],
|
|
|
25
24
|
[payloads][ronin-payloads], [run exploits][ronin-exploits-synopsis],
|
|
26
25
|
[write new exploits][ronin-exploits-examples],
|
|
27
26
|
[managing local databases][ronin-db-synopsis],
|
|
28
|
-
[fuzzing data][ronin-fuzzer],
|
|
27
|
+
[fuzzing data][ronin-fuzzer],
|
|
28
|
+
[perform recon][ronin-recon-synopsis], and much more.
|
|
29
29
|
|
|
30
30
|
### Who is Ronin for?
|
|
31
31
|
|
|
@@ -42,6 +42,7 @@ HTTP, [scanning for web vulnerabilities][ronin-vulns-synopsis],
|
|
|
42
42
|
* A fully-loaded Ruby REPL.
|
|
43
43
|
* An ecosystem of high-quality security related Ruby libraries, APIs, and
|
|
44
44
|
commands.
|
|
45
|
+
* A lightweight local web UI.
|
|
45
46
|
|
|
46
47
|
### What can you do with Ronin?
|
|
47
48
|
|
|
@@ -53,9 +54,11 @@ HTTP, [scanning for web vulnerabilities][ronin-vulns-synopsis],
|
|
|
53
54
|
using [ronin-repos].
|
|
54
55
|
* Import and query data using the [ronin-db] database.
|
|
55
56
|
* Fuzz data using [ronin-fuzzer].
|
|
57
|
+
* Perform recon using [ronin-recon].
|
|
56
58
|
* Use common payloads or write your own using [ronin-payloads].
|
|
57
59
|
* Write/run exploits using [ronin-exploits].
|
|
58
60
|
* Scan for web vulnerabilities using [ronin-vulns].
|
|
61
|
+
* Performs scans and browse the database in your browser using [ronin-app].
|
|
59
62
|
|
|
60
63
|
## Synopsis
|
|
61
64
|
|
|
@@ -70,15 +73,18 @@ Arguments:
|
|
|
70
73
|
[ARGS ...] Additional arguments for the command
|
|
71
74
|
|
|
72
75
|
Commands:
|
|
76
|
+
archive
|
|
73
77
|
asn
|
|
74
78
|
banner-grab
|
|
75
79
|
bitflip
|
|
76
80
|
cert-dump
|
|
77
81
|
cert-gen
|
|
78
82
|
cert-grab
|
|
83
|
+
completion
|
|
79
84
|
decode, dec
|
|
80
85
|
decrypt
|
|
81
86
|
dns
|
|
87
|
+
dns-proxy
|
|
82
88
|
email-addr
|
|
83
89
|
encode, enc
|
|
84
90
|
encrypt
|
|
@@ -99,6 +105,7 @@ Commands:
|
|
|
99
105
|
md5
|
|
100
106
|
netcat, nc
|
|
101
107
|
new
|
|
108
|
+
pack
|
|
102
109
|
proxy
|
|
103
110
|
public-suffix-list
|
|
104
111
|
quote
|
|
@@ -111,20 +118,27 @@ Commands:
|
|
|
111
118
|
tips
|
|
112
119
|
typo
|
|
113
120
|
typosquat
|
|
121
|
+
unarchive
|
|
114
122
|
unescape
|
|
115
123
|
unhexdump
|
|
124
|
+
unpack
|
|
116
125
|
unquote
|
|
117
126
|
url
|
|
118
127
|
xor
|
|
119
128
|
|
|
120
129
|
Additional Ronin Commands:
|
|
121
130
|
$ ronin-repos
|
|
131
|
+
$ ronin-wordlists
|
|
122
132
|
$ ronin-db
|
|
123
133
|
$ ronin-web
|
|
124
134
|
$ ronin-fuzzer
|
|
135
|
+
$ ronin-masscan
|
|
136
|
+
$ ronin-nmap
|
|
137
|
+
$ ronin-recon
|
|
125
138
|
$ ronin-payloads
|
|
126
139
|
$ ronin-exploits
|
|
127
140
|
$ ronin-vulns
|
|
141
|
+
$ ronin-app
|
|
128
142
|
```
|
|
129
143
|
|
|
130
144
|
List ronin commands:
|
|
@@ -147,20 +161,35 @@ $ ronin tips
|
|
|
147
161
|
|
|
148
162
|
Open the Ronin Ruby REPL:
|
|
149
163
|
|
|
150
|
-
```shell
|
|
151
|
-
$ ronin irb
|
|
152
164
|
```
|
|
165
|
+
$ ronin irb
|
|
166
|
+
, Jµ ▓▓█▓
|
|
167
|
+
J▌ ▐▓██▌ ████ ██ ▐███D
|
|
168
|
+
╓▄▓▓█████▌ ██µ ████ ▄███ÖJ██▌ ███▌
|
|
169
|
+
,╓µ▄▄▄▄▄▄▄▄µ;, ,▄▓██████████ ▐███ ▐███▀ ███▌ ████µ ▄███
|
|
170
|
+
¬∞MÆ▓███████████████████████▓M ▄██████▀▀╙████▌ ████▌ ████ ▄███ J█████ ███▌
|
|
171
|
+
`█████▀▀▀▀▀███████ -████▀└ ████ ▐█████n ▄███O ███▌ ██████████
|
|
172
|
+
▓████L ████▀ ▓████ ▓███Ö ███████ ███▌ ▓███ ▐█████████▀
|
|
173
|
+
▄████▀ ,╓▄▄▄█████ J████Ü ,███▌ ▄███████████ J███▀ ████ █████
|
|
174
|
+
J█████████████████─ ████▌ ████ ████`██████▌ ████ ▐███Ü ▐███Ü
|
|
175
|
+
███████████▀▀▀╙└ ▐████ J███▌ ▓███▌ ²█████ J███Ü ███▌ ▀█▌
|
|
176
|
+
▓██████████▌ ████▌ ████ ;████ ▀███▀ ███▌ J▀▀▀- █
|
|
177
|
+
▄█████▀ ▀█████µ ▐████ ,▄▓████▀ ████▀ ███ J███ `
|
|
178
|
+
J█████- ╙▀███▄ ████████████▀╙ J█▀▀▀ █U ▀█▌
|
|
179
|
+
████▀ ▀███ ▄████████▀▀ ╨ █
|
|
180
|
+
▓██▀ ²▀█▄ █▀▀▀╙└
|
|
181
|
+
▄██╜ ╙W
|
|
182
|
+
J█▀
|
|
183
|
+
▌└
|
|
184
|
+
┘
|
|
153
185
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
```shell
|
|
157
|
-
$ ronin new script foo.rb
|
|
186
|
+
irb(ronin)>
|
|
158
187
|
```
|
|
159
188
|
|
|
160
|
-
|
|
189
|
+
Starts and opens the interactive Web UI for Ronin:
|
|
161
190
|
|
|
162
|
-
```
|
|
163
|
-
$ ronin
|
|
191
|
+
```
|
|
192
|
+
$ ronin-app
|
|
164
193
|
```
|
|
165
194
|
|
|
166
195
|
### Binary
|
|
@@ -781,9 +810,106 @@ Print the HTTP status of every URL in a file:
|
|
|
781
810
|
$ ronin url --file urls.txt --status
|
|
782
811
|
```
|
|
783
812
|
|
|
813
|
+
### Generators
|
|
814
|
+
|
|
815
|
+
Generate a new Ruby script with [ronin-support] preloaded:
|
|
816
|
+
|
|
817
|
+
```shell
|
|
818
|
+
$ ronin new script foo.rb
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
Generate a new Ruby project with a `Gemfile`:
|
|
822
|
+
|
|
823
|
+
```shell
|
|
824
|
+
$ ronin new project foo
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
Generate a new [nokogiri] Ruby script for parsing HTML/XML:
|
|
828
|
+
|
|
829
|
+
[nokogiri]: https://nokogiri.org/
|
|
830
|
+
|
|
831
|
+
```shell
|
|
832
|
+
$ ronin new nokogiri foo.rb
|
|
833
|
+
```
|
|
834
|
+
|
|
835
|
+
Generate a new [ronin-web-server] Ruby script:
|
|
836
|
+
|
|
837
|
+
```shell
|
|
838
|
+
$ ronin new web-server my_server.rb
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
Generate a new [ronin-web-server] based web app:
|
|
842
|
+
|
|
843
|
+
```shell
|
|
844
|
+
$ ronin new web-app my_app
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
Generate a new [ronin-web-spider] Ruby script:
|
|
848
|
+
|
|
849
|
+
```shell
|
|
850
|
+
$ ronin new web-spider --host=example.com my_spider.rb
|
|
851
|
+
```
|
|
852
|
+
|
|
853
|
+
Generate a [ronin-listener-dns] script:
|
|
854
|
+
|
|
855
|
+
```shell
|
|
856
|
+
$ ronin new dns-listener my_dns_listener.rb
|
|
857
|
+
```
|
|
858
|
+
|
|
859
|
+
Generate a [ronin-dns-proxy] script:
|
|
860
|
+
|
|
861
|
+
```shell
|
|
862
|
+
$ ronin new dns-proxy my_dns_proxy.rb
|
|
863
|
+
```
|
|
864
|
+
|
|
865
|
+
Generate a [ronin-listener-http] script:
|
|
866
|
+
|
|
867
|
+
```shell
|
|
868
|
+
$ ronin new http-listener my_http_listener.rb
|
|
869
|
+
```
|
|
870
|
+
|
|
871
|
+
Generate a [ronin-exploits] script:
|
|
872
|
+
|
|
873
|
+
```shell
|
|
874
|
+
$ ronin new exploit my_exploit.rb
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
Generate a [ronin-payloads] script:
|
|
878
|
+
|
|
879
|
+
```shell
|
|
880
|
+
$ ronin new payload my_payload.rb
|
|
881
|
+
```
|
|
882
|
+
|
|
883
|
+
### Archive
|
|
884
|
+
|
|
885
|
+
Archive files:
|
|
886
|
+
|
|
887
|
+
```shell
|
|
888
|
+
$ ronin archive -o archive.zip file1.txt file2.txt
|
|
889
|
+
```
|
|
890
|
+
|
|
891
|
+
Archive files using tar format:
|
|
892
|
+
|
|
893
|
+
```shell
|
|
894
|
+
$ ronin archive -o archive.tar file1.txt file2.txt
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
Unarchive files:
|
|
898
|
+
|
|
899
|
+
```shell
|
|
900
|
+
$ ronin unarchive arch1.tar arch2.zip
|
|
901
|
+
```
|
|
902
|
+
|
|
903
|
+
Unarchive a file with explicit format:
|
|
904
|
+
|
|
905
|
+
```shell
|
|
906
|
+
$ ronin unarchive -f zip arch2.jar
|
|
907
|
+
```
|
|
908
|
+
|
|
784
909
|
### See Also
|
|
785
910
|
|
|
786
911
|
* [ronin-repos](https://github.com/ronin-rb/ronin-repos#synopsis)
|
|
912
|
+
* [ronin-wordlists](https://github.com/ronin-rb/ronin-wordlists#synopsis)
|
|
787
913
|
* [ronin-db](https://github.com/ronin-rb/ronin-db#synopsis)
|
|
788
914
|
* [ronin-web](https://github.com/ronin-rb/ronin-web#synopsis)
|
|
789
915
|
* [ronin-fuzzer](https://github.com/ronin-rb/ronin-fuzzer#synopsis)
|
|
@@ -797,22 +923,29 @@ $ ronin url --file urls.txt --status
|
|
|
797
923
|
* [make]
|
|
798
924
|
* [git]
|
|
799
925
|
* [libsqlite3]
|
|
800
|
-
* [Ruby] >= 3.
|
|
926
|
+
* [Ruby] >= 3.1.0
|
|
801
927
|
* [open_namespace] ~> 0.4
|
|
802
928
|
* [rouge] ~> 3.0
|
|
803
929
|
* [async-io] ~> 1.0
|
|
804
|
-
* [wordlist] ~> 1.
|
|
805
|
-
* [ronin-support] ~> 1.
|
|
806
|
-
* [ronin-
|
|
930
|
+
* [wordlist] ~> 1.1
|
|
931
|
+
* [ronin-support] ~> 1.1
|
|
932
|
+
* [ronin-dns-proxy] ~> 0.1
|
|
933
|
+
* [ronin-core] ~> 0.2
|
|
807
934
|
* [ronin-repos] ~> 0.1
|
|
935
|
+
* [ronin-wordlists] ~> 0.1
|
|
808
936
|
* [ronin-db] ~> 0.1
|
|
937
|
+
* [ronin-listener] ~> 0.1
|
|
938
|
+
* [ronin-nmap] ~> 0.1
|
|
939
|
+
* [ronin-masscan] ~> 0.1
|
|
940
|
+
* [ronin-recon] ~> 0.1
|
|
809
941
|
* [ronin-fuzzer] ~> 0.1
|
|
810
|
-
* [ronin-web] ~>
|
|
942
|
+
* [ronin-web] ~> 2.0
|
|
811
943
|
* [ronin-code-asm] ~> 1.0
|
|
812
944
|
* [ronin-code-sql] ~> 2.0
|
|
813
945
|
* [ronin-payloads] ~> 0.1
|
|
814
946
|
* [ronin-exploits] ~> 1.0
|
|
815
|
-
* [ronin-vulns] ~> 0.
|
|
947
|
+
* [ronin-vulns] ~> 0.2
|
|
948
|
+
* [ronin-app] ~> 0.1
|
|
816
949
|
|
|
817
950
|
## Install
|
|
818
951
|
|
|
@@ -824,9 +957,10 @@ curl -o ronin-install.sh https://raw.githubusercontent.com/ronin-rb/scripts/main
|
|
|
824
957
|
|
|
825
958
|
### Manually
|
|
826
959
|
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
960
|
+
See the [manual install][manual-instructions] instructions for how to install
|
|
961
|
+
Ronin and it's additional dependencies on your platform.
|
|
962
|
+
|
|
963
|
+
[manual-instructions]: https://ronin-rb.dev/install/#manual-instructions
|
|
830
964
|
|
|
831
965
|
### Docker
|
|
832
966
|
|
|
@@ -851,7 +985,7 @@ docker run --mount type=bind,source="$HOME",target=/home/ronin -it ronin
|
|
|
851
985
|
1. [Fork It!](https://github.com/ronin-rb/ronin/fork)
|
|
852
986
|
2. Clone It!
|
|
853
987
|
3. `cd ronin`
|
|
854
|
-
4. `
|
|
988
|
+
4. `./scripts/setup`
|
|
855
989
|
5. `git checkout -b my_feature`
|
|
856
990
|
6. Code It!
|
|
857
991
|
7. `bundle exec rake spec`
|
|
@@ -889,11 +1023,21 @@ along with Ronin. If not, see <https://www.gnu.org/licenses/>.
|
|
|
889
1023
|
[wordlist]: https://github.com/postmodern/wordlist.rb#readme
|
|
890
1024
|
|
|
891
1025
|
[ronin-support]: https://github.com/ronin-rb/ronin-support#readme
|
|
1026
|
+
[ronin-dns-proxy]: https://github.com/ronin-rb/ronin-dns-proxy#readme
|
|
892
1027
|
[ronin-repos]: https://github.com/ronin-rb/ronin-repos#readme
|
|
893
1028
|
[ronin-repos-synopsis]: https://github.com/ronin-rb/ronin-repos#synopsis
|
|
1029
|
+
[ronin-wordlists]: https://github.com/ronin-rb/ronin-wordlists#readme
|
|
1030
|
+
[ronin-wordlists-synopsis]: https://github.com/ronin-rb/ronin-wordlists#synopsis
|
|
894
1031
|
[ronin-core]: https://github.com/ronin-rb/ronin-core#readme
|
|
895
1032
|
[ronin-db]: https://github.com/ronin-rb/ronin-db#readme
|
|
896
1033
|
[ronin-db-synopsis]: https://github.com/ronin-rb/ronin-db#synopsis
|
|
1034
|
+
[ronin-listener]: https://github.com/ronin-rb/ronin-listener#readme
|
|
1035
|
+
[ronin-listener-dns]: https://github.com/ronin-rb/ronin-listener-dns#readme
|
|
1036
|
+
[ronin-listener-http]: https://github.com/ronin-rb/ronin-listener-http#readme
|
|
1037
|
+
[ronin-nmap]: https://github.com/ronin-rb/ronin-nmap#readme
|
|
1038
|
+
[ronin-masscan]: https://github.com/ronin-rb/ronin-masscan#readme
|
|
1039
|
+
[ronin-recon]: https://github.com/ronin-rb/ronin-recon#readme
|
|
1040
|
+
[ronin-recon-synopsis]: https://github.com/ronin-rb/ronin-recon#synopsis
|
|
897
1041
|
[ronin-fuzzer]: https://github.com/ronin-rb/ronin-fuzzer#readme
|
|
898
1042
|
[ronin-web]: https://github.com/ronin-rb/ronin-web#readme
|
|
899
1043
|
[ronin-web-server]: https://github.com/ronin-rb/ronin-web-server#readme
|
|
@@ -907,3 +1051,4 @@ along with Ronin. If not, see <https://www.gnu.org/licenses/>.
|
|
|
907
1051
|
[ronin-exploits-examples]: https://github.com/ronin-rb/ronin-exploits#examples
|
|
908
1052
|
[ronin-vulns]: https://github.com/ronin-rb/ronin-vulns#readme
|
|
909
1053
|
[ronin-vulns-synopsis]: https://github.com/ronin-rb/ronin-vulns#synopsis
|
|
1054
|
+
[ronin-app]: https://github.com/ronin-rb/ronin-app#readme
|
data/Rakefile
CHANGED
|
@@ -41,3 +41,12 @@ task :docs => [:yard]
|
|
|
41
41
|
|
|
42
42
|
require 'kramdown/man/task'
|
|
43
43
|
Kramdown::Man::Task.new
|
|
44
|
+
|
|
45
|
+
require 'command_kit/completion/task'
|
|
46
|
+
CommandKit::Completion::Task.new(
|
|
47
|
+
class_file: 'ronin/cli',
|
|
48
|
+
class_name: 'Ronin::CLI',
|
|
49
|
+
output_file: 'data/completions/ronin'
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
task :setup => %w[man command_kit:completion]
|