ronin 1.5.1 → 2.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (485) hide show
  1. checksums.yaml +4 -4
  2. data/.document +0 -1
  3. data/.github/workflows/ruby.yml +4 -5
  4. data/.gitignore +1 -0
  5. data/.mailmap +1 -0
  6. data/.ruby-version +1 -1
  7. data/.yardopts +0 -2
  8. data/ChangeLog.md +239 -148
  9. data/Gemfile +58 -45
  10. data/README.md +213 -176
  11. data/Rakefile +3 -50
  12. data/bin/ronin +2 -3
  13. data/data/new/project/.gitignore +15 -0
  14. data/data/new/project/.ruby-version.erb +1 -0
  15. data/data/new/project/Dockerfile.erb +9 -0
  16. data/data/new/project/Gemfile.erb +16 -0
  17. data/data/new/project/Rakefile +43 -0
  18. data/data/new/project/project.rb.erb +14 -0
  19. data/data/new/script.rb.erb +6 -0
  20. data/data/tips/cli/console.txt +4 -0
  21. data/data/tips/cli/help.txt +12 -0
  22. data/data/tips/ruby/array_join.txt +5 -0
  23. data/data/tips/ruby/binary_string.txt +4 -0
  24. data/data/tips/ruby/file_binread.txt +4 -0
  25. data/data/tips/ruby/file_each_line.txt +6 -0
  26. data/data/tips/ruby/force_encoding.txt +4 -0
  27. data/data/tips/ruby/integer_binary_format.txt +10 -0
  28. data/data/tips/ruby/integer_chr.txt +5 -0
  29. data/data/tips/ruby/integer_hex_format.txt +10 -0
  30. data/data/tips/ruby/string_bytes.txt +17 -0
  31. data/data/tips/ruby/string_chars.txt +17 -0
  32. data/data/tips/ruby/string_ord.txt +5 -0
  33. data/data/tips/ruby/string_split.txt +13 -0
  34. data/data/tips/scripting/array_pack.txt +5 -0
  35. data/data/tips/scripting/base64_decode.txt +5 -0
  36. data/data/tips/scripting/base64_encode.txt +5 -0
  37. data/data/tips/scripting/build_wordlist.txt +9 -0
  38. data/data/tips/scripting/chars.txt +8 -0
  39. data/data/tips/scripting/chars_strings_in.txt +12 -0
  40. data/data/tips/scripting/dir_traversal.txt +5 -0
  41. data/data/tips/scripting/dns_get_address.txt +5 -0
  42. data/data/tips/scripting/dns_get_addresses.txt +5 -0
  43. data/data/tips/scripting/extract_ips.txt +6 -0
  44. data/data/tips/scripting/file_each_row.txt +6 -0
  45. data/data/tips/scripting/file_hexdump.txt +4 -0
  46. data/data/tips/scripting/float_pack.txt +5 -0
  47. data/data/tips/scripting/ftp_connect.txt +14 -0
  48. data/data/tips/scripting/generate_self_signed_cert.txt +20 -0
  49. data/data/tips/scripting/http_get_body.txt +5 -0
  50. data/data/tips/scripting/http_get_headers.txt +17 -0
  51. data/data/tips/scripting/integer_pack.txt +5 -0
  52. data/data/tips/scripting/ip_range_cidr.txt +6 -0
  53. data/data/tips/scripting/ip_range_glob.txt +6 -0
  54. data/data/tips/scripting/load_cert.txt +5 -0
  55. data/data/tips/scripting/md5.txt +5 -0
  56. data/data/tips/scripting/printing_messages.txt +11 -0
  57. data/data/tips/scripting/random_alpha.txt +5 -0
  58. data/data/tips/scripting/random_alpha_numeric.txt +5 -0
  59. data/data/tips/scripting/random_hex.txt +5 -0
  60. data/data/tips/scripting/read_wordlist.txt +7 -0
  61. data/data/tips/scripting/ronin_support.txt +5 -0
  62. data/data/tips/scripting/sha1.txt +5 -0
  63. data/data/tips/scripting/sha256.txt +5 -0
  64. data/data/tips/scripting/sha512.txt +5 -0
  65. data/data/tips/scripting/ssl_cert.txt +10 -0
  66. data/data/tips/scripting/ssl_socket.txt +12 -0
  67. data/data/tips/scripting/string_hexdump.txt +5 -0
  68. data/data/tips/scripting/string_random_case.txt +5 -0
  69. data/data/tips/scripting/string_unpack.txt +5 -0
  70. data/data/tips/scripting/tcp_accept.txt +6 -0
  71. data/data/tips/scripting/tcp_banner.txt +5 -0
  72. data/data/tips/scripting/tcp_connect.txt +12 -0
  73. data/data/tips/scripting/tcp_open.txt +5 -0
  74. data/data/tips/scripting/tcp_send.txt +5 -0
  75. data/data/tips/scripting/tcp_server_loop.txt +6 -0
  76. data/data/tips/scripting/try.txt +4 -0
  77. data/data/tips/scripting/udp_connect.txt +8 -0
  78. data/data/tips/scripting/udp_open.txt +5 -0
  79. data/data/tips/scripting/udp_recv.txt +7 -0
  80. data/data/tips/scripting/udp_send.txt +5 -0
  81. data/data/tips/scripting/udp_server_loop.txt +7 -0
  82. data/data/tips/scripting/unix_accept.txt +7 -0
  83. data/data/tips/scripting/unix_connect.txt +12 -0
  84. data/data/tips/scripting/zlib_deflate.txt +5 -0
  85. data/data/tips/scripting/zlib_inflate.txt +5 -0
  86. data/gemspec.yml +79 -57
  87. data/lib/ronin/cli/char_set_options.rb +194 -0
  88. data/lib/ronin/cli/cipher_command.rb +149 -0
  89. data/lib/ronin/{script/exceptions/build_failed.rb → cli/command.rb} +11 -6
  90. data/lib/ronin/cli/commands/asn.rb +284 -0
  91. data/lib/ronin/cli/commands/banner_grab.rb +84 -0
  92. data/lib/ronin/cli/commands/bitflip.rb +132 -0
  93. data/lib/ronin/cli/commands/cert_dump.rb +285 -0
  94. data/lib/ronin/cli/commands/cert_gen.rb +395 -0
  95. data/lib/ronin/cli/commands/cert_grab.rb +128 -0
  96. data/lib/ronin/cli/commands/decode.rb +143 -0
  97. data/lib/ronin/cli/commands/decrypt.rb +67 -0
  98. data/lib/ronin/cli/commands/dns.rb +91 -0
  99. data/lib/ronin/cli/commands/email_addr.rb +127 -0
  100. data/lib/ronin/cli/commands/encode.rb +143 -0
  101. data/lib/ronin/cli/commands/encrypt.rb +67 -0
  102. data/lib/ronin/cli/commands/entropy.rb +75 -0
  103. data/lib/ronin/cli/commands/escape.rb +121 -0
  104. data/lib/ronin/cli/commands/extract.rb +148 -0
  105. data/lib/ronin/cli/commands/grep.rb +248 -0
  106. data/lib/ronin/cli/commands/hexdump.rb +481 -0
  107. data/lib/ronin/cli/commands/highlight.rb +121 -0
  108. data/lib/ronin/cli/commands/hmac.rb +102 -0
  109. data/lib/ronin/cli/commands/homoglyph.rb +98 -0
  110. data/lib/ronin/cli/commands/host.rb +223 -0
  111. data/lib/ronin/cli/commands/http.rb +354 -0
  112. data/lib/ronin/cli/commands/ip.rb +242 -0
  113. data/lib/ronin/cli/commands/iprange.rb +138 -0
  114. data/lib/ronin/cli/commands/irb.rb +106 -0
  115. data/lib/ronin/cli/commands/md5.rb +67 -0
  116. data/lib/ronin/cli/commands/netcat.rb +419 -0
  117. data/lib/ronin/cli/commands/new/project.rb +119 -0
  118. data/lib/ronin/cli/commands/new/script.rb +68 -0
  119. data/lib/ronin/cli/commands/new.rb +65 -0
  120. data/lib/ronin/cli/commands/proxy.rb +519 -0
  121. data/lib/ronin/cli/commands/public_suffix_list.rb +132 -0
  122. data/lib/ronin/cli/commands/quote.rb +114 -0
  123. data/lib/ronin/cli/commands/rot.rb +114 -0
  124. data/lib/ronin/cli/commands/sha1.rb +58 -0
  125. data/lib/ronin/cli/commands/sha256.rb +67 -0
  126. data/lib/ronin/cli/commands/sha512.rb +67 -0
  127. data/lib/ronin/cli/commands/strings.rb +151 -0
  128. data/lib/ronin/cli/commands/tips.rb +190 -0
  129. data/lib/ronin/cli/commands/tld_list.rb +132 -0
  130. data/lib/ronin/cli/commands/typo.rb +80 -0
  131. data/lib/ronin/cli/commands/typosquat.rb +123 -0
  132. data/lib/ronin/cli/commands/unescape.rb +121 -0
  133. data/lib/ronin/cli/commands/unhexdump.rb +213 -0
  134. data/lib/ronin/cli/commands/unquote.rb +114 -0
  135. data/lib/ronin/cli/commands/url.rb +151 -0
  136. data/lib/ronin/cli/commands/xor.rb +91 -0
  137. data/lib/ronin/cli/dns.rb +136 -0
  138. data/lib/ronin/cli/file_processor_command.rb +94 -0
  139. data/lib/ronin/cli/http_shell.rb +362 -0
  140. data/lib/ronin/cli/key_options.rb +61 -0
  141. data/lib/ronin/cli/method_options.rb +71 -0
  142. data/lib/ronin/cli/pattern_options.rb +458 -0
  143. data/lib/ronin/cli/printing/http.rb +153 -0
  144. data/lib/ronin/cli/printing/syntax_highlighting.rb +96 -0
  145. data/lib/ronin/{ui/cli/commands.rb → cli/string_methods_command.rb} +23 -12
  146. data/lib/ronin/cli/string_processor_command.rb +185 -0
  147. data/lib/ronin/cli/typo_options.rb +80 -0
  148. data/lib/ronin/cli/value_processor_command.rb +97 -0
  149. data/lib/ronin/cli.rb +75 -0
  150. data/lib/ronin/config.rb +2 -10
  151. data/lib/ronin/{database/exceptions/invalid_config.rb → root.rb} +6 -7
  152. data/lib/ronin/ui.rb +4 -4
  153. data/lib/ronin/version.rb +3 -4
  154. data/lib/ronin.rb +9 -5
  155. data/man/ronin-asn.1 +124 -0
  156. data/man/ronin-asn.1.md +86 -0
  157. data/man/ronin-banner-grab.1 +45 -0
  158. data/man/ronin-banner-grab.1.md +33 -0
  159. data/man/ronin-bitflip.1 +123 -0
  160. data/man/ronin-bitflip.1.md +92 -0
  161. data/man/ronin-cert-dump.1 +99 -0
  162. data/man/ronin-cert-dump.1.md +68 -0
  163. data/man/ronin-cert-gen.1 +144 -0
  164. data/man/ronin-cert-gen.1.md +104 -0
  165. data/man/ronin-cert-grab.1 +68 -0
  166. data/man/ronin-cert-grab.1.md +47 -0
  167. data/man/ronin-decode.1 +103 -0
  168. data/man/ronin-decode.1.md +77 -0
  169. data/man/ronin-decrypt.1 +75 -0
  170. data/man/ronin-decrypt.1.md +56 -0
  171. data/man/ronin-dns.1 +45 -0
  172. data/man/ronin-dns.1.md +33 -0
  173. data/man/ronin-email-addr.1 +76 -0
  174. data/man/ronin-email-addr.1.md +54 -0
  175. data/man/ronin-encode.1 +103 -0
  176. data/man/ronin-encode.1.md +77 -0
  177. data/man/ronin-encrypt.1 +75 -0
  178. data/man/ronin-encrypt.1.md +56 -0
  179. data/man/ronin-entropy.1 +43 -0
  180. data/man/ronin-entropy.1.md +32 -0
  181. data/man/ronin-escape.1 +94 -0
  182. data/man/ronin-escape.1.md +70 -0
  183. data/man/ronin-extract.1 +303 -0
  184. data/man/ronin-extract.1.md +227 -0
  185. data/man/ronin-grep.1 +315 -0
  186. data/man/ronin-grep.1.md +236 -0
  187. data/man/ronin-help.1 +3 -15
  188. data/man/ronin-help.1.md +3 -12
  189. data/man/ronin-hexdump.1 +323 -0
  190. data/man/ronin-hexdump.1.md +197 -0
  191. data/man/ronin-highlight.1 +42 -0
  192. data/man/ronin-highlight.1.md +31 -0
  193. data/man/ronin-hmac.1 +66 -0
  194. data/man/ronin-hmac.1.md +49 -0
  195. data/man/ronin-homoglyph.1 +49 -0
  196. data/man/ronin-homoglyph.1.md +36 -0
  197. data/man/ronin-host.1 +99 -0
  198. data/man/ronin-host.1.md +74 -0
  199. data/man/ronin-http.1 +141 -0
  200. data/man/ronin-http.1.md +105 -0
  201. data/man/ronin-ip.1 +145 -0
  202. data/man/ronin-ip.1.md +103 -0
  203. data/man/ronin-iprange.1 +46 -0
  204. data/man/ronin-iprange.1.md +34 -0
  205. data/man/ronin-irb.1 +35 -0
  206. data/man/ronin-irb.1.md +25 -0
  207. data/man/ronin-md5.1 +54 -0
  208. data/man/ronin-md5.1.md +40 -0
  209. data/man/ronin-netcat.1 +110 -0
  210. data/man/ronin-netcat.1.md +82 -0
  211. data/man/ronin-new-project.1 +54 -0
  212. data/man/ronin-new-project.1.md +40 -0
  213. data/man/ronin-new-script.1 +37 -0
  214. data/man/ronin-new-script.1.md +27 -0
  215. data/man/ronin-new.1 +51 -0
  216. data/man/ronin-new.1.md +38 -0
  217. data/man/{ronin-net-proxy.1 → ronin-proxy.1} +45 -37
  218. data/man/{ronin-net-proxy.1.md → ronin-proxy.1.md} +39 -32
  219. data/man/ronin-public-suffix-list.1 +55 -0
  220. data/man/ronin-public-suffix-list.1.md +41 -0
  221. data/man/ronin-quote.1 +78 -0
  222. data/man/ronin-quote.1.md +58 -0
  223. data/man/ronin-rot.1 +62 -0
  224. data/man/ronin-rot.1.md +46 -0
  225. data/man/ronin-sha1.1 +54 -0
  226. data/man/ronin-sha1.1.md +40 -0
  227. data/man/ronin-sha256.1 +54 -0
  228. data/man/ronin-sha256.1.md +40 -0
  229. data/man/ronin-sha512.1 +54 -0
  230. data/man/ronin-sha512.1.md +40 -0
  231. data/man/ronin-strings.1 +115 -0
  232. data/man/ronin-strings.1.md +86 -0
  233. data/man/ronin-tips.1 +35 -0
  234. data/man/ronin-tips.1.md +25 -0
  235. data/man/ronin-tld-list.1 +55 -0
  236. data/man/ronin-tld-list.1.md +41 -0
  237. data/man/ronin-typo.1 +61 -0
  238. data/man/ronin-typo.1.md +45 -0
  239. data/man/ronin-typosquat.1 +65 -0
  240. data/man/ronin-typosquat.1.md +48 -0
  241. data/man/ronin-unescape.1 +94 -0
  242. data/man/ronin-unescape.1.md +70 -0
  243. data/man/ronin-unhexdump.1 +187 -0
  244. data/man/ronin-unhexdump.1.md +107 -0
  245. data/man/ronin-unquote.1 +78 -0
  246. data/man/ronin-unquote.1.md +58 -0
  247. data/man/ronin-url.1 +85 -0
  248. data/man/ronin-url.1.md +63 -0
  249. data/man/ronin-xor.1 +62 -0
  250. data/man/ronin-xor.1.md +46 -0
  251. data/man/ronin.1 +25 -6
  252. data/man/ronin.1.md +20 -5
  253. data/ronin.gemspec +2 -1
  254. metadata +292 -456
  255. data/bin/ronin-campaigns +0 -20
  256. data/bin/ronin-console +0 -20
  257. data/bin/ronin-creds +0 -20
  258. data/bin/ronin-database +0 -20
  259. data/bin/ronin-emails +0 -20
  260. data/bin/ronin-exec +0 -20
  261. data/bin/ronin-fuzzer +0 -20
  262. data/bin/ronin-help +0 -20
  263. data/bin/ronin-hosts +0 -20
  264. data/bin/ronin-install +0 -20
  265. data/bin/ronin-ips +0 -20
  266. data/bin/ronin-net-proxy +0 -20
  267. data/bin/ronin-repos +0 -20
  268. data/bin/ronin-uninstall +0 -20
  269. data/bin/ronin-update +0 -20
  270. data/bin/ronin-urls +0 -20
  271. data/bin/ronin-wordlist +0 -20
  272. data/lib/bond/completions/ronin.rb +0 -154
  273. data/lib/ronin/address.rb +0 -124
  274. data/lib/ronin/arch.rb +0 -136
  275. data/lib/ronin/author.rb +0 -66
  276. data/lib/ronin/auto_load.rb +0 -91
  277. data/lib/ronin/bootstrap.rb +0 -27
  278. data/lib/ronin/campaign.rb +0 -129
  279. data/lib/ronin/credential.rb +0 -119
  280. data/lib/ronin/database/database.rb +0 -325
  281. data/lib/ronin/database/exceptions/unknown_repository.rb +0 -25
  282. data/lib/ronin/database/exceptions.rb +0 -21
  283. data/lib/ronin/database/migrations/1.0.0.rb +0 -569
  284. data/lib/ronin/database/migrations/1.1.0.rb +0 -125
  285. data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +0 -29
  286. data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +0 -27
  287. data/lib/ronin/database/migrations/exceptions.rb +0 -21
  288. data/lib/ronin/database/migrations/graph.rb +0 -300
  289. data/lib/ronin/database/migrations/migration.rb +0 -66
  290. data/lib/ronin/database/migrations/migrations.rb +0 -185
  291. data/lib/ronin/database/migrations.rb +0 -22
  292. data/lib/ronin/database.rb +0 -21
  293. data/lib/ronin/email_address.rb +0 -257
  294. data/lib/ronin/environment.rb +0 -30
  295. data/lib/ronin/exceptions/duplicate_repository.rb +0 -23
  296. data/lib/ronin/exceptions/repository_not_found.rb +0 -23
  297. data/lib/ronin/exceptions.rb +0 -21
  298. data/lib/ronin/host_name.rb +0 -271
  299. data/lib/ronin/host_name_ip_address.rb +0 -45
  300. data/lib/ronin/installation.rb +0 -225
  301. data/lib/ronin/ip_address.rb +0 -348
  302. data/lib/ronin/ip_address_mac_address.rb +0 -45
  303. data/lib/ronin/license.rb +0 -121
  304. data/lib/ronin/mac_address.rb +0 -111
  305. data/lib/ronin/model/has_authors.rb +0 -111
  306. data/lib/ronin/model/has_description.rb +0 -73
  307. data/lib/ronin/model/has_license.rb +0 -129
  308. data/lib/ronin/model/has_name.rb +0 -91
  309. data/lib/ronin/model/has_title.rb +0 -71
  310. data/lib/ronin/model/has_unique_name.rb +0 -127
  311. data/lib/ronin/model/has_version.rb +0 -77
  312. data/lib/ronin/model/importable.rb +0 -65
  313. data/lib/ronin/model/model.rb +0 -165
  314. data/lib/ronin/model/types/description.rb +0 -60
  315. data/lib/ronin/model/types.rb +0 -20
  316. data/lib/ronin/model.rb +0 -20
  317. data/lib/ronin/open_port.rb +0 -112
  318. data/lib/ronin/organization.rb +0 -46
  319. data/lib/ronin/os.rb +0 -157
  320. data/lib/ronin/os_guess.rb +0 -45
  321. data/lib/ronin/password.rb +0 -165
  322. data/lib/ronin/port.rb +0 -126
  323. data/lib/ronin/repositories.rb +0 -23
  324. data/lib/ronin/repository.rb +0 -771
  325. data/lib/ronin/ronin.rb +0 -43
  326. data/lib/ronin/script/buildable.rb +0 -156
  327. data/lib/ronin/script/deployable.rb +0 -202
  328. data/lib/ronin/script/exceptions/deploy_failed.rb +0 -27
  329. data/lib/ronin/script/exceptions/exception.rb +0 -25
  330. data/lib/ronin/script/exceptions/not_built.rb +0 -27
  331. data/lib/ronin/script/exceptions/test_failed.rb +0 -27
  332. data/lib/ronin/script/exceptions.rb +0 -24
  333. data/lib/ronin/script/path.rb +0 -293
  334. data/lib/ronin/script/script.rb +0 -384
  335. data/lib/ronin/script/testable.rb +0 -365
  336. data/lib/ronin/script.rb +0 -21
  337. data/lib/ronin/service.rb +0 -39
  338. data/lib/ronin/service_credential.rb +0 -31
  339. data/lib/ronin/software.rb +0 -55
  340. data/lib/ronin/spec/database.rb +0 -56
  341. data/lib/ronin/target.rb +0 -66
  342. data/lib/ronin/tcp_port.rb +0 -36
  343. data/lib/ronin/udp_port.rb +0 -32
  344. data/lib/ronin/ui/cli/class_command.rb +0 -137
  345. data/lib/ronin/ui/cli/cli.rb +0 -148
  346. data/lib/ronin/ui/cli/command.rb +0 -649
  347. data/lib/ronin/ui/cli/commands/campaigns.rb +0 -165
  348. data/lib/ronin/ui/cli/commands/console.rb +0 -106
  349. data/lib/ronin/ui/cli/commands/creds.rb +0 -108
  350. data/lib/ronin/ui/cli/commands/database.rb +0 -204
  351. data/lib/ronin/ui/cli/commands/emails.rb +0 -86
  352. data/lib/ronin/ui/cli/commands/exec.rb +0 -127
  353. data/lib/ronin/ui/cli/commands/fuzzer.rb +0 -306
  354. data/lib/ronin/ui/cli/commands/help.rb +0 -87
  355. data/lib/ronin/ui/cli/commands/hosts.rb +0 -177
  356. data/lib/ronin/ui/cli/commands/install.rb +0 -136
  357. data/lib/ronin/ui/cli/commands/ips.rb +0 -178
  358. data/lib/ronin/ui/cli/commands/net/proxy.rb +0 -411
  359. data/lib/ronin/ui/cli/commands/repos.rb +0 -164
  360. data/lib/ronin/ui/cli/commands/uninstall.rb +0 -90
  361. data/lib/ronin/ui/cli/commands/update.rb +0 -125
  362. data/lib/ronin/ui/cli/commands/urls.rb +0 -141
  363. data/lib/ronin/ui/cli/commands/wordlist.rb +0 -181
  364. data/lib/ronin/ui/cli/exceptions/unknown_command.rb +0 -27
  365. data/lib/ronin/ui/cli/exceptions.rb +0 -20
  366. data/lib/ronin/ui/cli/model_command.rb +0 -182
  367. data/lib/ronin/ui/cli/printing.rb +0 -167
  368. data/lib/ronin/ui/cli/resources_command.rb +0 -117
  369. data/lib/ronin/ui/cli/script_command.rb +0 -212
  370. data/lib/ronin/ui/cli.rb +0 -21
  371. data/lib/ronin/ui/console/commands.rb +0 -86
  372. data/lib/ronin/ui/console/console.rb +0 -215
  373. data/lib/ronin/ui/console/context.rb +0 -106
  374. data/lib/ronin/ui/console/shell.rb +0 -184
  375. data/lib/ronin/ui/console.rb +0 -22
  376. data/lib/ronin/url.rb +0 -546
  377. data/lib/ronin/url_query_param.rb +0 -73
  378. data/lib/ronin/url_query_param_name.rb +0 -89
  379. data/lib/ronin/url_scheme.rb +0 -53
  380. data/lib/ronin/user_name.rb +0 -47
  381. data/lib/ronin/vendor.rb +0 -39
  382. data/lib/ronin/web_credential.rb +0 -76
  383. data/man/ronin-campaigns.1 +0 -105
  384. data/man/ronin-campaigns.1.md +0 -78
  385. data/man/ronin-console.1 +0 -96
  386. data/man/ronin-console.1.md +0 -72
  387. data/man/ronin-creds.1 +0 -89
  388. data/man/ronin-creds.1.md +0 -66
  389. data/man/ronin-database.1 +0 -111
  390. data/man/ronin-database.1.md +0 -82
  391. data/man/ronin-emails.1 +0 -97
  392. data/man/ronin-emails.1.md +0 -72
  393. data/man/ronin-exec.1 +0 -65
  394. data/man/ronin-exec.1.md +0 -49
  395. data/man/ronin-fuzzer.1 +0 -95
  396. data/man/ronin-fuzzer.1.md +0 -73
  397. data/man/ronin-hosts.1 +0 -105
  398. data/man/ronin-hosts.1.md +0 -78
  399. data/man/ronin-install.1 +0 -104
  400. data/man/ronin-install.1.md +0 -79
  401. data/man/ronin-ips.1 +0 -109
  402. data/man/ronin-ips.1.md +0 -81
  403. data/man/ronin-repos.1 +0 -102
  404. data/man/ronin-repos.1.md +0 -77
  405. data/man/ronin-uninstall.1 +0 -88
  406. data/man/ronin-uninstall.1.md +0 -67
  407. data/man/ronin-update.1 +0 -88
  408. data/man/ronin-update.1.md +0 -67
  409. data/man/ronin-urls.1 +0 -113
  410. data/man/ronin-urls.1.md +0 -84
  411. data/man/ronin-wordlist.1 +0 -71
  412. data/man/ronin-wordlist.1.md +0 -54
  413. data/spec/arch_spec.rb +0 -77
  414. data/spec/author_spec.rb +0 -26
  415. data/spec/campaign_spec.rb +0 -13
  416. data/spec/classes/my_script.rb +0 -21
  417. data/spec/credential_spec.rb +0 -29
  418. data/spec/database_spec.rb +0 -28
  419. data/spec/email_address_spec.rb +0 -83
  420. data/spec/helpers/repos/installed/ronin.yml +0 -7
  421. data/spec/helpers/repos/installed/scripts/.keep +0 -0
  422. data/spec/helpers/repos/local/lib/init.rb +0 -1
  423. data/spec/helpers/repos/local/lib/stuff/another_test.rb +0 -6
  424. data/spec/helpers/repos/local/lib/stuff/test.rb +0 -4
  425. data/spec/helpers/repos/local/ronin.yml +0 -7
  426. data/spec/helpers/repos/local/scripts/.keep +0 -0
  427. data/spec/helpers/repos/remote/ronin.yml +0 -7
  428. data/spec/helpers/repos/remote/scripts/.keep +0 -0
  429. data/spec/helpers/repos/scripts/ronin.yml +0 -7
  430. data/spec/helpers/repos/scripts/scripts/cached/cached.rb +0 -10
  431. data/spec/helpers/repos/scripts/scripts/cached/missing.rb +0 -10
  432. data/spec/helpers/repos/scripts/scripts/cached/modified.rb +0 -10
  433. data/spec/helpers/repos/scripts/scripts/cached/unmodified.rb +0 -10
  434. data/spec/helpers/repos/scripts/scripts/failures/exceptions.rb +0 -11
  435. data/spec/helpers/repos/scripts/scripts/failures/load_errors.rb +0 -11
  436. data/spec/helpers/repos/scripts/scripts/failures/name_errors.rb +0 -8
  437. data/spec/helpers/repos/scripts/scripts/failures/no_method_errors.rb +0 -10
  438. data/spec/helpers/repos/scripts/scripts/failures/syntax_errors.rb +0 -11
  439. data/spec/helpers/repos/scripts/scripts/failures/validation_errors.rb +0 -11
  440. data/spec/helpers/repos/scripts/scripts/my_scripts/test.rb +0 -16
  441. data/spec/helpers/repositories.rb +0 -11
  442. data/spec/host_name_spec.rb +0 -92
  443. data/spec/installation_spec.rb +0 -40
  444. data/spec/ip_address_spec.rb +0 -109
  445. data/spec/license_spec.rb +0 -25
  446. data/spec/mac_address_spec.rb +0 -47
  447. data/spec/model/has_authors_spec.rb +0 -79
  448. data/spec/model/has_description_spec.rb +0 -76
  449. data/spec/model/has_license_spec.rb +0 -73
  450. data/spec/model/has_name_spec.rb +0 -54
  451. data/spec/model/has_title_spec.rb +0 -42
  452. data/spec/model/has_version_spec.rb +0 -87
  453. data/spec/model/model_spec.rb +0 -98
  454. data/spec/model/models/authored_model.rb +0 -11
  455. data/spec/model/models/base_model.rb +0 -13
  456. data/spec/model/models/described_model.rb +0 -9
  457. data/spec/model/models/inherited_model.rb +0 -16
  458. data/spec/model/models/licensed_model.rb +0 -11
  459. data/spec/model/models/named_model.rb +0 -9
  460. data/spec/model/models/titled_model.rb +0 -9
  461. data/spec/model/models/versioned_model.rb +0 -11
  462. data/spec/os_spec.rb +0 -48
  463. data/spec/password_spec.rb +0 -47
  464. data/spec/port_spec.rb +0 -51
  465. data/spec/repository_spec.rb +0 -270
  466. data/spec/ronin_spec.rb +0 -25
  467. data/spec/script/buildable_spec.rb +0 -51
  468. data/spec/script/classes/buildable_class.rb +0 -15
  469. data/spec/script/classes/deployable_class.rb +0 -13
  470. data/spec/script/classes/script_class.rb +0 -19
  471. data/spec/script/classes/testable_class.rb +0 -19
  472. data/spec/script/deployable_spec.rb +0 -55
  473. data/spec/script/path_spec.rb +0 -185
  474. data/spec/script/script_spec.rb +0 -128
  475. data/spec/script/testable_spec.rb +0 -117
  476. data/spec/service_spec.rb +0 -24
  477. data/spec/software_spec.rb +0 -46
  478. data/spec/spec_helper.rb +0 -60
  479. data/spec/ui/cli/classes/test_command.rb +0 -26
  480. data/spec/ui/cli/cli_spec.rb +0 -34
  481. data/spec/ui/cli/command_spec.rb +0 -291
  482. data/spec/url_query_param_spec.rb +0 -41
  483. data/spec/url_scheme_spec.rb +0 -21
  484. data/spec/url_spec.rb +0 -179
  485. data/spec/vendor_spec.rb +0 -25
data/Gemfile CHANGED
@@ -1,60 +1,73 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- DM_URI = 'https://github.com/datamapper'
4
- DM_VERSION = '~> 1.2'
5
- DO_VERSION = '~> 0.10.3'
6
- RONIN_URI = 'https://github.com/ronin-rb'
7
-
8
3
  gemspec
9
4
 
10
5
  gem 'jruby-openssl', '~> 0.7', platforms: :jruby
11
6
 
12
- # DataMapper dependencies
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"
7
+ gem 'net-telnet', '~> 0.1', group: :net
8
+ if RUBY_VERSION >= '3.1.0'
9
+ gem 'net-ftp', '~> 0.1', group: :net, platform: :mri
10
+ gem 'net-smtp', '~> 0.1', group: :net, platform: :mri
11
+ gem 'net-pop', '~> 0.1', group: :net, platform: :mri
12
+ gem 'net-imap', '~> 0.1', group: :net, platform: :mri
13
+ end
14
+
15
+ # gem 'command_kit', '~> 0.4', github: 'postmodern/command_kit.rb',
16
+ # branch: '0.4.0'
17
+
18
+ group :database do
19
+ gem 'sqlite3', '~> 1.0', platform: :mri
20
+ gem 'activerecord-jdbcsqlite3-adapter', '~> 70.0.pre', platform: :jruby
21
+ end
24
22
 
25
23
  # Library dependencies
26
- # gem 'ronin-support', '~> 0.5', git: "#{RONIN_URI}/ronin-support.git",
27
- # branch: 'main'
24
+ # gem 'ronin-support', '~> 1.0', github: "ronin-rb/ronin-support",
25
+ # branch: 'main'
26
+ # gem 'ronin-core', '~> 0.1', github: "ronin-rb/ronin-core",
27
+ # branch: 'main'
28
+ # gem 'ronin-repos', '~> 0.1', github: "ronin-rb/ronin-repos",
29
+ # branch: 'main'
30
+ # gem 'ronin-db', '~> 0.1', github: "ronin-rb/ronin-db",
31
+ # branch: 'main'
32
+ # gem 'ronin-db-activerecord', '~> 0.1', github: "ronin-rb/ronin-db-activerecord",
33
+ # branch: 'main'
34
+ # gem 'ronin-fuzzer', '~> 0.1', github: "ronin-rb/ronin-fuzzer",
35
+ # branch: 'main'
36
+ # gem 'ronin-post_ex', '~> 0.1', github: "ronin-rb/ronin-post_ex",
37
+ # branch: 'main'
38
+ # gem 'ronin-code-asm', '~> 1.0', github: "ronin-rb/ronin-code-asm",
39
+ # branch: 'main'
40
+ # gem 'ronin-code-sql', '~> 2.0', github: "ronin-rb/ronin-code-sql",
41
+ # branch: 'main'
42
+ # gem 'ronin-payloads', '~> 0.1', github: "ronin-rb/ronin-payloads",
43
+ # branch: 'main'
44
+ # gem 'ronin-exploits', '~> 1.0', github: "ronin-rb/ronin-exploits",
45
+ # branch: 'main'
46
+ # gem 'ronin-vulns', '~> 0.1', github: "ronin-rb/ronin-vulns",
47
+ # branch: 'main'
48
+ # gem 'ronin-web-server', '~> 0.1', github: "ronin-rb/ronin-web-server",
49
+ # branch: 'main'
50
+ # gem 'ronin-web-spider', '~> 0.1', github: "ronin-rb/ronin-web-spider",
51
+ # branch: 'main'
52
+ # gem 'ronin-web-user_agents', '~> 0.1', github: "ronin-rb/ronin-web-user_agents",
53
+ # branch: 'main'
54
+ # gem 'ronin-web', '~> 1.0', github: "ronin-rb/ronin-web",
55
+ # branch: 'main'
28
56
 
29
57
  group :development do
30
58
  gem 'rake'
31
- gem 'rubygems-tasks', '~> 0.1'
32
- gem 'rspec', '~> 3.0'
59
+ gem 'rubygems-tasks', '~> 0.1'
60
+ gem 'rspec', '~> 3.0'
61
+ gem 'simplecov', '~> 0.20'
33
62
 
34
- gem 'kramdown', '~> 2.0'
35
- gem 'kramdown-man', '~> 0.1'
63
+ gem 'kramdown', '~> 2.0'
64
+ gem 'kramdown-man', '~> 0.1'
36
65
 
37
- gem 'ruby-graphviz', '~> 0.9.10'
38
- gem 'dm-visualizer', '~> 0.2.0'
39
- end
66
+ gem 'redcarpet', platform: :mri
67
+ gem 'yard', '~> 0.9'
68
+ gem 'yard-spellcheck', require: false
40
69
 
41
- #
42
- # To enable additional DataMapper adapters for development work or for
43
- # testing purposes, simple set the ADAPTER or ADAPTERS environment
44
- # variable:
45
- #
46
- # export ADAPTER="postgres"
47
- # bundle install
48
- #
49
- # ./bin/ronin --database postgres://ronin@localhost/ronin
50
- #
51
- require 'set'
52
-
53
- DM_ADAPTERS = Set['postgres', 'mysql', 'oracle', 'sqlserver']
54
-
55
- adapters = (ENV['ADAPTER'] || ENV['ADAPTERS']).to_s
56
- adapters = Set.new(adapters.to_s.tr(',',' ').split)
57
-
58
- (DM_ADAPTERS & adapters).each do |adapter|
59
- gem "dm-#{adapter}-adapter", DM_VERSION #, git: "#{DM_URI}/dm-#{adapter}-adapter.git"
70
+ gem 'dead_end', require: false
71
+ gem 'sord', require: false, platform: :mri
72
+ gem 'stackprof', require: false, platform: :mri
60
73
  end
data/README.md CHANGED
@@ -6,175 +6,216 @@
6
6
  * [Website](https://ronin-rb.dev)
7
7
  * [Source](https://github.com/ronin-rb/ronin)
8
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) |
9
+ * [Documentation](https://ronin-rb.dev/docs/ronin/frames)
10
+ * [Discord](https://discord.gg/6WAb3PsVX9) |
12
11
  [Twitter](https://twitter.com/ronin_rb) |
13
- [IRC](https://ronin-rb.dev/irc/)
12
+ [Mastodon](https://infosec.exchange/@ronin_rb)
14
13
 
15
14
  ## Description
16
15
 
17
- Ronin is a [Ruby] platform for vulnerability research and [exploit development].
18
- Ronin allows for the rapid development and distribution of code,
19
- [Exploits][example-exploit], [Payloads][example-payload],
20
- [Scanners][example-scanner], etc, via [Repositories].
21
-
22
- ### Console
23
-
24
- Ronin provides users with a powerful Ruby Console, pre-loaded with powerful
25
- convenience methods. In the Console one can work with data and automate
26
- complex tasks, with greater ease than the command-line.
27
-
28
- >> File.read('data').base64_decode
29
-
30
- ### Database
31
-
32
- Ronin ships with a preconfigured Database, that one can interact with from Ruby,
33
- without having to write any SQL.
34
-
35
- >> HostName.tld('eu').urls.with_query_param('id')
36
-
37
- ### Repositories
38
-
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.
42
-
43
- $ ronin install git://github.com/user/myexploits.git
44
-
45
- ### Libraries
46
-
47
- Ronin provides libraries with additional functionality, such as
48
- [Exploitation][ronin-exploits] and [Scanning][ronin-scanners]:
49
-
50
- $ gem install ronin-exploits
51
-
52
- ## Features
53
-
54
- * Supports installing/updating/uninstalling of Repositories.
55
- * Supports installing Repositories from various media types:
56
- * [Subversion (SVN)][svn]
57
- * [Mercurial (Hg)][hg]
58
- * [Git][git]
59
- * Rsync
60
- * Provides a Database using [DataMapper] with:
61
- * {Ronin::Author}
62
- * {Ronin::License}
63
- * {Ronin::Arch}
64
- * {Ronin::OS}
65
- * {Ronin::Software}
66
- * {Ronin::Vendor}
67
- * {Ronin::Address}
68
- * {Ronin::MACAddress}
69
- * {Ronin::IPAddress}
70
- * {Ronin::HostName}
71
- * {Ronin::Port}
72
- * {Ronin::TCPPort}
73
- * {Ronin::UDPPort}
74
- * {Ronin::Service}
75
- * {Ronin::OpenPort}
76
- * {Ronin::OSGuess}
77
- * {Ronin::UserName}
78
- * {Ronin::URL}
79
- * {Ronin::EmailAddress}
80
- * {Ronin::Credential}
81
- * {Ronin::ServiceCredential}
82
- * {Ronin::WebCredential}
83
- * {Ronin::Organization}
84
- * {Ronin::Campaign}
85
- * {Ronin::Target}
86
- * Caches exploits, payloads, scanners, etc stored within Repositories
87
- into the Database.
88
- * Convenience methods provided by [ronin-support].
89
- * Provides a customized Ruby Console using [Ripl][ripl] with:
90
- * Syntax highlighting.
91
- * Tab completion.
92
- * Auto indentation.
93
- * Pretty Printing (`pp`).
94
- * `print_info`, `print_error`, `print_warning` and `print_debug`
95
- output helper methods with color-output.
96
- * Inline commands (`!nmap -v -sT victim.com`)
97
- * Provides an extensible command-line interface.
16
+ [Ronin][website] is a free and Open Source [Ruby] toolkit for security research
17
+ and development. Ronin contains many different [CLI commands](#snopsis) and
18
+ [Ruby libraries][ronin-rb] for a variety of security tasks, such as
19
+ encoding/decoding data, filter IPs/hosts/URLs, querying ASNs, querying DNS,
20
+ HTTP, [scanning for web vulnerabilities][ronin-vulns-synopsis],
21
+ [spidering websites][ronin-web-spider],
22
+ [install 3rd party repositories][ronin-repos-synopsis] of
23
+ [exploits][ronin-exploits] and/or
24
+ [payloads][ronin-payloads], [run exploits][ronin-exploits-synopsis],
25
+ [write new exploits][ronin-exploits-examples],
26
+ [managing local databases][ronin-db-synopsis],
27
+ [fuzzing data][ronin-fuzzer], and much more.
28
+
29
+ ### Who is Ronin for?
30
+
31
+ * CTF players
32
+ * Bug bounty hunters
33
+ * Security Researchers
34
+ * Security Engineers
35
+ * Developers
36
+ * Students
37
+
38
+ ### What does Ronin provide?
39
+
40
+ * A toolkit of useful commands.
41
+ * A fully-loaded Ruby REPL.
42
+ * An ecosystem of high-quality security related Ruby libraries, API, and
43
+ commands.
44
+
45
+ ### What can you do with Ronin?
46
+
47
+ * Quickly process and query various data using the `ronin` commands.
48
+ * Efficiently work with code and data in the `ronin irb` Ruby REPL.
49
+ * Rapidly prototype Ruby scripts using [ronin-support] and other `ronin`
50
+ libraries.
51
+ * Install 3rd-party [git] repositories of exploits, payloads, or other code,
52
+ using [ronin-repos].
53
+ * Import and query data using the [ronin-db] database.
54
+ * Fuzz data using [ronin-fuzzer].
55
+ * Use common payloads or write your own using [ronin-payloads].
56
+ * Write/run exploits using [ronin-exploits].
57
+ * Scan for web vulnerabilities using [ronin-vulns].
98
58
 
99
59
  ## Synopsis
100
60
 
101
- Start the Ronin console:
102
-
103
- $ ronin
104
-
105
- Run a Ruby script in Ronin:
106
-
107
- $ ronin exec script.rb
108
-
109
- View available commands:
110
-
111
- $ ronin help
61
+ ```
62
+ Usage: ronin [options] [COMMAND [ARGS...]]
63
+
64
+ Options:
65
+ -h, --help Print help information
66
+
67
+ Arguments:
68
+ [COMMAND] The command name to run
69
+ [ARGS ...] Additional arguments for the command
70
+
71
+ Commands:
72
+ asn
73
+ banner-grab
74
+ bitflip
75
+ cert-dump
76
+ cert-gen
77
+ cert-grab
78
+ decode, dec
79
+ decrypt
80
+ dns
81
+ email-addr
82
+ encode, enc
83
+ encrypt
84
+ entropy
85
+ escape
86
+ extract
87
+ grep
88
+ help
89
+ hexdump
90
+ highlight
91
+ hmac
92
+ homoglyph
93
+ host
94
+ http
95
+ ip
96
+ iprange
97
+ irb
98
+ md5
99
+ netcat, nc
100
+ new
101
+ proxy
102
+ public-suffix-list
103
+ quote
104
+ rot
105
+ sha1
106
+ sha256
107
+ sha512
108
+ strings
109
+ tld-list
110
+ tips
111
+ typo
112
+ typosquat
113
+ unescape
114
+ unhexdump
115
+ unquote
116
+ url
117
+ xor
118
+
119
+ Additional Ronin Commands:
120
+ $ ronin-repos
121
+ $ ronin-db
122
+ $ ronin-web
123
+ $ ronin-fuzzer
124
+ $ ronin-payloads
125
+ $ ronin-exploits
126
+ $ ronin-vulns
127
+ ```
128
+
129
+ List ronin commands:
130
+
131
+ ```shell
132
+ $ ronin help
133
+ ```
112
134
 
113
135
  View a man-page for a command:
114
136
 
115
- $ ronin help wordlist
137
+ ```shell
138
+ $ ronin help COMMAND
139
+ ```
116
140
 
117
- Install a Repository:
141
+ Get a random tip on how to use `ronin`:
118
142
 
119
- $ ronin install svn://example.com/path/to/repo
143
+ ```shell
144
+ $ ronin tips
145
+ ```
120
146
 
121
- List installed Repositories:
147
+ Open the Ronin Ruby REPL:
122
148
 
123
- $ ronin repos
149
+ ```shell
150
+ $ ronin irb
151
+ ```
124
152
 
125
- Update all installed Repositories:
153
+ ### See Also
126
154
 
127
- $ ronin update
155
+ * [ronin-repos](https://github.com/ronin-rb/ronin-repos#synopsis)
156
+ * [ronin-db](https://github.com/ronin-rb/ronin-db#synopsis)
157
+ * [ronin-web](https://github.com/ronin-rb/ronin-web#synopsis)
158
+ * [ronin-fuzzer](https://github.com/ronin-rb/ronin-fuzzer#synopsis)
159
+ * [ronin-payloads](https://github.com/ronin-rb/ronin-payloads#synopsis)
160
+ * [ronin-exploits](https://github.com/ronin-rb/ronin-exploits#synopsis)
161
+ * [ronin-vulns](https://github.com/ronin-rb/ronin-vulns#synopsis)
128
162
 
129
- Update a specific Repositories:
163
+ ## Requirements
130
164
 
131
- $ ronin update repo-name
165
+ * [gcc] / [clang]
166
+ * [make]
167
+ * [git]
168
+ * [libsqlite3]
169
+ * [libxml2]
170
+ * [libxslt]
171
+ * [Ruby] >= 3.0.0
172
+ * [open_namespace] ~> 0.4
173
+ * [rouge] ~> 3.0
174
+ * [async-io] ~> 1.0
175
+ * [wordlist] ~> 1.0
176
+ * [ronin-support] ~> 1.0
177
+ * [ronin-core] ~> 0.1
178
+ * [ronin-repos] ~> 0.1
179
+ * [ronin-db] ~> 0.1
180
+ * [ronin-fuzzer] ~> 0.1
181
+ * [ronin-web] ~> 1.0
182
+ * [ronin-code-asm] ~> 1.0
183
+ * [ronin-code-sql] ~> 2.0
184
+ * [ronin-payloads] ~> 0.1
185
+ * [ronin-exploits] ~> 1.0
186
+ * [ronin-vulns] ~> 0.1
132
187
 
133
- Uninstall a specific Repositories:
188
+ ## Install
134
189
 
135
- $ ronin uninstall repo-name
190
+ ### Bash Script
136
191
 
137
- List available Databases:
192
+ ```shell
193
+ curl -o ronin-install.sh https://raw.githubusercontent.com/ronin-rb/scripts/main/ronin-install.sh && bash ronin-install.sh
194
+ ```
138
195
 
139
- $ ronin database
196
+ ### Manually
140
197
 
141
- Add a new Database:
198
+ ```shell
199
+ $ gem install ronin
200
+ ```
142
201
 
143
- $ ronin database --add team --uri mysql://user:pass@vpn.example.com/db
202
+ ### Docker
144
203
 
145
- Remove a Database:
204
+ If you prefer using [Docker], there are also [Docker images] available:
146
205
 
147
- $ ronin database --remove team
206
+ ```shell
207
+ docker pull roninrb/ronin
208
+ docker run -it ronin
209
+ ```
148
210
 
149
- ## Requirements
211
+ Additionally, if you want to mount your home directory into the docker image:
150
212
 
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
213
+ ```shell
214
+ docker run --mount type=bind,source="$HOME",target=/home/ronin -it ronin
215
+ ```
174
216
 
175
- ## Install
176
-
177
- $ gem install ronin
217
+ [Docker]: https://www.docker.com/
218
+ [Docker images]: https://hub.docker.com/r/roninrb/ronin
178
219
 
179
220
  ## Development
180
221
 
@@ -189,9 +230,7 @@ Remove a Database:
189
230
 
190
231
  ## License
191
232
 
192
- Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
193
-
194
- This file is part of ronin.
233
+ Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
195
234
 
196
235
  Ronin is free software: you can redistribute it and/or modify
197
236
  it under the terms of the GNU General Public License as published by
@@ -206,40 +245,38 @@ GNU General Public License for more details.
206
245
  You should have received a copy of the GNU General Public License
207
246
  along with Ronin. If not, see <https://www.gnu.org/licenses/>.
208
247
 
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
248
+ [website]: https://ronin-rb.dev/
249
+ [ronin-rb]: https://github.com/ronin-rb/
219
250
 
220
- [svn]: https://subversion.apache.org/
221
- [hg]: https://www.mercurial-scm.org/
251
+ [gcc]: http://gcc.gnu.org/
252
+ [clang]: http://clang.llvm.org/
222
253
  [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
254
+ [make]: https://www.gnu.org/software/automake/
255
+ [libxml2]: https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home
256
+ [libxslt]: http://xmlsoft.org/libxslt/index.html
257
+ [libsqlite3]: https://www.sqlite.org/index.html
258
+ [Ruby]: https://www.ruby-lang.org
235
259
  [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
260
+ [rouge]: https://github.com/rouge-ruby/rouge#readme
261
+ [async-io]: https://github.com/socketry/async-io#readme
262
+ [wordlist]: https://github.com/postmodern/wordlist.rb#readme
263
+
245
264
  [ronin-support]: https://github.com/ronin-rb/ronin-support#readme
265
+ [ronin-repos]: https://github.com/ronin-rb/ronin-repos#readme
266
+ [ronin-repos-synopsis]: https://github.com/ronin-rb/ronin-repos#synopsis
267
+ [ronin-core]: https://github.com/ronin-rb/ronin-core#readme
268
+ [ronin-db]: https://github.com/ronin-rb/ronin-db#readme
269
+ [ronin-db-synopsis]: https://github.com/ronin-rb/ronin-db#synopsis
270
+ [ronin-fuzzer]: https://github.com/ronin-rb/ronin-fuzzer#readme
271
+ [ronin-web]: https://github.com/ronin-rb/ronin-web#readme
272
+ [ronin-web-server]: https://github.com/ronin-rb/ronin-web-server#readme
273
+ [ronin-web-spider]: https://github.com/ronin-rb/ronin-web-spider#readme
274
+ [ronin-web-user_agents]: https://github.com/ronin-rb/ronin-web-user_agents#readme
275
+ [ronin-code-asm]: https://github.com/ronin-rb/ronin-code-asm#readme
276
+ [ronin-code-sql]: https://github.com/ronin-rb/ronin-code-sql#readme
277
+ [ronin-payloads]: https://github.com/ronin-rb/ronin-payloads#readme
278
+ [ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme
279
+ [ronin-exploits-synopsis]: https://github.com/ronin-rb/ronin-exploits#synopsis
280
+ [ronin-exploits-examples]: https://github.com/ronin-rb/ronin-exploits#examples
281
+ [ronin-vulns]: https://github.com/ronin-rb/ronin-vulns#readme
282
+ [ronin-vulns-synopsis]: https://github.com/ronin-rb/ronin-vulns#synopsis
data/Rakefile CHANGED
@@ -19,65 +19,18 @@ end
19
19
  require 'rake'
20
20
 
21
21
  require 'rubygems/tasks'
22
- Gem::Tasks.new(:sign => {:checksum => true, :pgp => true}) do |tasks|
23
- tasks.console.command = 'ripl'
24
- tasks.console.options = %w[
25
- -rripl/multi_line
26
- -rripl/auto_indent
27
- -rripl/color_result
28
- ]
29
- end
22
+ Gem::Tasks.new(sign: {checksum: true, pgp: true})
30
23
 
31
24
  require 'rspec/core/rake_task'
32
25
  RSpec::Core::RakeTask.new
33
- task :test => :spec
26
+ task :test => :spec
34
27
  task :default => :spec
35
28
 
36
- require 'dm-visualizer/rake/graphviz_task'
37
- DataMapper::Visualizer::Rake::GraphVizTask.new(
38
- :include => %w[lib],
39
- :require => %w[
40
- ronin/arch
41
- ronin/address
42
- ronin/author
43
- ronin/campaign
44
- ronin/credential
45
- ronin/email_address
46
- ronin/host_name_ip_address
47
- ronin/host_name
48
- ronin/ip_address_mac_address
49
- ronin/ip_address
50
- ronin/license
51
- ronin/mac_address
52
- ronin/open_port
53
- ronin/organization
54
- ronin/os_guess
55
- ronin/os
56
- ronin/script/path
57
- ronin/repository
58
- ronin/port
59
- ronin/service
60
- ronin/service_credential
61
- ronin/web_credential
62
- ronin/software
63
- ronin/vendor
64
- ronin/target
65
- ronin/tcp_port
66
- ronin/udp_port
67
- ronin/url_scheme
68
- ronin/url_query_param_name
69
- ronin/url_query_param
70
- ronin/url
71
- ronin/user_name
72
- ronin/password
73
- ]
74
- )
75
-
76
29
  require 'yard'
77
30
  YARD::Rake::YardocTask.new
78
31
 
79
32
  desc "Generates all documentation"
80
- task :docs => [:yard, 'dm:doc:graphviz']
33
+ task :docs => [:yard]
81
34
 
82
35
  require 'kramdown/man/task'
83
36
  Kramdown::Man::Task.new
data/bin/ronin CHANGED
@@ -15,6 +15,5 @@ if File.file?(File.join(root,'Gemfile.lock'))
15
15
  end
16
16
  end
17
17
 
18
- require 'ronin/ui/cli'
19
-
20
- Ronin::UI::CLI.start
18
+ require 'ronin/cli'
19
+ Ronin::CLI.start
@@ -0,0 +1,15 @@
1
+ /Gemfile.lock
2
+ /vendor/bundle
3
+ /.bundle
4
+ .DS_Store
5
+ *.db
6
+ *.log
7
+ *.swp
8
+ *~
9
+ *.sqlite3
10
+ *.db
11
+ *.gz
12
+ *.bz2
13
+ *.xz
14
+ *.tar
15
+ *.zip
@@ -0,0 +1 @@
1
+ <%= @ruby_version -%>
@@ -0,0 +1,9 @@
1
+ FROM ruby:<%= @ruby_version -%>
2
+
3
+ RUN apt-get update -qq -y && gem update bundler
4
+
5
+ WORKDIR /app
6
+ COPY . /app
7
+ RUN bundle install
8
+
9
+ CMD ["/app/<%= @project_name -%>.rb"]