Ronin:一款用于安全研究和安全开发的Ruby工具包

admin 2024年11月1日20:27:54评论8 views字数 6828阅读22分45秒阅读模式
关于Ronin

Ronin是一款免费的开源Ruby工具包,旨在用于安全研究和开发。

Ronin:一款用于安全研究和安全开发的Ruby工具包

Ronin 包含许多不同的CLI 命令和 Ruby 库,可用于执行各种安全任务,例如编码/解码数据、过滤 IP/主机/URL、查询 ASN、查询 DNS、HTTP、检测 Web 漏洞、执行资源爬取、 Payload检测、管理本地数据库、 托管模糊测试数据、执行网络侦察等等。

适合的用户

CTF 玩家

漏洞赏金猎人

安全研究人员

安全工程师

开发人员

学生

功能介绍

1、使用ronin命令快速处理和查询各种数据。

2、在 Ruby REPL中高效处理代码和数据ronin irb。

3、使用ronin-support和其他ronin 库快速制作 Ruby 脚本原型。

4、使用ronin-repos测试第三方Payload git存储库。

5、使用ronin-db数据库导入和查询数据。

6、使用ronin-fuzzer模糊数据。

7、使用ronin-recon进行网络侦察。

8、使用常见的Payload或使用ronin-payloads编写自己的Payload。

9、使用ronin-exploits编写/运行Payload。

10、使用ronin-vulns扫描网络安全问题。

11、使用ronin-app执行扫描并在浏览器中浏览数据库。

工具要求

gcc / clang

make

git

libsqlite3

Ruby >= 3.1.0

open_namespace ~> 0.4

rouge ~> 3.0

async-io ~> 1.0

wordlist ~> 1.1

ronin-support ~> 1.1

ronin-dns-proxy ~> 0.1

ronin-core ~> 0.2

ronin-repos ~> 0.1

ronin-wordlists ~> 0.1

ronin-db ~> 0.1

ronin-listener ~> 0.1

ronin-nmap ~> 0.1

ronin-masscan ~> 0.1

ronin-recon ~> 0.1

ronin-fuzzer ~> 0.1

ronin-web ~> 2.0

ronin-code-asm ~> 1.0

ronin-code-sql ~> 2.0

ronin-payloads ~> 0.1

ronin-exploits ~> 1.0

ronin-vulns ~> 0.2

ronin-app ~> 0.1

工具安装

Bash脚本

curl -o ronin-install.sh https://raw.githubusercontent.com/ronin-rb/scripts/main/ronin-install.sh && bash ronin-install.sh

Docker

docker pull roninrb/ronindocker run -it roninrb/ronindocker run --mount type=bind,source="$HOME",target=/home/ronin -it ronin
工具使用
Usage: ronin [options] [COMMAND [ARGS...]]Options:    -h, --help                       Print help informationArguments:    [COMMAND]                        The command name to run    [ARGS ...]                       Additional arguments for the commandCommands:    archive    asn    banner-grab    bitflip    cert-dump    cert-gen    cert-grab    completion    decode, dec    decrypt    dns    dns-proxy    email-addr    encode, enc    encrypt    entropy    escape    extract    grep    help    hexdump    highlight    hmac    homoglyph    host    http    ip    iprange    irb    md5    netcat, nc    new    pack    proxy    public-suffix-list    quote    rot    sha1    sha256    sha512    strings    tld-list    tips    typo    typosquat    unarchive    unescape    unhexdump    unpack    unquote    url    xorAdditional Ronin Commands:    $ ronin-repos    $ ronin-wordlists    $ ronin-db    $ ronin-web    $ ronin-fuzzer    $ ronin-masscan    $ ronin-nmap    $ ronin-recon    $ ronin-payloads    $ ronin-exploits    $ ronin-vulns$ ronin-app

查看工具帮助信息:

$ ronin help

查看命令的手册页:

$ ronin help COMMAND

获取有关如何使用的随机提示:

$ ronin tips

打开 Ronin Ruby REPL:

$ ronin irb                                                                   , Jµ     ▓▓█▓                                                  J▌      ▐▓██▌ ████ ██    ▐███D                                      ╓▄▓▓█████▌  ██µ     ████ ▄███ÖJ██▌   ███▌        ,╓µ▄▄▄▄▄▄▄▄µ;,            ,▄▓██████████  ▐███    ▐███▀ ███▌ ████µ ▄███¬∞MÆ▓███████████████████████▓M  ▄██████▀▀╙████▌  ████▌   ████ ▄███ J█████ ███▌           `█████▀▀▀▀▀███████  -████▀└    ████  ▐█████n ▄███O ███▌ ██████████           ▓████L       ████▀  ▓████     ▓███Ö  ███████ ███▌ ▓███ ▐█████████▀          ▄████▀  ,╓▄▄▄█████  J████Ü    ,███▌  ▄███████████ J███▀ ████ █████         J█████████████████─  ████▌     ████   ████`██████▌ ████ ▐███Ü ▐███Ü         ███████████▀▀▀╙└    ▐████     J███▌  ▓███▌ ²█████ J███Ü ███▌   ▀█▌        ▓██████████▌         ████▌     ████  ;████   ▀███▀ ███▌ J▀▀▀-    █       ▄█████▀ ▀█████µ      ▐████  ,▄▓████▀  ████▀    ███ J███           `      J█████-    ╙▀███▄     ████████████▀╙  J█▀▀▀      █U  ▀█▌      ████▀         ▀███   ▄████████▀▀                 ╨    █     ▓██▀             ²▀█▄ █▀▀▀╙└    ▄██╜                 ╙W   J█▀   ▌└irb(ronin)>

启动并打开 Ronin 的交互式 Web UI:

$ ronin-app
工具运行演示

二进制

多种格式的十六进制转储数据:

$ ronin hexdump /bin/ls

将十六进制转储文件还原为其原始的二进制数据:

$ ronin unhexdump -o data.bin hexdump.txt

打印文件中的所有可打印字符串:

$ ronin strings /bin/ls

打印文件中的所有字母字符串:

$ ronin strings --alpha /bin/ls

打印文件中的所有字母数字字符串:

$ ronin strings --alpha-num /bin/ls

打印文件中的所有数字字符串:

$ ronin strings --numeric /bin/ls

从文件打印所有十六进制字符串:

$ ronin strings --hex /bin/ls

枚举域名的所有位翻转:

$ ronin bitflip microsoft --alpha-num --append .comlicrosoft.comoicrosoft.comiicrosoft.comeicrosoft.comMicrosoft.commhcrosoft.commkcrosoft.commmcrosoft.commacrosoft.commycrosoft.com...

编码

Base64 编码字符串:

$ ronin encode --base64 --string "foo bar baz"Zm9vIGJhciBiYXo=

Zlib 压缩、Base64 编码,然后 URI 编码字符串:

$ ronin encode --zlib --base64 --uri --string "foo bar"%65%4A%78%4C%79%38%39%58%53%45%6F%73%41%67%41%4B%63%41%4B%61%0A

Base64 解码字符串:

$ ronin decode --base64 --string "Zm9vIGJhciBiYXo="foo bar baz

URI 解码、Base64 解码,然后 zlib 膨胀字符串:

$ ronin decode --uri --base64 --zlib --string "%65%4A%78%4C%79%38%39%58%53%45%6F%73%41%67%41%4B%63%41%4B%61%0A"foo bar

URI 转义字符串:

$ ronin escape --uri --string "foo bar"foo%20bar

URI 取消转义字符串:

$ ronin unescape --uri --string "foo%20bar"foo bar

将文件转换为带引号的 C 字符串:

$ ronin quote --c file.bin"..."

将文件转换为带引号的 JavaScript 字符串:

$ ronin quote --js file.bin

取消引用 C 字符串:

$ ronin unquote --c --string '"x66x6fx6fx20x62x61x72"'foo bar

文本

从文件中提取高熵数据:

$ ronin entropy -e 5.0 index.html

Grep 查找常见的数据模式:

$ ronin grep --hash index.html

从数据中提取常见模式:

$ ronin extract --hash index.html

生成一个单词的随机拼写错误:

$ ronin typo microsoftmicrossoft

列举单词的每个拼写错误变体:

$ ronin typo --enum microsoftmicroosoftmicrosooftmicrossoft

生成一个单词的随机同形文字版本:

$ ronin homoglyph CEOCEO

枚举单词的每个同形异义词变体:

$ ronin homoglyph --enum CEOϹEOСEOⅭEOCEOCΕOCЕOCEOCEΟCEОCEO

语法高亮显示文件:

$ ronin highlight index.html

加密

AES-256 加密文件:

$ ronin encrypt --cipher aes-256-cbc --password "..." file.txt > encrypted.bin

解密数据:

$ ronin decrypt --cipher aes-256-cbc --password "..." encrypted.bin

为文件生成 HMAC:

$ ronin hmac --hash sha1 --password "too many secrets" data.txt

为字符串生成 HMAC:

$ ronin hmac --hash sha1 --password "too many secrets" --string "..."

计算字符串的 MD5 校验和

$ ronin md5 --string "hello world"5eb63bbbe01eeed093cb22bb8f5acdc3

计算文件的 MD5 校验和

$ ronin md5 file.txt

计算文件中每一行的 MD5 校验和:

$ ronin md5 --multiline file.txt

计算字符串的 SHA1 校验和:

$ ronin sha1 --string "hello world"2aae6c35c94fcfb415dbe95f408b9ce91ee846ed

计算文件的 SHA1 校验和:

$ ronin sha1 file.txt

计算文件中每一行的 SHA1 校验和:

$ ronin sha1 --multiline file.txt

计算字符串的 SHA256 校验和:

$ ronin sha256 --string "hello world"b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

计算文件的 SHA256 校验和:

$ ronin sha256 file.txt

计算文件中每一行的 SHA256 校验和:

$ ronin sha256 --multiline file.txt

计算字符串的 SHA512 校验和:

$ ronin sha512 --string "hello world"309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f

计算文件的 SHA512 校验和:

$ ronin sha512 file.txt

计算文件中每一行的 SHA512 校验和:

$ ronin sha512 --multiline file.txt

ROT-13 编码字符串:

$ ronin rot --string "The quick brown fox jumps over the lazy dog"Gur dhvpx oebja sbk whzcf bire gur ynml qbt

XOR 编码字符串:

$ ronin xor --key ABC --string "The quick brown fox jumps over the lazy dog""x15*&a36(!(a 1.5-a$,9b)4/32b,7'1a6+$b/ 8:a&,&"

联网

查询 IP 地址的 ASN:

$ ronin asn -I 4.2.2.14.0.0.0/9 AS3356 (US) LEVEL3

获取系统的外部/公共 IP 地址:

$ ronin ip --public

将 IP 地址转换为十进制格式:

$ ronin ip --decimal 127.0.0.12130706433

将 IP 地址文件转换为 URL:

$ ronin ip --file targets.txt --http

枚举 IP CIDR 范围内的每个 IP 地址:

$ ronin iprange 10.1.0.0/1510.0.0.110.0.0.210.0.0.310.0.0.410.0.0.510.0.0.610.0.0.710.0.0.810.0.0.9...

枚举 IP 全局范围内的每个 IP 地址:

$ ronin iprange 10.1-3.0.*10.1.0.110.1.0.210.1.0.310.1.0.410.1.0.510.1.0.610.1.0.710.1.0.810.1.0.910.1.0.10...

枚举两个 IP 地址之间的每个 IP 地址:

$ ronin iprange --start 10.0.0.1 --stop 10.0.3.3310.0.0.110.0.0.210.0.0.310.0.0.410.0.0.510.0.0.610.0.0.710.0.0.810.0.0.910.0.0.10

连接到远程 TCP 服务:

$ ronin netcat -v example.com 80

监听本地 TCP 端口:

$ ronin netcat -v -l 1337

连接到远程 SSL/TLS 服务:

$ ronin netcat -v --ssl example.com 443

连接到远程 UDP 服务:

$ ronin netcat -v -u example.com 1337

监听本地 UDP 端口:

$ ronin netcat -v -u -l 1337

打开 UNIX 套接字:

$ ronin netcat -v --unix /path/to/unix.socket

十六进制转储从套接字接收到的所有数据:

$ ronin netcat --hexdump example.com 80GET / HTTP/1.1Host: example.comUser-Agent: Ruby00000000  48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d  |HTTP/1.1 200 OK.|00000010  0a 41 67 65 3a 20 32 35 30 38 30 36 0d 0a 43 61  |.Age: 250806..Ca|00000020  63 68 65 2d 43 6f 6e 74 72 6f 6c 3a 20 6d 61 78  |che-Control: max|00000030  2d 61 67 65 3d 36 30 34 38 30 30 0d 0a 43 6f 6e  |-age=604800..Con|00000040  74 65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f  |tent-Type: text/|00000050  68 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 55 54  |html; charset=UT|...
许可证协议

本项目的开发与发布遵循GPL-3.0开源许可协议。

项目地址

Ronin

https://github.com/ronin-rb/ronin

原文始发于微信公众号(FreeBuf):Ronin:一款用于安全研究和安全开发的Ruby工具包

 

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月1日20:27:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Ronin:一款用于安全研究和安全开发的Ruby工具包https://cn-sec.com/archives/3345465.html

发表评论

匿名网友 填写信息