ronin 1.5.1 → 2.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (499) 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 +147 -178
  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 +73 -57
  87. data/lib/ronin/cli/char_set_options.rb +181 -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 +183 -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 +138 -0
  105. data/lib/ronin/cli/commands/grep.rb +238 -0
  106. data/lib/ronin/cli/commands/hexdump.rb +475 -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 +305 -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 +118 -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 +118 -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/file_processor_command.rb +94 -0
  138. data/lib/ronin/cli/http_shell.rb +362 -0
  139. data/lib/ronin/cli/key_options.rb +61 -0
  140. data/lib/ronin/cli/method_options.rb +71 -0
  141. data/lib/ronin/cli/pattern_options.rb +343 -0
  142. data/lib/ronin/cli/printing/http.rb +153 -0
  143. data/lib/ronin/cli/printing/syntax_highlighting.rb +96 -0
  144. data/lib/ronin/{ui/cli/commands.rb → cli/string_methods_command.rb} +23 -12
  145. data/lib/ronin/cli/string_processor_command.rb +185 -0
  146. data/lib/ronin/cli/typo_options.rb +80 -0
  147. data/lib/ronin/cli/value_processor_command.rb +97 -0
  148. data/lib/ronin/cli.rb +70 -0
  149. data/lib/ronin/config.rb +2 -10
  150. data/lib/ronin/{database/exceptions/invalid_config.rb → root.rb} +6 -7
  151. data/lib/ronin/ui.rb +4 -4
  152. data/lib/ronin/version.rb +3 -4
  153. data/lib/ronin.rb +9 -5
  154. data/man/ronin-asn.1 +124 -0
  155. data/man/ronin-asn.1.md +86 -0
  156. data/man/ronin-banner-grab.1 +45 -0
  157. data/man/ronin-banner-grab.1.md +33 -0
  158. data/man/ronin-bitflip.1 +123 -0
  159. data/man/ronin-bitflip.1.md +92 -0
  160. data/man/ronin-cert-dump.1 +99 -0
  161. data/man/ronin-cert-dump.1.md +68 -0
  162. data/man/ronin-cert-gen.1 +144 -0
  163. data/man/ronin-cert-gen.1.md +104 -0
  164. data/man/ronin-cert-grab.1 +68 -0
  165. data/man/ronin-cert-grab.1.md +47 -0
  166. data/man/ronin-decode.1 +103 -0
  167. data/man/ronin-decode.1.md +77 -0
  168. data/man/ronin-decrypt.1 +75 -0
  169. data/man/ronin-decrypt.1.md +56 -0
  170. data/man/ronin-dns.1 +45 -0
  171. data/man/ronin-dns.1.md +33 -0
  172. data/man/ronin-email-addr.1 +76 -0
  173. data/man/ronin-email-addr.1.md +54 -0
  174. data/man/ronin-encode.1 +103 -0
  175. data/man/ronin-encode.1.md +77 -0
  176. data/man/ronin-encrypt.1 +75 -0
  177. data/man/ronin-encrypt.1.md +56 -0
  178. data/man/ronin-entropy.1 +43 -0
  179. data/man/ronin-entropy.1.md +32 -0
  180. data/man/ronin-escape.1 +94 -0
  181. data/man/ronin-escape.1.md +70 -0
  182. data/man/ronin-extract.1 +263 -0
  183. data/man/ronin-extract.1.md +197 -0
  184. data/man/ronin-grep.1 +275 -0
  185. data/man/ronin-grep.1.md +206 -0
  186. data/man/ronin-help.1 +3 -15
  187. data/man/ronin-help.1.md +3 -12
  188. data/man/ronin-hexdump.1 +323 -0
  189. data/man/ronin-hexdump.1.md +197 -0
  190. data/man/ronin-highlight.1 +42 -0
  191. data/man/ronin-highlight.1.md +31 -0
  192. data/man/ronin-hmac.1 +66 -0
  193. data/man/ronin-hmac.1.md +49 -0
  194. data/man/ronin-homoglyph.1 +49 -0
  195. data/man/ronin-homoglyph.1.md +36 -0
  196. data/man/ronin-host.1 +99 -0
  197. data/man/ronin-host.1.md +74 -0
  198. data/man/ronin-http.1 +141 -0
  199. data/man/ronin-http.1.md +105 -0
  200. data/man/ronin-ip.1 +145 -0
  201. data/man/ronin-ip.1.md +103 -0
  202. data/man/ronin-iprange.1 +46 -0
  203. data/man/ronin-iprange.1.md +34 -0
  204. data/man/ronin-irb.1 +35 -0
  205. data/man/ronin-irb.1.md +25 -0
  206. data/man/ronin-md5.1 +54 -0
  207. data/man/ronin-md5.1.md +40 -0
  208. data/man/ronin-netcat.1 +110 -0
  209. data/man/ronin-netcat.1.md +82 -0
  210. data/man/ronin-new-project.1 +54 -0
  211. data/man/ronin-new-project.1.md +40 -0
  212. data/man/ronin-new-script.1 +37 -0
  213. data/man/ronin-new-script.1.md +27 -0
  214. data/man/ronin-new.1 +51 -0
  215. data/man/ronin-new.1.md +38 -0
  216. data/man/{ronin-net-proxy.1 → ronin-proxy.1} +45 -37
  217. data/man/{ronin-net-proxy.1.md → ronin-proxy.1.md} +39 -32
  218. data/man/ronin-public-suffix-list.1 +55 -0
  219. data/man/ronin-public-suffix-list.1.md +41 -0
  220. data/man/ronin-quote.1 +78 -0
  221. data/man/ronin-quote.1.md +58 -0
  222. data/man/ronin-rot.1 +62 -0
  223. data/man/ronin-rot.1.md +46 -0
  224. data/man/ronin-sha1.1 +54 -0
  225. data/man/ronin-sha1.1.md +40 -0
  226. data/man/ronin-sha256.1 +54 -0
  227. data/man/ronin-sha256.1.md +40 -0
  228. data/man/ronin-sha512.1 +54 -0
  229. data/man/ronin-sha512.1.md +40 -0
  230. data/man/ronin-strings.1 +115 -0
  231. data/man/ronin-strings.1.md +86 -0
  232. data/man/ronin-tips.1 +35 -0
  233. data/man/ronin-tips.1.md +25 -0
  234. data/man/ronin-tld-list.1 +55 -0
  235. data/man/ronin-tld-list.1.md +41 -0
  236. data/man/ronin-typo.1 +61 -0
  237. data/man/ronin-typo.1.md +45 -0
  238. data/man/ronin-typosquat.1 +65 -0
  239. data/man/ronin-typosquat.1.md +48 -0
  240. data/man/ronin-unescape.1 +94 -0
  241. data/man/ronin-unescape.1.md +70 -0
  242. data/man/ronin-unhexdump.1 +187 -0
  243. data/man/ronin-unhexdump.1.md +107 -0
  244. data/man/ronin-unquote.1 +78 -0
  245. data/man/ronin-unquote.1.md +58 -0
  246. data/man/ronin-url.1 +85 -0
  247. data/man/ronin-url.1.md +63 -0
  248. data/man/ronin-xor.1 +62 -0
  249. data/man/ronin-xor.1.md +46 -0
  250. data/man/ronin.1 +25 -6
  251. data/man/ronin.1.md +20 -5
  252. data/ronin.gemspec +1 -1
  253. data/spec/cli/command_spec.rb +10 -0
  254. data/spec/cli/commands/decode_spec.rb +152 -0
  255. data/spec/cli/commands/encode_spec.rb +152 -0
  256. data/spec/cli/commands/escape_spec.rb +128 -0
  257. data/spec/cli/commands/quote_spec.rb +76 -0
  258. data/spec/cli/commands/unescape_spec.rb +128 -0
  259. data/spec/cli/commands/unquote_spec.rb +80 -0
  260. data/spec/cli/fixtures/file.txt +3 -0
  261. data/spec/cli/fixtures/file2.txt +3 -0
  262. data/spec/cli/key_options_spec.rb +56 -0
  263. data/spec/cli/method_options_spec.rb +71 -0
  264. data/spec/cli/string_methods_command_spec.rb +25 -0
  265. data/spec/cli/string_processor_command_spec.rb +258 -0
  266. data/spec/cli/value_processor_command_spec.rb +127 -0
  267. data/spec/spec_helper.rb +2 -57
  268. data/spec/version_spec.rb +11 -0
  269. metadata +301 -455
  270. data/bin/ronin-campaigns +0 -20
  271. data/bin/ronin-console +0 -20
  272. data/bin/ronin-creds +0 -20
  273. data/bin/ronin-database +0 -20
  274. data/bin/ronin-emails +0 -20
  275. data/bin/ronin-exec +0 -20
  276. data/bin/ronin-fuzzer +0 -20
  277. data/bin/ronin-help +0 -20
  278. data/bin/ronin-hosts +0 -20
  279. data/bin/ronin-install +0 -20
  280. data/bin/ronin-ips +0 -20
  281. data/bin/ronin-net-proxy +0 -20
  282. data/bin/ronin-repos +0 -20
  283. data/bin/ronin-uninstall +0 -20
  284. data/bin/ronin-update +0 -20
  285. data/bin/ronin-urls +0 -20
  286. data/bin/ronin-wordlist +0 -20
  287. data/lib/bond/completions/ronin.rb +0 -154
  288. data/lib/ronin/address.rb +0 -124
  289. data/lib/ronin/arch.rb +0 -136
  290. data/lib/ronin/author.rb +0 -66
  291. data/lib/ronin/auto_load.rb +0 -91
  292. data/lib/ronin/bootstrap.rb +0 -27
  293. data/lib/ronin/campaign.rb +0 -129
  294. data/lib/ronin/credential.rb +0 -119
  295. data/lib/ronin/database/database.rb +0 -325
  296. data/lib/ronin/database/exceptions/unknown_repository.rb +0 -25
  297. data/lib/ronin/database/exceptions.rb +0 -21
  298. data/lib/ronin/database/migrations/1.0.0.rb +0 -569
  299. data/lib/ronin/database/migrations/1.1.0.rb +0 -125
  300. data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +0 -29
  301. data/lib/ronin/database/migrations/exceptions/unknown_migration.rb +0 -27
  302. data/lib/ronin/database/migrations/exceptions.rb +0 -21
  303. data/lib/ronin/database/migrations/graph.rb +0 -300
  304. data/lib/ronin/database/migrations/migration.rb +0 -66
  305. data/lib/ronin/database/migrations/migrations.rb +0 -185
  306. data/lib/ronin/database/migrations.rb +0 -22
  307. data/lib/ronin/database.rb +0 -21
  308. data/lib/ronin/email_address.rb +0 -257
  309. data/lib/ronin/environment.rb +0 -30
  310. data/lib/ronin/exceptions/duplicate_repository.rb +0 -23
  311. data/lib/ronin/exceptions/repository_not_found.rb +0 -23
  312. data/lib/ronin/exceptions.rb +0 -21
  313. data/lib/ronin/host_name.rb +0 -271
  314. data/lib/ronin/host_name_ip_address.rb +0 -45
  315. data/lib/ronin/installation.rb +0 -225
  316. data/lib/ronin/ip_address.rb +0 -348
  317. data/lib/ronin/ip_address_mac_address.rb +0 -45
  318. data/lib/ronin/license.rb +0 -121
  319. data/lib/ronin/mac_address.rb +0 -111
  320. data/lib/ronin/model/has_authors.rb +0 -111
  321. data/lib/ronin/model/has_description.rb +0 -73
  322. data/lib/ronin/model/has_license.rb +0 -129
  323. data/lib/ronin/model/has_name.rb +0 -91
  324. data/lib/ronin/model/has_title.rb +0 -71
  325. data/lib/ronin/model/has_unique_name.rb +0 -127
  326. data/lib/ronin/model/has_version.rb +0 -77
  327. data/lib/ronin/model/importable.rb +0 -65
  328. data/lib/ronin/model/model.rb +0 -165
  329. data/lib/ronin/model/types/description.rb +0 -60
  330. data/lib/ronin/model/types.rb +0 -20
  331. data/lib/ronin/model.rb +0 -20
  332. data/lib/ronin/open_port.rb +0 -112
  333. data/lib/ronin/organization.rb +0 -46
  334. data/lib/ronin/os.rb +0 -157
  335. data/lib/ronin/os_guess.rb +0 -45
  336. data/lib/ronin/password.rb +0 -165
  337. data/lib/ronin/port.rb +0 -126
  338. data/lib/ronin/repositories.rb +0 -23
  339. data/lib/ronin/repository.rb +0 -771
  340. data/lib/ronin/ronin.rb +0 -43
  341. data/lib/ronin/script/buildable.rb +0 -156
  342. data/lib/ronin/script/deployable.rb +0 -202
  343. data/lib/ronin/script/exceptions/deploy_failed.rb +0 -27
  344. data/lib/ronin/script/exceptions/exception.rb +0 -25
  345. data/lib/ronin/script/exceptions/not_built.rb +0 -27
  346. data/lib/ronin/script/exceptions/test_failed.rb +0 -27
  347. data/lib/ronin/script/exceptions.rb +0 -24
  348. data/lib/ronin/script/path.rb +0 -293
  349. data/lib/ronin/script/script.rb +0 -384
  350. data/lib/ronin/script/testable.rb +0 -365
  351. data/lib/ronin/script.rb +0 -21
  352. data/lib/ronin/service.rb +0 -39
  353. data/lib/ronin/service_credential.rb +0 -31
  354. data/lib/ronin/software.rb +0 -55
  355. data/lib/ronin/spec/database.rb +0 -56
  356. data/lib/ronin/target.rb +0 -66
  357. data/lib/ronin/tcp_port.rb +0 -36
  358. data/lib/ronin/udp_port.rb +0 -32
  359. data/lib/ronin/ui/cli/class_command.rb +0 -137
  360. data/lib/ronin/ui/cli/cli.rb +0 -148
  361. data/lib/ronin/ui/cli/command.rb +0 -649
  362. data/lib/ronin/ui/cli/commands/campaigns.rb +0 -165
  363. data/lib/ronin/ui/cli/commands/console.rb +0 -106
  364. data/lib/ronin/ui/cli/commands/creds.rb +0 -108
  365. data/lib/ronin/ui/cli/commands/database.rb +0 -204
  366. data/lib/ronin/ui/cli/commands/emails.rb +0 -86
  367. data/lib/ronin/ui/cli/commands/exec.rb +0 -127
  368. data/lib/ronin/ui/cli/commands/fuzzer.rb +0 -306
  369. data/lib/ronin/ui/cli/commands/help.rb +0 -87
  370. data/lib/ronin/ui/cli/commands/hosts.rb +0 -177
  371. data/lib/ronin/ui/cli/commands/install.rb +0 -136
  372. data/lib/ronin/ui/cli/commands/ips.rb +0 -178
  373. data/lib/ronin/ui/cli/commands/net/proxy.rb +0 -411
  374. data/lib/ronin/ui/cli/commands/repos.rb +0 -164
  375. data/lib/ronin/ui/cli/commands/uninstall.rb +0 -90
  376. data/lib/ronin/ui/cli/commands/update.rb +0 -125
  377. data/lib/ronin/ui/cli/commands/urls.rb +0 -141
  378. data/lib/ronin/ui/cli/commands/wordlist.rb +0 -181
  379. data/lib/ronin/ui/cli/exceptions/unknown_command.rb +0 -27
  380. data/lib/ronin/ui/cli/exceptions.rb +0 -20
  381. data/lib/ronin/ui/cli/model_command.rb +0 -182
  382. data/lib/ronin/ui/cli/printing.rb +0 -167
  383. data/lib/ronin/ui/cli/resources_command.rb +0 -117
  384. data/lib/ronin/ui/cli/script_command.rb +0 -212
  385. data/lib/ronin/ui/cli.rb +0 -21
  386. data/lib/ronin/ui/console/commands.rb +0 -86
  387. data/lib/ronin/ui/console/console.rb +0 -215
  388. data/lib/ronin/ui/console/context.rb +0 -106
  389. data/lib/ronin/ui/console/shell.rb +0 -184
  390. data/lib/ronin/ui/console.rb +0 -22
  391. data/lib/ronin/url.rb +0 -546
  392. data/lib/ronin/url_query_param.rb +0 -73
  393. data/lib/ronin/url_query_param_name.rb +0 -89
  394. data/lib/ronin/url_scheme.rb +0 -53
  395. data/lib/ronin/user_name.rb +0 -47
  396. data/lib/ronin/vendor.rb +0 -39
  397. data/lib/ronin/web_credential.rb +0 -76
  398. data/man/ronin-campaigns.1 +0 -105
  399. data/man/ronin-campaigns.1.md +0 -78
  400. data/man/ronin-console.1 +0 -96
  401. data/man/ronin-console.1.md +0 -72
  402. data/man/ronin-creds.1 +0 -89
  403. data/man/ronin-creds.1.md +0 -66
  404. data/man/ronin-database.1 +0 -111
  405. data/man/ronin-database.1.md +0 -82
  406. data/man/ronin-emails.1 +0 -97
  407. data/man/ronin-emails.1.md +0 -72
  408. data/man/ronin-exec.1 +0 -65
  409. data/man/ronin-exec.1.md +0 -49
  410. data/man/ronin-fuzzer.1 +0 -95
  411. data/man/ronin-fuzzer.1.md +0 -73
  412. data/man/ronin-hosts.1 +0 -105
  413. data/man/ronin-hosts.1.md +0 -78
  414. data/man/ronin-install.1 +0 -104
  415. data/man/ronin-install.1.md +0 -79
  416. data/man/ronin-ips.1 +0 -109
  417. data/man/ronin-ips.1.md +0 -81
  418. data/man/ronin-repos.1 +0 -102
  419. data/man/ronin-repos.1.md +0 -77
  420. data/man/ronin-uninstall.1 +0 -88
  421. data/man/ronin-uninstall.1.md +0 -67
  422. data/man/ronin-update.1 +0 -88
  423. data/man/ronin-update.1.md +0 -67
  424. data/man/ronin-urls.1 +0 -113
  425. data/man/ronin-urls.1.md +0 -84
  426. data/man/ronin-wordlist.1 +0 -71
  427. data/man/ronin-wordlist.1.md +0 -54
  428. data/spec/arch_spec.rb +0 -77
  429. data/spec/author_spec.rb +0 -26
  430. data/spec/campaign_spec.rb +0 -13
  431. data/spec/classes/my_script.rb +0 -21
  432. data/spec/credential_spec.rb +0 -29
  433. data/spec/database_spec.rb +0 -28
  434. data/spec/email_address_spec.rb +0 -83
  435. data/spec/helpers/repos/installed/ronin.yml +0 -7
  436. data/spec/helpers/repos/installed/scripts/.keep +0 -0
  437. data/spec/helpers/repos/local/lib/init.rb +0 -1
  438. data/spec/helpers/repos/local/lib/stuff/another_test.rb +0 -6
  439. data/spec/helpers/repos/local/lib/stuff/test.rb +0 -4
  440. data/spec/helpers/repos/local/ronin.yml +0 -7
  441. data/spec/helpers/repos/local/scripts/.keep +0 -0
  442. data/spec/helpers/repos/remote/ronin.yml +0 -7
  443. data/spec/helpers/repos/remote/scripts/.keep +0 -0
  444. data/spec/helpers/repos/scripts/ronin.yml +0 -7
  445. data/spec/helpers/repos/scripts/scripts/cached/cached.rb +0 -10
  446. data/spec/helpers/repos/scripts/scripts/cached/missing.rb +0 -10
  447. data/spec/helpers/repos/scripts/scripts/cached/modified.rb +0 -10
  448. data/spec/helpers/repos/scripts/scripts/cached/unmodified.rb +0 -10
  449. data/spec/helpers/repos/scripts/scripts/failures/exceptions.rb +0 -11
  450. data/spec/helpers/repos/scripts/scripts/failures/load_errors.rb +0 -11
  451. data/spec/helpers/repos/scripts/scripts/failures/name_errors.rb +0 -8
  452. data/spec/helpers/repos/scripts/scripts/failures/no_method_errors.rb +0 -10
  453. data/spec/helpers/repos/scripts/scripts/failures/syntax_errors.rb +0 -11
  454. data/spec/helpers/repos/scripts/scripts/failures/validation_errors.rb +0 -11
  455. data/spec/helpers/repos/scripts/scripts/my_scripts/test.rb +0 -16
  456. data/spec/helpers/repositories.rb +0 -11
  457. data/spec/host_name_spec.rb +0 -92
  458. data/spec/installation_spec.rb +0 -40
  459. data/spec/ip_address_spec.rb +0 -109
  460. data/spec/license_spec.rb +0 -25
  461. data/spec/mac_address_spec.rb +0 -47
  462. data/spec/model/has_authors_spec.rb +0 -79
  463. data/spec/model/has_description_spec.rb +0 -76
  464. data/spec/model/has_license_spec.rb +0 -73
  465. data/spec/model/has_name_spec.rb +0 -54
  466. data/spec/model/has_title_spec.rb +0 -42
  467. data/spec/model/has_version_spec.rb +0 -87
  468. data/spec/model/model_spec.rb +0 -98
  469. data/spec/model/models/authored_model.rb +0 -11
  470. data/spec/model/models/base_model.rb +0 -13
  471. data/spec/model/models/described_model.rb +0 -9
  472. data/spec/model/models/inherited_model.rb +0 -16
  473. data/spec/model/models/licensed_model.rb +0 -11
  474. data/spec/model/models/named_model.rb +0 -9
  475. data/spec/model/models/titled_model.rb +0 -9
  476. data/spec/model/models/versioned_model.rb +0 -11
  477. data/spec/os_spec.rb +0 -48
  478. data/spec/password_spec.rb +0 -47
  479. data/spec/port_spec.rb +0 -51
  480. data/spec/repository_spec.rb +0 -270
  481. data/spec/ronin_spec.rb +0 -25
  482. data/spec/script/buildable_spec.rb +0 -51
  483. data/spec/script/classes/buildable_class.rb +0 -15
  484. data/spec/script/classes/deployable_class.rb +0 -13
  485. data/spec/script/classes/script_class.rb +0 -19
  486. data/spec/script/classes/testable_class.rb +0 -19
  487. data/spec/script/deployable_spec.rb +0 -55
  488. data/spec/script/path_spec.rb +0 -185
  489. data/spec/script/script_spec.rb +0 -128
  490. data/spec/script/testable_spec.rb +0 -117
  491. data/spec/service_spec.rb +0 -24
  492. data/spec/software_spec.rb +0 -46
  493. data/spec/ui/cli/classes/test_command.rb +0 -26
  494. data/spec/ui/cli/cli_spec.rb +0 -34
  495. data/spec/ui/cli/command_spec.rb +0 -291
  496. data/spec/url_query_param_spec.rb +0 -41
  497. data/spec/url_scheme_spec.rb +0 -21
  498. data/spec/url_spec.rb +0 -179
  499. 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,163 @@
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][ronin-rb] is a [Ruby] toolkit for security research and development.
98
17
 
99
- ## Synopsis
100
-
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
112
-
113
- View a man-page for a command:
114
-
115
- $ ronin help wordlist
18
+ ### Who is Ronin for?
116
19
 
117
- Install a Repository:
20
+ * CTF players
21
+ * Bug bounty hunters
22
+ * Security Researchers
23
+ * Security Engineers
24
+ * Developers
25
+ * Students
118
26
 
119
- $ ronin install svn://example.com/path/to/repo
27
+ ### What does Ronin provide?
120
28
 
121
- List installed Repositories:
29
+ * A toolkit of useful commands.
30
+ * A fully-loaded Ruby REPL.
31
+ * An ecosystem of high-quality security related Ruby libraries, API, and
32
+ commands.
122
33
 
123
- $ ronin repos
34
+ ### What can you do with Ronin?
124
35
 
125
- Update all installed Repositories:
36
+ * Quickly process and query various data using the `ronin` commands.
37
+ * Efficiently work with code and data in the `ronin irb` Ruby REPL.
38
+ * Rapidly prototype Ruby scripts using [ronin-support] and other `ronin`
39
+ libraries.
40
+ * Install 3rd-party [git] repositories of exploits, payloads, or other code,
41
+ using [ronin-repos].
42
+ * Import and query data using the [ronin-db] database.
43
+ * Fuzz data using [ronin-fuzzer].
44
+ * Use common payloads or write your own using [ronin-payloads].
45
+ * Write/run exploits using [ronin-exploits].
46
+ * Scan for web vulnerabilities using [ronin-vulns].
126
47
 
127
- $ ronin update
128
-
129
- Update a specific Repositories:
130
-
131
- $ ronin update repo-name
132
-
133
- Uninstall a specific Repositories:
48
+ ## Synopsis
134
49
 
135
- $ ronin uninstall repo-name
50
+ ```
51
+ Usage: ronin [options] [COMMAND [ARGS...]]
52
+
53
+ Options:
54
+ -h, --help Print help information
55
+
56
+ Arguments:
57
+ [COMMAND] The command name to run
58
+ [ARGS ...] Additional arguments for the command
59
+
60
+ Commands:
61
+ asn
62
+ banner-grab
63
+ bitflip
64
+ cert-dump
65
+ cert-gen
66
+ cert-grab
67
+ decode, dec
68
+ decrypt
69
+ dns
70
+ email-addr
71
+ encode, enc
72
+ encrypt
73
+ entropy
74
+ escape
75
+ extract
76
+ grep
77
+ help
78
+ hexdump
79
+ highlight
80
+ hmac
81
+ homoglyph
82
+ host
83
+ http
84
+ ip
85
+ iprange
86
+ irb
87
+ md5
88
+ netcat, nc
89
+ new
90
+ proxy
91
+ public-suffix-list
92
+ quote
93
+ rot
94
+ sha1
95
+ sha256
96
+ sha512
97
+ strings
98
+ tld-list
99
+ tips
100
+ typo
101
+ typosquat
102
+ unescape
103
+ unhexdump
104
+ unquote
105
+ url
106
+ xor
107
+
108
+ Additional Ronin Commands:
109
+ $ ronin-repos
110
+ $ ronin-db
111
+ $ ronin-web
112
+ $ ronin-fuzzer
113
+ $ ronin-payloads
114
+ $ ronin-exploits
115
+ $ ronin-vulns
116
+ ```
117
+
118
+ List ronin commands:
119
+
120
+ ```shell
121
+ $ ronin help
122
+ ```
136
123
 
137
- List available Databases:
124
+ View a man-page for a command:
138
125
 
139
- $ ronin database
126
+ ```shell
127
+ $ ronin help COMMAND
128
+ ```
140
129
 
141
- Add a new Database:
130
+ Get a random tip on how to use `ronin`:
142
131
 
143
- $ ronin database --add team --uri mysql://user:pass@vpn.example.com/db
132
+ ```shell
133
+ $ ronin tips
134
+ ```
144
135
 
145
- Remove a Database:
136
+ Open the Ronin Ruby REPL:
146
137
 
147
- $ ronin database --remove team
138
+ ```shell
139
+ $ ronin irb
140
+ ```
148
141
 
149
142
  ## Requirements
150
143
 
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
144
+ * [Ruby] >= 3.0.0
163
145
  * [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
146
+ * [rouge] ~> 3.0
147
+ * [async-io] ~> 1.0
148
+ * [wordlist] ~> 1.0
149
+ * [ronin-support] ~> 1.0
150
+ * [ronin-core] ~> 0.1
151
+ * [ronin-repos] ~> 0.1
152
+ * [ronin-db] ~> 0.1
153
+ * [ronin-fuzzer] ~> 0.1
154
+ * [ronin-web] ~> 1.0
155
+ * [ronin-code-asm] ~> 1.0
156
+ * [ronin-code-sql] ~> 2.0
157
+ * [ronin-payloads] ~> 0.1
158
+ * [ronin-exploits] ~> 1.0
159
+ * [ronin-vulns] ~> 0.1
174
160
 
175
161
  ## Install
176
162
 
177
- $ gem install ronin
163
+ ```shell
164
+ $ gem install ronin
165
+ ```
178
166
 
179
167
  ## Development
180
168
 
@@ -189,9 +177,7 @@ Remove a Database:
189
177
 
190
178
  ## License
191
179
 
192
- Copyright (c) 2006-2021 Hal Brodigan (postmodern.mod3 at gmail.com)
193
-
194
- This file is part of ronin.
180
+ Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com)
195
181
 
196
182
  Ronin is free software: you can redistribute it and/or modify
197
183
  it under the terms of the GNU General Public License as published by
@@ -206,40 +192,23 @@ GNU General Public License for more details.
206
192
  You should have received a copy of the GNU General Public License
207
193
  along with Ronin. If not, see <https://www.gnu.org/licenses/>.
208
194
 
195
+ [ronin-rb]: https://ronin-rb.dev/
209
196
  [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
197
+ [open_namespace]: https://github.com/postmodern/open_namespace#readme
198
+ [rouge]: https://github.com/rouge-ruby/rouge#readme
199
+ [async-io]: https://github.com/socketry/async-io#readme
200
+ [wordlist]: https://github.com/postmodern/wordlist.rb#readme
215
201
 
216
202
  [ronin-support]: https://github.com/ronin-rb/ronin-support#readme
203
+ [ronin-repos]: https://github.com/ronin-rb/ronin-repos#readme
204
+ [ronin-core]: https://github.com/ronin-rb/ronin-core#readme
205
+ [ronin-db]: https://github.com/ronin-rb/ronin-db#readme
206
+ [ronin-fuzzer]: https://github.com/ronin-rb/ronin-fuzzer#readme
207
+ [ronin-web]: https://github.com/ronin-rb/ronin-web#readme
208
+ [ronin-code-asm]: https://github.com/ronin-rb/ronin-code-asm#readme
209
+ [ronin-code-sql]: https://github.com/ronin-rb/ronin-code-sql#readme
210
+ [ronin-payloads]: https://github.com/ronin-rb/ronin-payloads#readme
217
211
  [ronin-exploits]: https://github.com/ronin-rb/ronin-exploits#readme
218
- [ronin-scanners]: https://github.com/ronin-rb/ronin-scanners#readme
212
+ [ronin-vulns]: https://github.com/ronin-rb/ronin-vulns#readme
219
213
 
220
- [svn]: https://subversion.apache.org/
221
- [hg]: https://www.mercurial-scm.org/
222
214
  [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
235
- [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
245
- [ronin-support]: https://github.com/ronin-rb/ronin-support#readme
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"]
@@ -0,0 +1,16 @@
1
+ source 'https://rubygems.org'
2
+
3
+ <%- if options[:rakefile] -%>
4
+ gem 'rake'
5
+
6
+ <%- end -%>
7
+ gem 'ronin-support', '~> 1.0' #, github: 'ronin-rb/ronin-support'
8
+
9
+ # gem 'ronin-code-asm', '~> 0.3' #, github: 'ronin-rb/ronin-code-asm'
10
+ # gem 'ronin-code-sql', '~> 1.2' #, github: 'ronin-rb/ronin-code-sql'
11
+ # gem 'ronin-db', '~> 0.1' #, github: 'ronin-rb/ronin-db'
12
+ # gem 'ronin-web-server', '~> 0.1' #, github: 'ronin-rb/ronin-web-server'
13
+ # gem 'ronin-web-spider', '~> 0.1' #, github: 'ronin-rb/ronin-web-spider'
14
+ # gem 'ronin-web-user_agents', '~> 0.1' #, github: 'ronin-rb/ronin-web-user_agents'
15
+ # gem 'ronin-payloads', '~> 0.1' #, github: 'ronin-rb/ronin-payloads'
16
+ # gem 'ronin-exploits', '~> 1.0' #, github: 'ronin-rb/ronin-exploits'
@@ -0,0 +1,43 @@
1
+ require 'rake'
2
+
3
+ #
4
+ # Example rake tasks:
5
+ #
6
+ # task :foo do
7
+ # # code here
8
+ # end
9
+ #
10
+ # Namespaces:
11
+ #
12
+ # namespace :foo do
13
+ # task :bar do
14
+ # # code here
15
+ # end
16
+ #
17
+ # # other tasks ...
18
+ # end
19
+ #
20
+ # Task depenencies:
21
+ #
22
+ # task :bar => :foo
23
+ # task :bar => 'foo:bar'
24
+ #
25
+ # Arguments:
26
+ #
27
+ # task :foo, [:arg1, :arg2] do |t,args|
28
+ # puts "arg1=#{args[:arg1]}"
29
+ # puts "arg2=#{args[:arg2]}"
30
+ # end
31
+ #
32
+ # File tasks:
33
+ #
34
+ # file 'foo.txt' do
35
+ # File.open('foo.txt','w') do |file|
36
+ # # code here
37
+ # end
38
+ # end
39
+ #
40
+ # Directory tasks:
41
+ #
42
+ # directory 'dir'
43
+ #
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'bundler'
5
+ rescue LoadError => e
6
+ warn e.message
7
+ warn "Run `gem install bundler` to install Bundler"
8
+ exit -1
9
+ end
10
+
11
+ require 'ronin/support'
12
+ include Ronin::Support
13
+
14
+ # code goes here