README.md in ronin-1.5.1 vs README.md in ronin-2.0.0.beta1

- old
+ new

@@ -4,179 +4,167 @@ [![Code Climate](https://codeclimate.com/github/ronin-rb/ronin.svg)](https://codeclimate.com/github/ronin-rb/ronin) * [Website](https://ronin-rb.dev) * [Source](https://github.com/ronin-rb/ronin) * [Issues](https://github.com/ronin-rb/ronin/issues) -* [Documentation](https://ronin-rb.github.com/docs/ronin/frames) -* [Slack](https://ronin-rb.slack.com) | - [Discord](https://discord.gg/6WAb3PsVX9) | +* [Documentation](https://ronin-rb.dev/docs/ronin/frames) +* [Discord](https://discord.gg/6WAb3PsVX9) | [Twitter](https://twitter.com/ronin_rb) | - [IRC](https://ronin-rb.dev/irc/) + [Mastodon](https://infosec.exchange/@ronin_rb) ## Description -Ronin is a [Ruby] platform for vulnerability research and [exploit development]. -Ronin allows for the rapid development and distribution of code, -[Exploits][example-exploit], [Payloads][example-payload], -[Scanners][example-scanner], etc, via [Repositories]. +[Ronin][ronin-rb] is a [Ruby] toolkit for security research and development. -### Console +### Who is Ronin for? -Ronin provides users with a powerful Ruby Console, pre-loaded with powerful -convenience methods. In the Console one can work with data and automate -complex tasks, with greater ease than the command-line. +* CTF players +* Bug bounty hunters +* Security Researchers +* Security Engineers +* Developers +* Students - >> File.read('data').base64_decode +### What does Ronin provide? -### Database +* A toolkit of useful commands. +* A fully-loaded Ruby REPL. +* An ecosystem of high-quality security related Ruby libraries, API, and + commands. -Ronin ships with a preconfigured Database, that one can interact with from Ruby, -without having to write any SQL. +### What can you do with Ronin? - >> HostName.tld('eu').urls.with_query_param('id') +* Quickly process and query various data using the `ronin` commands. +* Efficiently work with code and data in the `ronin irb` Ruby REPL. +* Rapidly prototype Ruby scripts using [ronin-support] and other `ronin` + libraries. +* Install 3rd-party [git] repositories of exploits, payloads, or other code, + using [ronin-repos]. +* Import and query data using the [ronin-db] database. +* Fuzz data using [ronin-fuzzer]. +* Use common payloads or write your own using [ronin-payloads]. +* Write/run exploits using [ronin-exploits]. +* Scan for web vulnerabilities using [ronin-vulns]. -### Repositories - -Ronin provides a Repository system, allowing users to organize and share -miscallaneous Data, Code, [Exploits][example-exploit], -[Payloads][example-payload], [Scanners][example-scanner], etc. - - $ ronin install git://github.com/user/myexploits.git - -### Libraries - -Ronin provides libraries with additional functionality, such as -[Exploitation][ronin-exploits] and [Scanning][ronin-scanners]: - - $ gem install ronin-exploits - -## Features - -* Supports installing/updating/uninstalling of Repositories. - * Supports installing Repositories from various media types: - * [Subversion (SVN)][svn] - * [Mercurial (Hg)][hg] - * [Git][git] - * Rsync -* Provides a Database using [DataMapper] with: - * {Ronin::Author} - * {Ronin::License} - * {Ronin::Arch} - * {Ronin::OS} - * {Ronin::Software} - * {Ronin::Vendor} - * {Ronin::Address} - * {Ronin::MACAddress} - * {Ronin::IPAddress} - * {Ronin::HostName} - * {Ronin::Port} - * {Ronin::TCPPort} - * {Ronin::UDPPort} - * {Ronin::Service} - * {Ronin::OpenPort} - * {Ronin::OSGuess} - * {Ronin::UserName} - * {Ronin::URL} - * {Ronin::EmailAddress} - * {Ronin::Credential} - * {Ronin::ServiceCredential} - * {Ronin::WebCredential} - * {Ronin::Organization} - * {Ronin::Campaign} - * {Ronin::Target} -* Caches exploits, payloads, scanners, etc stored within Repositories - into the Database. -* Convenience methods provided by [ronin-support]. -* Provides a customized Ruby Console using [Ripl][ripl] with: - * Syntax highlighting. - * Tab completion. - * Auto indentation. - * Pretty Printing (`pp`). - * `print_info`, `print_error`, `print_warning` and `print_debug` - output helper methods with color-output. - * Inline commands (`!nmap -v -sT victim.com`) -* Provides an extensible command-line interface. - ## Synopsis -Start the Ronin console: +``` +Usage: ronin [options] [COMMAND [ARGS...]] - $ ronin +Options: + -h, --help Print help information -Run a Ruby script in Ronin: +Arguments: + [COMMAND] The command name to run + [ARGS ...] Additional arguments for the command - $ ronin exec script.rb +Commands: + asn + banner-grab + bitflip + cert-dump + cert-gen + cert-grab + decode, dec + decrypt + dns + email-addr + encode, enc + encrypt + entropy + escape + extract + grep + help + hexdump + highlight + hmac + homoglyph + host + http + ip + iprange + irb + md5 + netcat, nc + new + proxy + public-suffix-list + quote + rot + sha1 + sha256 + sha512 + strings + tld-list + tips + typo + typosquat + unescape + unhexdump + unquote + url + xor -View available commands: +Additional Ronin Commands: + $ ronin-repos + $ ronin-db + $ ronin-web + $ ronin-fuzzer + $ ronin-payloads + $ ronin-exploits + $ ronin-vulns +``` - $ ronin help +List ronin commands: +```shell +$ ronin help +``` + View a man-page for a command: - $ ronin help wordlist +```shell +$ ronin help COMMAND +``` -Install a Repository: +Get a random tip on how to use `ronin`: - $ ronin install svn://example.com/path/to/repo +```shell +$ ronin tips +``` -List installed Repositories: +Open the Ronin Ruby REPL: - $ ronin repos +```shell +$ ronin irb +``` -Update all installed Repositories: - - $ ronin update - -Update a specific Repositories: - - $ ronin update repo-name - -Uninstall a specific Repositories: - - $ ronin uninstall repo-name - -List available Databases: - - $ ronin database - -Add a new Database: - - $ ronin database --add team --uri mysql://user:pass@vpn.example.com/db - -Remove a Database: - - $ ronin database --remove team - ## Requirements -* [Ruby] >= 1.8.7 -* [DataMapper]: - * [dm-sqlite-adapter] ~> 1.2 - * [libsqlite3] - * [dm-core] ~> 1.2 - * [dm-types] ~> 1.2 - * [dm-migrations] ~> 1.2 - * [dm-validations] ~> 1.2 - * [dm-aggregates] ~> 1.2 - * [dm-timestamps] ~> 1.2 -* [dm-is-predefined] ~> 0.4 -* [uri-query_params] ~> 0.6 +* [Ruby] >= 3.0.0 * [open_namespace] ~> 0.4 -* [data_paths] ~> 0.3 -* [object_loader] ~> 1.0 -* [parameters] ~> 0.4 -* [pullr] ~> 0.1, >= 0.1.2 -* [ripl] ~> 0.3 -* [ripl-multi_line] ~> 0.2 -* [ripl-auto_indent] ~> 0.1 -* [ripl-short_errors] ~> 0.1 -* [ripl-color_result] ~> 0.3 -* [ronin-support] ~> 0.5 +* [rouge] ~> 3.0 +* [async-io] ~> 1.0 +* [wordlist] ~> 1.0 +* [ronin-support] ~> 1.0 +* [ronin-core] ~> 0.1 +* [ronin-repos] ~> 0.1 +* [ronin-db] ~> 0.1 +* [ronin-fuzzer] ~> 0.1 +* [ronin-web] ~> 1.0 +* [ronin-code-asm] ~> 1.0 +* [ronin-code-sql] ~> 2.0 +* [ronin-payloads] ~> 0.1 +* [ronin-exploits] ~> 1.0 +* [ronin-vulns] ~> 0.1 ## Install - $ gem install ronin +```shell +$ gem install ronin +``` ## Development 1. [Fork It!](https://github.com/ronin-rb/ronin/fork) 2. Clone It! @@ -187,14 +175,12 @@ 7. `bundle exec rake spec` 8. `git push origin my_feature` ## License -Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com) +Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com) -This file is part of ronin. - Ronin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. @@ -204,42 +190,25 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ronin. If not, see <https://www.gnu.org/licenses/>. +[ronin-rb]: https://ronin-rb.dev/ [Ruby]: https://www.ruby-lang.org -[exploit development]: https://www.exploit-db.com -[example-exploit]: https://github.com/ronin-rb/example-repo/blob/master/scripts/exploits/http/oracle/dav_bypass.rb -[example-payload]: https://gist.github.com/1403961 -[example-scanner]: https://github.com/ronin-rb/example-repo/blob/master/scripts/scanners/oracle_dad_scanner.rb -[Repositories]: https://github.com/ronin-rb/example-repo +[open_namespace]: https://github.com/postmodern/open_namespace#readme +[rouge]: https://github.com/rouge-ruby/rouge#readme +[async-io]: https://github.com/socketry/async-io#readme +[wordlist]: https://github.com/postmodern/wordlist.rb#readme [ronin-support]: https://github.com/ronin-rb/ronin-support#readme +[ronin-repos]: https://github.com/ronin-rb/ronin-repos#readme +[ronin-core]: https://github.com/ronin-rb/ronin-core#readme +[ronin-db]: https://github.com/ronin-rb/ronin-db#readme +[ronin-fuzzer]: https://github.com/ronin-rb/ronin-fuzzer#readme +[ronin-web]: https://github.com/ronin-rb/ronin-web#readme +[ronin-code-asm]: https://github.com/ronin-rb/ronin-code-asm#readme +[ronin-code-sql]: https://github.com/ronin-rb/ronin-code-sql#readme +[ronin-payloads]: https://github.com/ronin-rb/ronin-payloads#readme [ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme -[ronin-scanners]: https://github.com/ronin-rb/ronin-scanners#readme +[ronin-vulns]: https://github.com/ronin-rb/ronin-vulns#readme -[svn]: https://subversion.apache.org/ -[hg]: https://www.mercurial-scm.org/ [git]: https://git-scm.com/ - -[DataMapper]: http://datamapper.org -[dm-sqlite-adapter]: https://github.com/datamapper/dm-sqlite-adapter#readme -[libsqlite3]: https://sqlite.org/ -[dm-core]: https://github.com/datamapper/dm-core#readme -[dm-types]: https://github.com/datamapper/dm-types#readme -[dm-migrations]: https://github.com/datamapper/dm-migrations#readme -[dm-validations]: https://github.com/datamapper/dm-validations#readme -[dm-aggregates]: https://github.com/datamapper/dm-aggregates#readme -[dm-timestamps]: https://github.com/datamapper/dm-timestamps#readme -[dm-is-predefined]: https://github.com/postmodern/dm-is-predefined#readme -[uri-query_params]: https://github.com/postmodern/uri-query_params#readme -[open_namespace]: https://github.com/postmodern/open_namespace#readme -[data_paths]: https://github.com/postmodern/data_paths#readme -[object_loader]: https://github.com/postmodern/object_loader#readme -[parameters]: https://github.com/postmodern/parameters#readme -[pullr]: https://github.com/postmodern/pullr#readme -[ripl]: https://github.com/cldwalker/ripl#readme -[ripl-multi_line]: https://github.com/janlelis/ripl-multi_line#readme -[ripl-auto_indent]: https://github.com/janlelis/ripl-auto_indent#readme -[ripl-short_errors]: https://rubygems.org/gems/ripl-short_errors -[ripl-color_result]: https://github.com/janlelis/ripl-color_result#readme -[ronin-support]: https://github.com/ronin-rb/ronin-support#readme