Ronin is a free and Open Source Ruby toolkit for security research and development. Ronin contains many different CLI commands and Ruby libraries for a variety of security tasks, such as encoding/decoding data, filter IPs/hosts/URLs, querying ASNs, querying DNS, HTTP, scanning for web vulnerabilities, spidering websites, install 3rd party repositories of exploits and/or payloads, run exploits, write new exploits, managing local databases, fuzzing data, and much more.
- CTF players
- Bug bounty hunters
- Security Researchers
- Security Engineers
- Developers
- Students
- A toolkit of useful commands.
- A fully-loaded Ruby REPL.
- An ecosystem of high-quality security related Ruby libraries, API, and commands.
- 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.
Usage: ronin [options] [COMMAND [ARGS...]]
Options:
-h, --help Print help information
Arguments:
[COMMAND] The command name to run
[ARGS ...] Additional arguments for the command
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
Additional Ronin Commands:
$ ronin-repos
$ ronin-db
$ ronin-web
$ ronin-fuzzer
$ ronin-payloads
$ ronin-exploits
$ ronin-vulns
List ronin commands:
$ ronin help
View a man-page for a command:
$ ronin help COMMAND
Get a random tip on how to use ronin
:
$ ronin tips
Open the Ronin Ruby REPL:
$ ronin irb
- gcc / clang
- make
- git
- libsqlite3
- Ruby >= 3.0.0
- open_namespace ~> 0.4
- 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
curl -o ronin-install.sh https://raw.githubusercontent.com/ronin-rb/scripts/main/ronin-install.sh && bash ronin-install.sh
$ gem install ronin
If you prefer using Docker, there are also Docker images available:
docker pull roninrb/ronin
docker run -it ronin
Additionally, if you want to mount your home directory into the docker image:
docker run --mount type=bind,source="$HOME",target=/home/ronin -it ronin
- Fork It!
- Clone It!
cd ronin
bundle install
git checkout -b my_feature
- Code It!
bundle exec rake spec
git push origin my_feature
Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
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.
Ronin is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 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/.