ronin 0.3.0 → 1.0.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. data/.document +4 -0
  2. data/.rspec +1 -0
  3. data/.yardopts +5 -0
  4. data/{History.txt → ChangeLog.md} +15 -15
  5. data/Gemfile +42 -0
  6. data/README.md +224 -0
  7. data/Rakefile +65 -33
  8. data/bin/ronin +18 -5
  9. data/bin/ronin-campaigns +25 -0
  10. data/bin/ronin-console +18 -5
  11. data/bin/ronin-creds +25 -0
  12. data/bin/ronin-database +25 -0
  13. data/bin/ronin-emails +25 -0
  14. data/bin/ronin-exec +25 -0
  15. data/bin/ronin-help +18 -5
  16. data/bin/ronin-hosts +25 -0
  17. data/bin/ronin-ips +25 -0
  18. data/bin/ronin-repos +25 -0
  19. data/bin/ronin-urls +25 -0
  20. data/gemspec.yml +71 -0
  21. data/lib/ronin/address.rb +93 -0
  22. data/lib/ronin/arch.rb +30 -25
  23. data/lib/ronin/author.rb +12 -42
  24. data/lib/ronin/bootstrap.rb +26 -0
  25. data/lib/ronin/cached_file.rb +249 -0
  26. data/lib/ronin/campaign.rb +130 -0
  27. data/lib/ronin/class_methods.rb +27 -0
  28. data/lib/ronin/config.rb +23 -17
  29. data/lib/ronin/credential.rb +114 -0
  30. data/lib/ronin/database/database.rb +180 -52
  31. data/lib/ronin/database/exceptions/invalid_config.rb +2 -2
  32. data/lib/ronin/{platform/exceptions/extension_not_found.rb → database/exceptions/unknown_repository.rb} +3 -3
  33. data/lib/ronin/database/exceptions.rb +2 -1
  34. data/lib/ronin/database/migrations/create_addresses_table.rb +52 -0
  35. data/lib/ronin/database/migrations/create_arches_table.rb +44 -0
  36. data/lib/ronin/database/migrations/create_authors_table.rb +47 -0
  37. data/lib/ronin/database/migrations/create_cached_files_table.rb +47 -0
  38. data/lib/ronin/database/migrations/create_campaigns_table.rb +42 -0
  39. data/lib/ronin/database/migrations/create_countries_table.rb +44 -0
  40. data/lib/ronin/database/migrations/create_credentials_table.rb +59 -0
  41. data/lib/ronin/database/migrations/create_email_addresses_table.rb +51 -0
  42. data/lib/ronin/database/migrations/create_host_name_ip_addresses_table.rb +45 -0
  43. data/lib/ronin/database/migrations/create_ip_address_mac_addresses_table.rb +45 -0
  44. data/lib/ronin/database/migrations/create_licenses_table.rb +44 -0
  45. data/lib/ronin/database/migrations/create_open_ports_table.rb +55 -0
  46. data/lib/ronin/database/migrations/create_organizations_table.rb +47 -0
  47. data/lib/ronin/database/migrations/create_os_guesses_table.rb +45 -0
  48. data/lib/ronin/database/migrations/create_os_table.rb +43 -0
  49. data/lib/ronin/{extensions/array.rb → database/migrations/create_passwords_table.rb} +17 -23
  50. data/lib/ronin/{ui/command_line/commands/uninstall.rb → database/migrations/create_ports_table.rb} +20 -24
  51. data/lib/ronin/database/migrations/create_proxies_table.rb +55 -0
  52. data/lib/ronin/database/migrations/create_remote_files_table.rb +53 -0
  53. data/lib/ronin/database/migrations/create_repositories_table.rb +61 -0
  54. data/lib/ronin/{ui/command_line/commands/remove.rb → database/migrations/create_services_table.rb} +20 -24
  55. data/lib/ronin/database/migrations/create_softwares_table.rb +46 -0
  56. data/lib/ronin/database/migrations/create_taggings_table.rb +46 -0
  57. data/lib/ronin/database/migrations/create_tags_table.rb +42 -0
  58. data/lib/ronin/database/migrations/create_targets_table.rb +50 -0
  59. data/lib/ronin/{network/imap.rb → database/migrations/create_url_query_params_table.rb} +16 -22
  60. data/lib/ronin/database/migrations/create_url_schemes_table.rb +40 -0
  61. data/lib/ronin/database/migrations/create_urls_table.rb +61 -0
  62. data/lib/ronin/{network/pop3.rb → database/migrations/create_user_names_table.rb} +16 -21
  63. data/lib/ronin/database/migrations/create_vendors_table.rb +42 -0
  64. data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +30 -0
  65. data/lib/ronin/{network/http/exceptions/unknown_request.rb → database/migrations/exceptions/unknown_migration.rb} +4 -4
  66. data/lib/ronin/{platform → database/migrations}/exceptions.rb +3 -3
  67. data/lib/ronin/database/migrations/graph.rb +278 -0
  68. data/lib/ronin/database/migrations/migration.rb +67 -0
  69. data/lib/ronin/database/migrations/migrations.rb +186 -0
  70. data/lib/ronin/database/migrations.rb +55 -0
  71. data/lib/ronin/database.rb +2 -1
  72. data/lib/ronin/email_address.rb +133 -0
  73. data/lib/ronin/engine/buildable.rb +125 -0
  74. data/lib/ronin/engine/class_methods.rb +133 -0
  75. data/lib/ronin/engine/deployable.rb +180 -0
  76. data/lib/ronin/engine/engine.rb +69 -0
  77. data/lib/ronin/{rpc/exceptions/response_missing.rb → engine/exceptions/deploy_failed.rb} +3 -3
  78. data/lib/ronin/{rpc/exceptions/not_implemented.rb → engine/exceptions/not_built.rb} +3 -3
  79. data/lib/ronin/{platform/exceptions/overlay_cached.rb → engine/exceptions/verification_failed.rb} +3 -3
  80. data/lib/ronin/{rpc → engine}/exceptions.rb +4 -3
  81. data/lib/ronin/engine/instance_methods.rb +95 -0
  82. data/lib/ronin/engine/verifiable.rb +334 -0
  83. data/lib/ronin/{yard.rb → engine.rb} +2 -2
  84. data/lib/ronin/environment.rb +5 -14
  85. data/lib/ronin/{platform/exceptions/overlay_not_found.rb → exceptions/duplicate_repository.rb} +2 -4
  86. data/lib/ronin/exceptions/repository_not_found.rb +24 -0
  87. data/lib/ronin/{network/http/exceptions.rb → exceptions.rb} +3 -2
  88. data/lib/ronin/host_name.rb +181 -0
  89. data/lib/ronin/host_name_ip_address.rb +42 -0
  90. data/lib/ronin/installation.rb +169 -0
  91. data/lib/ronin/ip_address.rb +273 -0
  92. data/lib/ronin/ip_address_mac_address.rb +42 -0
  93. data/lib/ronin/license.rb +17 -20
  94. data/lib/ronin/mac_address.rb +68 -0
  95. data/lib/ronin/model/cacheable/cacheable.rb +280 -0
  96. data/lib/ronin/model/cacheable/class_methods.rb +61 -0
  97. data/lib/ronin/model/cacheable.rb +22 -0
  98. data/lib/ronin/{rpc/response.rb → model/class_methods.rb} +17 -21
  99. data/lib/ronin/{code/emittable.rb → model/has_authors/class_methods.rb} +27 -34
  100. data/lib/ronin/model/has_authors/has_authors.rb +63 -0
  101. data/lib/ronin/model/has_authors.rb +22 -0
  102. data/lib/ronin/model/has_description/class_methods.rb +44 -0
  103. data/lib/ronin/model/has_description/has_description.rb +42 -0
  104. data/lib/ronin/model/has_description.rb +3 -59
  105. data/lib/ronin/{network/helpers/helper.rb → model/has_license/class_methods.rb} +16 -22
  106. data/lib/ronin/model/has_license/has_license.rb +64 -0
  107. data/lib/ronin/model/has_license.rb +3 -38
  108. data/lib/ronin/model/has_name/class_methods.rb +47 -0
  109. data/lib/ronin/model/has_name/has_name.rb +53 -0
  110. data/lib/ronin/model/has_name.rb +3 -33
  111. data/lib/ronin/model/has_title/class_methods.rb +43 -0
  112. data/lib/ronin/model/has_title/has_title.rb +41 -0
  113. data/lib/ronin/model/has_title.rb +22 -0
  114. data/lib/ronin/model/has_unique_name.rb +52 -0
  115. data/lib/ronin/model/has_version/class_methods.rb +47 -0
  116. data/lib/ronin/model/has_version/has_version.rb +41 -0
  117. data/lib/ronin/model/has_version.rb +3 -37
  118. data/lib/ronin/model/model.rb +27 -32
  119. data/lib/ronin/model/types/description.rb +60 -0
  120. data/lib/ronin/{extensions/meta.rb → model/types.rb} +2 -2
  121. data/lib/ronin/model.rb +1 -1
  122. data/lib/ronin/network/mixins/esmtp.rb +152 -0
  123. data/lib/ronin/network/{helpers → mixins}/http.rb +79 -61
  124. data/lib/ronin/network/mixins/imap.rb +140 -0
  125. data/lib/ronin/network/mixins/pop3.rb +130 -0
  126. data/lib/ronin/network/mixins/smtp.rb +146 -0
  127. data/lib/ronin/network/{helpers → mixins}/tcp.rb +97 -98
  128. data/lib/ronin/network/{helpers → mixins}/telnet.rb +71 -41
  129. data/lib/ronin/network/mixins/udp.rb +210 -0
  130. data/lib/ronin/network/mixins.rb +29 -0
  131. data/lib/ronin/open_port.rb +112 -0
  132. data/lib/ronin/organization.rb +49 -0
  133. data/lib/ronin/os.rb +61 -11
  134. data/lib/ronin/os_guess.rb +42 -0
  135. data/lib/ronin/password.rb +126 -0
  136. data/lib/ronin/port.rb +71 -0
  137. data/lib/ronin/proxy.rb +179 -0
  138. data/lib/ronin/proxy_credential.rb +30 -0
  139. data/lib/ronin/remote_file.rb +150 -0
  140. data/lib/ronin/repository.rb +681 -0
  141. data/lib/ronin/ronin.rb +31 -0
  142. data/lib/ronin/service.rb +52 -0
  143. data/lib/ronin/service_credential.rb +30 -0
  144. data/lib/ronin/{product.rb → software.rb} +12 -34
  145. data/lib/ronin/spec/database.rb +42 -0
  146. data/lib/ronin/{extensions/uri/http.rb → spec/ui/output.rb} +6 -8
  147. data/lib/ronin/target.rb +78 -0
  148. data/lib/ronin/tcp_port.rb +41 -0
  149. data/lib/ronin/udp_port.rb +37 -0
  150. data/lib/ronin/ui/async_console.rb +130 -0
  151. data/lib/ronin/ui/cli/cli.rb +147 -0
  152. data/lib/ronin/ui/cli/command.rb +316 -0
  153. data/lib/ronin/ui/cli/commands/campaigns.rb +130 -0
  154. data/lib/ronin/ui/{command_line → cli}/commands/console.rb +27 -22
  155. data/lib/ronin/ui/cli/commands/creds.rb +87 -0
  156. data/lib/ronin/ui/cli/commands/database.rb +179 -0
  157. data/lib/ronin/ui/cli/commands/emails.rb +108 -0
  158. data/lib/ronin/ui/cli/commands/exec.rb +124 -0
  159. data/lib/ronin/ui/{command_line → cli}/commands/help.rb +17 -14
  160. data/lib/ronin/ui/cli/commands/hosts.rb +177 -0
  161. data/lib/ronin/ui/cli/commands/ips.rb +172 -0
  162. data/lib/ronin/ui/cli/commands/repos.rb +236 -0
  163. data/lib/ronin/ui/cli/commands/urls.rb +144 -0
  164. data/lib/ronin/ui/cli/commands.rb +37 -0
  165. data/lib/ronin/ui/cli/engine_command.rb +104 -0
  166. data/lib/ronin/ui/{command_line → cli}/exceptions/unknown_command.rb +2 -2
  167. data/lib/ronin/{formatting/digest.rb → ui/cli/exceptions.rb} +2 -2
  168. data/lib/ronin/ui/cli/model_command.rb +247 -0
  169. data/lib/ronin/{formatting/binary.rb → ui/cli.rb} +3 -2
  170. data/lib/ronin/ui/console.rb +104 -109
  171. data/lib/ronin/ui/hexdump/extensions/file.rb +1 -1
  172. data/lib/ronin/ui/hexdump/extensions/kernel.rb +1 -1
  173. data/lib/ronin/ui/hexdump/extensions.rb +1 -1
  174. data/lib/ronin/ui/hexdump/hexdump.rb +5 -3
  175. data/lib/ronin/ui/hexdump.rb +1 -1
  176. data/lib/ronin/ui/output/helpers.rb +97 -9
  177. data/lib/ronin/ui/output/output.rb +30 -54
  178. data/lib/ronin/ui/output/terminal/color.rb +97 -0
  179. data/lib/ronin/ui/output/terminal/raw.rb +91 -0
  180. data/lib/ronin/{extensions/uri.rb → ui/output/terminal.rb} +3 -2
  181. data/lib/ronin/ui/output.rb +1 -1
  182. data/lib/ronin/ui/shell.rb +55 -90
  183. data/lib/ronin/ui.rb +1 -1
  184. data/lib/ronin/url.rb +343 -0
  185. data/lib/ronin/url_query_param.rb +40 -0
  186. data/lib/ronin/url_scheme.rb +37 -0
  187. data/lib/ronin/user_name.rb +45 -0
  188. data/lib/ronin/vendor.rb +40 -0
  189. data/lib/ronin/version.rb +2 -2
  190. data/lib/ronin/web_credential.rb +32 -0
  191. data/lib/ronin.rb +2 -2
  192. data/ronin.gemspec +10 -0
  193. data/spec/arch_spec.rb +1 -2
  194. data/spec/author_spec.rb +18 -2
  195. data/spec/cached_file_spec.rb +211 -0
  196. data/spec/campaign_spec.rb +30 -0
  197. data/spec/database_spec.rb +5 -0
  198. data/spec/email_address_spec.rb +35 -0
  199. data/spec/engine/buildable_spec.rb +51 -0
  200. data/spec/engine/classes/buildable_class.rb +15 -0
  201. data/spec/engine/classes/deployable_class.rb +13 -0
  202. data/spec/engine/classes/engine_class.rb +19 -0
  203. data/spec/engine/classes/verifiable_class.rb +19 -0
  204. data/spec/engine/deployable_spec.rb +55 -0
  205. data/spec/engine/engine_spec.rb +55 -0
  206. data/spec/engine/verifiable_spec.rb +117 -0
  207. data/spec/{static/helpers/static1/dir/two.txt → helpers/repos/hello/cache/.keep} +0 -0
  208. data/spec/helpers/repos/hello/lib/init.rb +1 -0
  209. data/spec/{platform/helpers/overlays → helpers/repos}/hello/lib/stuff/another_test.rb +0 -0
  210. data/spec/{platform/helpers/overlays → helpers/repos}/hello/lib/stuff/test.rb +0 -0
  211. data/spec/helpers/repos/hello/ronin.yml +7 -0
  212. data/spec/{static/helpers/static1/one.txt → helpers/repos/random/cache/.keep} +0 -0
  213. data/spec/helpers/repos/random/ronin.yml +7 -0
  214. data/spec/helpers/repos/test1/cache/cacheable_model/one.rb +15 -0
  215. data/spec/helpers/repos/test1/ronin.yml +7 -0
  216. data/spec/helpers/repos/test2/cache/cacheable_model/exceptions.rb +7 -0
  217. data/spec/helpers/repos/test2/cache/cacheable_model/load_errors.rb +9 -0
  218. data/spec/helpers/repos/test2/cache/cacheable_model/no_method_errors.rb +9 -0
  219. data/spec/helpers/repos/test2/cache/cacheable_model/syntax_errors.rb +7 -0
  220. data/spec/helpers/repos/test2/cache/cacheable_model/two.rb +15 -0
  221. data/spec/helpers/repos/test2/cache/cacheable_model/validation_errors.rb +9 -0
  222. data/spec/helpers/repos/test2/ronin.yml +7 -0
  223. data/spec/helpers/repositories.rb +11 -0
  224. data/spec/host_name_spec.rb +51 -0
  225. data/spec/installation_spec.rb +45 -0
  226. data/spec/ip_address.rb +67 -0
  227. data/spec/license_spec.rb +1 -2
  228. data/spec/mac_address_spec.rb +18 -0
  229. data/spec/model/cacheable_spec.rb +93 -0
  230. data/spec/model/has_description_spec.rb +45 -26
  231. data/spec/model/has_license_spec.rb +18 -17
  232. data/spec/model/has_name_spec.rb +35 -0
  233. data/spec/model/has_title_spec.rb +27 -0
  234. data/spec/model/model_spec.rb +27 -19
  235. data/spec/model/{classes → models}/basic_model.rb +0 -0
  236. data/spec/model/models/cacheable_model.rb +15 -0
  237. data/spec/model/{classes → models}/custom_model.rb +1 -1
  238. data/spec/model/{classes → models}/described_model.rb +0 -0
  239. data/spec/model/models/lazy_model.rb +9 -0
  240. data/spec/model/{classes → models}/licensed_model.rb +0 -0
  241. data/spec/model/models/named_model.rb +10 -0
  242. data/spec/model/models/titled_model.rb +10 -0
  243. data/spec/model/spec_helper.rb +22 -0
  244. data/spec/os_spec.rb +1 -2
  245. data/spec/password_spec.rb +35 -0
  246. data/spec/repository_spec.rb +291 -0
  247. data/spec/ronin_spec.rb +19 -5
  248. data/spec/software_spec.rb +23 -0
  249. data/spec/spec_helper.rb +35 -4
  250. data/spec/support/inflector_spec.rb +20 -0
  251. data/spec/ui/cli/classes/test_command.rb +11 -0
  252. data/spec/ui/cli/command_spec.rb +21 -0
  253. data/spec/ui/output_spec.rb +20 -17
  254. data/spec/url_spec.rb +111 -0
  255. data/spec/vendor_spec.rb +18 -0
  256. metadata +761 -421
  257. data/Manifest.txt +0 -290
  258. data/README.txt +0 -206
  259. data/bin/ronin-add +0 -12
  260. data/bin/ronin-install +0 -12
  261. data/bin/ronin-list +0 -12
  262. data/bin/ronin-remove +0 -12
  263. data/bin/ronin-uninstall +0 -12
  264. data/bin/ronin-update +0 -12
  265. data/lib/ronin/cacheable.rb +0 -307
  266. data/lib/ronin/code/reference.rb +0 -130
  267. data/lib/ronin/code/symbol_table.rb +0 -100
  268. data/lib/ronin/code/token.rb +0 -69
  269. data/lib/ronin/extensions/file.rb +0 -38
  270. data/lib/ronin/extensions/ip_addr.rb +0 -147
  271. data/lib/ronin/extensions/kernel.rb +0 -97
  272. data/lib/ronin/extensions/meta/object.rb +0 -24
  273. data/lib/ronin/extensions/string.rb +0 -119
  274. data/lib/ronin/extensions/uri/query_params.rb +0 -126
  275. data/lib/ronin/extensions.rb +0 -26
  276. data/lib/ronin/formatting/extensions/binary/file.rb +0 -35
  277. data/lib/ronin/formatting/extensions/binary/integer.rb +0 -106
  278. data/lib/ronin/formatting/extensions/binary/string.rb +0 -285
  279. data/lib/ronin/formatting/extensions/binary.rb +0 -22
  280. data/lib/ronin/formatting/extensions/digest/string.rb +0 -87
  281. data/lib/ronin/formatting/extensions/digest.rb +0 -21
  282. data/lib/ronin/formatting/extensions/http/string.rb +0 -88
  283. data/lib/ronin/formatting/extensions/http.rb +0 -21
  284. data/lib/ronin/formatting/extensions/text/array.rb +0 -77
  285. data/lib/ronin/formatting/extensions/text/string.rb +0 -162
  286. data/lib/ronin/formatting/extensions/text.rb +0 -22
  287. data/lib/ronin/formatting/extensions.rb +0 -22
  288. data/lib/ronin/formatting/http.rb +0 -21
  289. data/lib/ronin/formatting/text.rb +0 -21
  290. data/lib/ronin/formatting.rb +0 -25
  291. data/lib/ronin/network/esmtp.rb +0 -21
  292. data/lib/ronin/network/extensions/esmtp/net.rb +0 -96
  293. data/lib/ronin/network/extensions/esmtp.rb +0 -21
  294. data/lib/ronin/network/extensions/http/net.rb +0 -607
  295. data/lib/ronin/network/extensions/http.rb +0 -21
  296. data/lib/ronin/network/extensions/imap/net.rb +0 -119
  297. data/lib/ronin/network/extensions/imap.rb +0 -21
  298. data/lib/ronin/network/extensions/pop3/net.rb +0 -88
  299. data/lib/ronin/network/extensions/pop3.rb +0 -21
  300. data/lib/ronin/network/extensions/smtp/net.rb +0 -108
  301. data/lib/ronin/network/extensions/smtp.rb +0 -21
  302. data/lib/ronin/network/extensions/tcp/net.rb +0 -313
  303. data/lib/ronin/network/extensions/tcp.rb +0 -21
  304. data/lib/ronin/network/extensions/telnet/net.rb +0 -151
  305. data/lib/ronin/network/extensions/telnet.rb +0 -21
  306. data/lib/ronin/network/extensions/udp/net.rb +0 -224
  307. data/lib/ronin/network/extensions/udp.rb +0 -21
  308. data/lib/ronin/network/extensions.rb +0 -28
  309. data/lib/ronin/network/helpers/esmtp.rb +0 -129
  310. data/lib/ronin/network/helpers/imap.rb +0 -115
  311. data/lib/ronin/network/helpers/pop3.rb +0 -110
  312. data/lib/ronin/network/helpers/smtp.rb +0 -123
  313. data/lib/ronin/network/helpers/udp.rb +0 -197
  314. data/lib/ronin/network/helpers.rb +0 -29
  315. data/lib/ronin/network/http/http.rb +0 -214
  316. data/lib/ronin/network/http/proxy.rb +0 -308
  317. data/lib/ronin/network/http.rb +0 -23
  318. data/lib/ronin/network/smtp/email.rb +0 -142
  319. data/lib/ronin/network/smtp/smtp.rb +0 -67
  320. data/lib/ronin/network/smtp.rb +0 -23
  321. data/lib/ronin/network/tcp.rb +0 -21
  322. data/lib/ronin/network/telnet.rb +0 -108
  323. data/lib/ronin/network/udp.rb +0 -21
  324. data/lib/ronin/network.rb +0 -28
  325. data/lib/ronin/path.rb +0 -90
  326. data/lib/ronin/platform/extension.rb +0 -446
  327. data/lib/ronin/platform/extension_cache.rb +0 -143
  328. data/lib/ronin/platform/maintainer.rb +0 -69
  329. data/lib/ronin/platform/object_cache.rb +0 -124
  330. data/lib/ronin/platform/overlay.rb +0 -353
  331. data/lib/ronin/platform/overlay_cache.rb +0 -447
  332. data/lib/ronin/platform/platform.rb +0 -304
  333. data/lib/ronin/platform/ronin.rb +0 -97
  334. data/lib/ronin/platform/tasks/spec.rb +0 -9
  335. data/lib/ronin/platform.rb +0 -24
  336. data/lib/ronin/rpc/call.rb +0 -72
  337. data/lib/ronin/rpc/client.rb +0 -88
  338. data/lib/ronin/rpc/console.rb +0 -78
  339. data/lib/ronin/rpc/service.rb +0 -66
  340. data/lib/ronin/rpc/shell.rb +0 -63
  341. data/lib/ronin/rpc.rb +0 -24
  342. data/lib/ronin/scanners/exceptions/unknown_category.rb +0 -26
  343. data/lib/ronin/scanners/exceptions.rb +0 -21
  344. data/lib/ronin/scanners/scanner.rb +0 -295
  345. data/lib/ronin/scanners.rb +0 -22
  346. data/lib/ronin/static/finders.rb +0 -165
  347. data/lib/ronin/static/static.rb +0 -62
  348. data/lib/ronin/static.rb +0 -22
  349. data/lib/ronin/templates/erb.rb +0 -70
  350. data/lib/ronin/templates/template.rb +0 -130
  351. data/lib/ronin/templates.rb +0 -22
  352. data/lib/ronin/ui/command_line/command.rb +0 -216
  353. data/lib/ronin/ui/command_line/command_line.rb +0 -151
  354. data/lib/ronin/ui/command_line/commands/add.rb +0 -79
  355. data/lib/ronin/ui/command_line/commands/install.rb +0 -69
  356. data/lib/ronin/ui/command_line/commands/list.rb +0 -105
  357. data/lib/ronin/ui/command_line/commands/update.rb +0 -59
  358. data/lib/ronin/ui/command_line/exceptions.rb +0 -21
  359. data/lib/ronin/ui/command_line.rb +0 -22
  360. data/lib/ronin/ui/output/handler.rb +0 -121
  361. data/lib/ronin/yard/handlers/ruby/base.rb +0 -27
  362. data/lib/ronin/yard/handlers/ruby/belongs_to_handler.rb +0 -45
  363. data/lib/ronin/yard/handlers/ruby/eval_block_handler.rb +0 -18
  364. data/lib/ronin/yard/handlers/ruby/has_handler.rb +0 -49
  365. data/lib/ronin/yard/handlers/ruby/legacy/belongs_to_handler.rb +0 -41
  366. data/lib/ronin/yard/handlers/ruby/legacy/eval_block_handler.rb +0 -19
  367. data/lib/ronin/yard/handlers/ruby/legacy/has_handler.rb +0 -34
  368. data/lib/ronin/yard/handlers/ruby/legacy/metaclass_eval_handler.rb +0 -21
  369. data/lib/ronin/yard/handlers/ruby/legacy/property_handler.rb +0 -41
  370. data/lib/ronin/yard/handlers/ruby/legacy/scanner_handler.rb +0 -61
  371. data/lib/ronin/yard/handlers/ruby/legacy.rb +0 -26
  372. data/lib/ronin/yard/handlers/ruby/metaclass_eval_handler.rb +0 -18
  373. data/lib/ronin/yard/handlers/ruby/property_handler.rb +0 -45
  374. data/lib/ronin/yard/handlers/ruby/scanner_handler.rb +0 -66
  375. data/lib/ronin/yard/handlers/ruby.rb +0 -27
  376. data/lib/ronin/yard/handlers.rb +0 -24
  377. data/spec/cacheable_spec.rb +0 -150
  378. data/spec/classes/cacheable_model.rb +0 -15
  379. data/spec/code/classes/thing.rb +0 -17
  380. data/spec/code/reference_spec.rb +0 -63
  381. data/spec/code/symbol_table_spec.rb +0 -45
  382. data/spec/extensions/array_spec.rb +0 -34
  383. data/spec/extensions/classes/some_class.rb +0 -2
  384. data/spec/extensions/ip_addr_spec.rb +0 -44
  385. data/spec/extensions/kernel_spec.rb +0 -76
  386. data/spec/extensions/string_spec.rb +0 -103
  387. data/spec/extensions/uri/http_spec.rb +0 -9
  388. data/spec/extensions/uri/query_params_spec.rb +0 -46
  389. data/spec/formatting/binary/helpers/hexdumps/hexdump_decimal_shorts.txt +0 -17
  390. data/spec/formatting/binary/helpers/hexdumps/hexdump_hex_bytes.txt +0 -17
  391. data/spec/formatting/binary/helpers/hexdumps/hexdump_hex_shorts.txt +0 -17
  392. data/spec/formatting/binary/helpers/hexdumps/hexdump_octal_bytes.txt +0 -17
  393. data/spec/formatting/binary/helpers/hexdumps/hexdump_octal_shorts.txt +0 -17
  394. data/spec/formatting/binary/helpers/hexdumps/hexdump_repeated.txt +0 -6
  395. data/spec/formatting/binary/helpers/hexdumps/od_decimal_bytes.txt +0 -17
  396. data/spec/formatting/binary/helpers/hexdumps/od_decimal_ints.txt +0 -17
  397. data/spec/formatting/binary/helpers/hexdumps/od_decimal_quads.txt +0 -17
  398. data/spec/formatting/binary/helpers/hexdumps/od_decimal_shorts.txt +0 -17
  399. data/spec/formatting/binary/helpers/hexdumps/od_hex_bytes.txt +0 -17
  400. data/spec/formatting/binary/helpers/hexdumps/od_hex_ints.txt +0 -17
  401. data/spec/formatting/binary/helpers/hexdumps/od_hex_quads.txt +0 -17
  402. data/spec/formatting/binary/helpers/hexdumps/od_hex_shorts.txt +0 -17
  403. data/spec/formatting/binary/helpers/hexdumps/od_octal_bytes.txt +0 -17
  404. data/spec/formatting/binary/helpers/hexdumps/od_octal_ints.txt +0 -17
  405. data/spec/formatting/binary/helpers/hexdumps/od_octal_quads.txt +0 -17
  406. data/spec/formatting/binary/helpers/hexdumps/od_octal_shorts.txt +0 -17
  407. data/spec/formatting/binary/helpers/hexdumps/od_repeated.txt +0 -6
  408. data/spec/formatting/binary/helpers/hexdumps/repeated.bin +0 -1
  409. data/spec/formatting/binary/helpers/hexdumps.rb +0 -14
  410. data/spec/formatting/binary/integer_spec.rb +0 -131
  411. data/spec/formatting/binary/string_spec.rb +0 -251
  412. data/spec/formatting/digest/string_spec.rb +0 -80
  413. data/spec/formatting/http/string_spec.rb +0 -80
  414. data/spec/formatting/text/array_spec.rb +0 -64
  415. data/spec/formatting/text/string_spec.rb +0 -147
  416. data/spec/helpers/cacheable.rb +0 -7
  417. data/spec/helpers/contexts/ronin_cacheable_model.rb +0 -13
  418. data/spec/helpers/database.rb +0 -5
  419. data/spec/network/helpers/classes/test_helper.rb +0 -11
  420. data/spec/network/helpers/classes/uses_test_helper.rb +0 -10
  421. data/spec/network/helpers/helper_spec.rb +0 -25
  422. data/spec/network/http/http_spec.rb +0 -197
  423. data/spec/network/http/proxy_spec.rb +0 -116
  424. data/spec/path_spec.rb +0 -32
  425. data/spec/platform/extension_cache_spec.rb +0 -64
  426. data/spec/platform/extension_spec.rb +0 -73
  427. data/spec/platform/helpers/overlays/hello/hello/extension.rb +0 -7
  428. data/spec/platform/helpers/overlays/hello/lib/init.rb +0 -1
  429. data/spec/platform/helpers/overlays/hello/ronin.xml +0 -26
  430. data/spec/platform/helpers/overlays/random/random/extension.rb +0 -7
  431. data/spec/platform/helpers/overlays/random/ronin.xml +0 -26
  432. data/spec/platform/helpers/overlays/test1/ronin.xml +0 -26
  433. data/spec/platform/helpers/overlays/test1/test/extension.rb +0 -7
  434. data/spec/platform/helpers/overlays/test2/ronin.xml +0 -26
  435. data/spec/platform/helpers/overlays/test2/test/extension.rb +0 -7
  436. data/spec/platform/helpers/overlays.rb +0 -18
  437. data/spec/platform/helpers/overlays.yaml.erb +0 -13
  438. data/spec/platform/maintainer_spec.rb +0 -30
  439. data/spec/platform/overlay_cache_spec.rb +0 -65
  440. data/spec/platform/overlay_spec.rb +0 -63
  441. data/spec/platform/platform_spec.rb +0 -22
  442. data/spec/platform/ronin_spec.rb +0 -34
  443. data/spec/product_spec.rb +0 -23
  444. data/spec/scanners/classes/another_scanner.rb +0 -16
  445. data/spec/scanners/classes/example_scanner.rb +0 -22
  446. data/spec/scanners/scanner_spec.rb +0 -148
  447. data/spec/static/classes/static_class.rb +0 -7
  448. data/spec/static/finders_spec.rb +0 -55
  449. data/spec/static/helpers/static.rb +0 -10
  450. data/spec/static/helpers/static2/dir/two.txt +0 -0
  451. data/spec/static/static_spec.rb +0 -25
  452. data/spec/templates/classes/example_erb.rb +0 -11
  453. data/spec/templates/classes/example_template.rb +0 -21
  454. data/spec/templates/erb_spec.rb +0 -20
  455. data/spec/templates/helpers/static/templates/_relative.erb +0 -1
  456. data/spec/templates/helpers/static/templates/example.erb +0 -1
  457. data/spec/templates/helpers/static.rb +0 -5
  458. data/spec/templates/template_spec.rb +0 -41
  459. data/spec/ui/command_line/classes/test_command.rb +0 -23
  460. data/spec/ui/command_line/command_spec.rb +0 -31
  461. data/static/ronin/platform/overlay.xsl +0 -203
  462. data/tasks/spec.rb +0 -10
  463. data/tasks/yard.rb +0 -18
  464. data.tar.gz.sig +0 -0
  465. metadata.gz.sig +0 -0
data/.document ADDED
@@ -0,0 +1,4 @@
1
+ lib/**/*.rb
2
+ -
3
+ ChangeLog.md
4
+ COPYING.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour --format documentation
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --markup markdown --title 'Ronin Documentation' --protected
2
+ --plugin yard-contextify
3
+ --plugin yard-parameters
4
+ --plugin yard-dm
5
+ --plugin yard-dm-is-predefined
@@ -1,4 +1,4 @@
1
- === 0.3.0 / 2009-09-24
1
+ ### 0.3.0 / 2009-09-24
2
2
 
3
3
  * Require yard >= 0.2.3.5.
4
4
  * Require nokogiri >= 1.3.3.
@@ -31,7 +31,7 @@
31
31
  * Added Ronin::Model#humanize_attributes.
32
32
  * Added Ronin::Model::HasVersion.revision.
33
33
  * Added Ronin::Templates::Template.
34
- * Added Ronin::Platform::Overlays#gems.
34
+ * Added Ronin::Platform::Overlay#gems.
35
35
  * Added attr_reader, attr_writer and attr_accessor instance methods to
36
36
  Ronin::Platform::Extension.
37
37
  * Added Ronin::Platform::Overlay#load!.
@@ -93,7 +93,7 @@
93
93
  * Include Ronin::UI::Output::Helpers into Ronin::Sessions::Session.
94
94
  * Include Ronin::UI::Output::Helpers into Ronin::Console sessions.
95
95
 
96
- === 0.2.4 / 2009-07-02
96
+ ### 0.2.4 / 2009-07-02
97
97
 
98
98
  * Require Hoe >= 2.0.0
99
99
  * Require Parameters >= 0.1.6.
@@ -135,7 +135,7 @@
135
135
  * Cleaned up CSS.
136
136
  * Removed the jQuery expander plugin.
137
137
 
138
- === 0.2.3 / 2009-05-06
138
+ ### 0.2.3 / 2009-05-06
139
139
 
140
140
  * Require extlib >= 0.9.12.
141
141
  * Require dm-core >= 0.9.11.
@@ -189,7 +189,7 @@
189
189
  * Added more specs.
190
190
  * All specs now pass on Ruby 1.9.1-p0.
191
191
 
192
- === 0.2.2 / 2009-03-26
192
+ ### 0.2.2 / 2009-03-26
193
193
 
194
194
  * Split out Ronin::Chars into the Chars library.
195
195
  * Split out ronin-overlay and ronin-ext sub-commands into the Ronin Gen
@@ -214,7 +214,7 @@
214
214
  * Added the ExtensionCache#reload! method.
215
215
  * Added more specs.
216
216
 
217
- === 0.2.1 / 2009-02-23
217
+ ### 0.2.1 / 2009-02-23
218
218
 
219
219
  * Added Ronin::UI::Verbose.
220
220
  * Require Nokogiri >= 1.2.0:
@@ -238,7 +238,7 @@
238
238
  === 0.2.0 / 2009-02-06
239
239
 
240
240
  * Moved the HTML formatting methods into the
241
- {ronin-html}[http://ronin.rubyforge.org/html/] library.
241
+ [ronin-html](http://ronin.rubyforge.org/html/) library.
242
242
  * Added 'ronin/environment' which loads the Ronin Environment.
243
243
  * Added the --database option to the DefaultCommand.
244
244
  * Added the -C option to the add, install, list, update, remove and
@@ -280,12 +280,12 @@
280
280
  * Renamed Extension#perform_teardown to Extension#teardown!.
281
281
  * Removed un-used or surpurfulous methods.
282
282
  * Removed 'lib/ronin/platform/config.rb'.
283
- * Allow Overlays to have their own <tt>lib/</tt> directories.
283
+ * Allow Overlays to have their own `lib/` directories.
284
284
  * Many bug fixes.
285
285
  * Updated the README.txt.
286
286
  * Fixed bug in UI::Console.auto_load and UI::Console.start.
287
287
 
288
- === 0.1.4 / 2009-01-22
288
+ ### 0.1.4 / 2009-01-22
289
289
 
290
290
  * Moved Ronin::Web and Ronin::Sessions::Web into the ronin-web library.
291
291
  * Removed dependencies to hpricot, mechanize, spidr and rack.
@@ -303,7 +303,7 @@
303
303
  * Automatically load 'ronin/ui/hexdump' when starting the
304
304
  Ronin::UI::Console.
305
305
 
306
- === 0.1.3 / 2009-01-08
306
+ ### 0.1.3 / 2009-01-08
307
307
 
308
308
  * Moved Context into the Contextify library.
309
309
  * Require dm-core >= 0.9.9.
@@ -318,7 +318,7 @@
318
318
  data through a TCP connection then closing it.
319
319
  * Added Ronin::UI::CommandLine::ParamParser for parsing command-line
320
320
  options into a Hash of parameters.
321
- * Automatically create the <tt>~/.ronin/config/</tt> directory.
321
+ * Automatically create the `~/.ronin/config/` directory.
322
322
  * Refactored Ronin::Objectify and how it uses primary keys.
323
323
  * All Ronin::Session mixins use standard naming conventions for defining
324
324
  the 'host' and 'port' parameters.
@@ -331,7 +331,7 @@
331
331
  * Added more specs.
332
332
  * Added more documentation.
333
333
 
334
- === 0.1.2 / 2008-12-10
334
+ ### 0.1.2 / 2008-12-10
335
335
 
336
336
  * Require do_sqlite3 >= 0.9.9, since version 0.9.8 was totally broken.
337
337
  * Require reverse-require >= 0.2.0, for improved performance.
@@ -375,7 +375,7 @@
375
375
  * Added even more specs.
376
376
  * More typo and documentation fixes.
377
377
 
378
- === 0.1.1 / 2008-10-26
378
+ ### 0.1.1 / 2008-10-26
379
379
 
380
380
  * Depend on the newly renamed reverse-require (>= 0.1.2) gem.
381
381
  * Added Ronin::Code::SymbolTable for DSLs to make use of.
@@ -388,7 +388,7 @@
388
388
  * Removed the Ronin::Runner namespace, renaming the Ronin::Runner::Program
389
389
  namespace to Ronin::Program.
390
390
 
391
- === 0.1.0 / 2008-09-28
391
+ ### 0.1.0 / 2008-09-28
392
392
 
393
393
  * Changed how Sessions are setup.
394
394
  * Have Ronin use it's own DataMapper Repository name-space to avoid
@@ -397,7 +397,7 @@
397
397
  * Added specs.
398
398
  * Fixed various trivial bugs.
399
399
 
400
- === 0.0.9 / 2008-08-20
400
+ ### 0.0.9 / 2008-08-20
401
401
 
402
402
  * Initial release.
403
403
  * Supports installing/updating/uninstalling of Overlays.
data/Gemfile ADDED
@@ -0,0 +1,42 @@
1
+ source 'https://rubygems.org'
2
+
3
+ DATA_MAPPER = 'http://github.com/datamapper'
4
+ DM_VERSION = '~> 1.0.2'
5
+ RONIN = 'http://github.com/ronin-ruby'
6
+
7
+ gemspec
8
+
9
+ # Library dependencies
10
+ # gem 'ronin-support', '~> 0.1.0', :git => "#{RONIN}/ronin-support.git"
11
+
12
+ group :development do
13
+ gem 'rake', '~> 0.8.7'
14
+
15
+ platforms :jruby do
16
+ gem 'maruku', '~> 0.6.0'
17
+ end
18
+
19
+ platforms :ruby do
20
+ gem 'rdiscount', '~> 1.6.3'
21
+ end
22
+
23
+ gem 'ruby-graphviz', '~> 0.9.10'
24
+ gem 'dm-visualizer', '~> 0.1.0'
25
+
26
+ gem 'ore-core', '~> 0.1.0'
27
+ gem 'ore-tasks', '~> 0.2.0'
28
+ gem 'rspec', '~> 2.0.0'
29
+ end
30
+
31
+ group :test do
32
+ adapters = (ENV['ADAPTER'] || ENV['ADAPTERS'])
33
+ adapters = adapters.to_s.gsub(',',' ').split(' ') - ['in_memory']
34
+
35
+ DM_ADAPTERS = %w[sqlite3 postgres mysql oracle sqlserver]
36
+
37
+ unless (DM_ADAPTERS & adapters).empty?
38
+ adapters.each do |adapter|
39
+ gem "dm-#{adapter}-adapter", DM_VERSION, :git => "#{DATA_MAPPER}/dm-#{adapter}-adapter.git"
40
+ end
41
+ end
42
+ end
data/README.md ADDED
@@ -0,0 +1,224 @@
1
+ # Ronin
2
+
3
+ * [Website](http://ronin-ruby.github.com)
4
+ * [Source](http://github.com/ronin-ruby/ronin)
5
+ * [Issues](http://github.com/ronin-ruby/ronin/issues)
6
+ * [Documentation](http://rubydoc.info/github/ronin-ruby/ronin/frames)
7
+ * [Mailing List](http://groups.google.com/group/ronin-ruby)
8
+ * irc.freenode.net #ronin
9
+
10
+ ## Description
11
+
12
+ Ronin is a Ruby platform for exploit development and security research.
13
+ Ronin allows for the rapid development and distribution of code, exploits
14
+ or payloads over many common Source-Code-Management (SCM) systems.
15
+
16
+ ### Ruby
17
+
18
+ Ronin's Ruby environment allows security researchers to leverage Ruby with
19
+ ease. The Ruby environment contains a multitude of convenience methods
20
+ for working with data in Ruby, a Ruby Object Database, a customized Ruby
21
+ Console and an extendable command-line interface.
22
+
23
+ ### Extend
24
+
25
+ Ronin's more specialized features are provided by additional Ronin
26
+ libraries, which users can choose to install. These libraries can allow
27
+ one to write and run Exploits and Payloads, scan for PHP vulnerabilities,
28
+ perform Google Dorks or run 3rd party scanners.
29
+
30
+ ### Publish
31
+
32
+ Ronin allows users to publish and share code, exploits, payloads or other
33
+ data via Ronin Repositories. Repositories are directories of code and data
34
+ that can be hosted on any SVN, Hg, Git or Rsync server. Ronin makes it easy
35
+ to create, install and update Repositories.
36
+
37
+ ## Features
38
+
39
+ * Supports installing/updating/uninstalling of Repositories.
40
+ * Supports installing Repositories from various media types:
41
+ * [Subversion (SVN)](http://subversion.tigris.org/)
42
+ * [Mercurial (Hg)](http://mercurial.selenic.com/)
43
+ * [Git](http://git-scm.com/)
44
+ * Rsync
45
+ * Provides Object Database using [DataMapper](http://datamapper.org)
46
+ with:
47
+ * {Ronin::Author}
48
+ * {Ronin::License}
49
+ * {Ronin::Arch}
50
+ * {Ronin::OS}
51
+ * {Ronin::Software}
52
+ * {Ronin::Vendor}
53
+ * {Ronin::Address}
54
+ * {Ronin::MACAddress}
55
+ * {Ronin::IPAddress}
56
+ * {Ronin::HostName}
57
+ * {Ronin::Port}
58
+ * {Ronin::TCPPort}
59
+ * {Ronin::UDPPort}
60
+ * {Ronin::Service}
61
+ * {Ronin::OpenPort}
62
+ * {Ronin::OSGuess}
63
+ * {Ronin::UserName}
64
+ * {Ronin::URL}
65
+ * {Ronin::EmailAddress}
66
+ * {Ronin::Credential}
67
+ * {Ronin::ServiceCredential}
68
+ * {Ronin::WebCredential}
69
+ * {Ronin::Organization}
70
+ * {Ronin::Campaign}
71
+ * {Ronin::Target}
72
+ * Caches exploits, payloads, scanners, etc stored within Repositories
73
+ into the Database.
74
+ * Convenience methods provided by
75
+ [ronin-support](http://github.com/ronin-ruby/ronin-support#readme).
76
+ * Provides a customized Ruby Console with:
77
+ * Tab-completion enabled.
78
+ * Auto-indentation enabled.
79
+ * Pretty-Print loaded.
80
+ * `print_info`, `print_error`, `print_warning` and `print_debug`
81
+ output helper methods with color-output.
82
+ * Provides an extendable command-line interface based on
83
+ [Thor](http://github.com/wycats/thor#readme).
84
+
85
+ ## Synopsis
86
+
87
+ Start the Ronin console:
88
+
89
+ $ ronin
90
+
91
+ Run a Ruby script in Ronin:
92
+
93
+ $ ronin exec script.rb
94
+
95
+ View available commands:
96
+
97
+ $ ronin help
98
+
99
+ Install a Repository:
100
+
101
+ $ ronin repos --install svn://example.com/path/to/repo
102
+
103
+ List installed Repositories:
104
+
105
+ $ ronin repos
106
+
107
+ Update all installed Repositories:
108
+
109
+ $ ronin repos --update
110
+
111
+ Update a specific Repositories:
112
+
113
+ $ ronin repos --update repo-name
114
+
115
+ Uninstall an Repositories:
116
+
117
+ $ ronin repos --uninstall repo-name
118
+
119
+ List available Databases:
120
+
121
+ $ ronin database
122
+
123
+ Add a new Database:
124
+
125
+ $ ronin database --add team --uri mysql://user:pass@vpn.example.com/db
126
+
127
+ Remove a Database:
128
+
129
+ $ ronin database --remove team
130
+
131
+ ## Requirements
132
+
133
+ * [Ruby](http://www.ruby-lang.org/) >= 1.8.7
134
+ * [ActiveSupport](http://rubygems.org/gems/activesupport) >= 3.0.0
135
+ * [DataMapper](http://datamapper.org/):
136
+ * [dm-do-adapter](http://github.com/datamapper/dm-do-adapter) ~> 1.0.2
137
+ * [dm-sqlite-adapter](http://github.com/datamapper/dm-sqlite-adapter)
138
+ ~> 1.0.2
139
+ * [libsqlite3](http://sqlite.org/)
140
+ * [dm-core](http://github.com/datamapper/dm-core) ~> 1.0.2
141
+ * [dm-types](http://github.com/datamapper/dm-types) ~> 1.0.2
142
+ * [dm-migrations](http://github.com/datamapper/dm-migrations) ~> 1.0.2
143
+ * [dm-validations](http://github.com/datamapper/dm-validations) ~> 1.0.2
144
+ * [dm-aggregates](http://github.com/datamapper/dm-aggregates) ~> 1.0.2
145
+ * [dm-timestamps](http://github.com/datamapper/dm-timestamps) ~> 1.0.2
146
+ * [dm-tags](http://github.com/datamapper/dm-tags) ~> 1.0.2
147
+ * [dm-is-predefined](http://github.com/postmodern/dm-is-predefined/)
148
+ ~> 0.3.0
149
+ * [uri-query_params](http://github.com/postmodern/uri-query_params) ~> 0.4.0
150
+ * [open_namespace](http://github.com/postmodern/open_namespace) ~> 0.3.0
151
+ * [parameters](http://github.com/postmodern/parameters) ~> 0.2.2
152
+ * [data_paths](http://github.com/postmodern/data_paths) ~> 0.2.1
153
+ * [contextify](http://github.com/postmodern/contextify/) ~> 0.1.6
154
+ * [pullr](http://github.com/postmodern/pullr/) ~> 0.1.2
155
+ * [thor](http://github.com/wycats/thor/) ~> 0.14.2
156
+ * [ronin-support](http://github.com/ronin-ruby/ronin-support/) ~> 0.1.0
157
+
158
+ ## Install
159
+
160
+ $ sudo gem install ronin
161
+
162
+ ## Additional Libraries
163
+
164
+ ### Ronin ASM
165
+
166
+ [Ronin ASM](http://github.com/ronin-ruby/ronin-asm#readme) is a
167
+ Ruby library for Ronin that provides dynamic Assembly (ASM) generation of
168
+ programs or shellcode.
169
+
170
+ ### Ronin Dorks
171
+
172
+ [Ronin Dorks](http://github.com/ronin-ruby/ronin-dorks#readme) is a
173
+ Ruby library for Ronin that provides support for various Google (tm) Dorks
174
+ functionality.
175
+
176
+ ### Ronin Exploits
177
+
178
+ [Ronin Exploits](http://github.com/ronin-ruby/ronin-exploits#readme) is a
179
+ Ruby library for Ronin that provides exploitation and payload crafting
180
+ functionality.
181
+
182
+ ### Ronin Gen
183
+
184
+ [Ronin Gen](http://github.com/ronin-ruby/ronin-gen#readme) is a Ruby library
185
+ for Ronin that provides various generators.
186
+
187
+ ### Ronin SQL
188
+
189
+ [Ronin SQL](http://github.com/ronin-ruby/ronin-sql#readme) is a Ruby library
190
+ for Ronin that provids support for SQL related security tasks, such as
191
+ scanning for and exploiting SQL injections.
192
+
193
+ ### Ronin PHP
194
+
195
+ [Ronin PHP](http://github.com/ronin-ruby/ronin-php#readme) is a Ruby library
196
+ for Ronin that provides support for PHP related security tasks, such as
197
+ finding and exploiting Local File Inclusion (LFI) and
198
+ Remote File Inclusion (RFI).
199
+
200
+ ### Ronin Web
201
+
202
+ [Ronin Web](http://github.com/ronin-ruby/ronin-web#readme) is a Ruby library
203
+ for Ronin that provides support for web scraping and spidering
204
+ functionality.
205
+
206
+ ## License
207
+
208
+ Ronin - A Ruby platform for exploit development and security research.
209
+
210
+ Copyright (c) 2006-2010 Hal Brodigan (postmodern.mod3 at gmail.com)
211
+
212
+ This program is free software; you can redistribute it and/or modify
213
+ it under the terms of the GNU General Public License as published by
214
+ the Free Software Foundation; either version 2 of the License, or
215
+ (at your option) any later version.
216
+
217
+ This program is distributed in the hope that it will be useful,
218
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
219
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
220
+ GNU General Public License for more details.
221
+
222
+ You should have received a copy of the GNU General Public License
223
+ along with this program; if not, write to the Free Software
224
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
data/Rakefile CHANGED
@@ -1,38 +1,70 @@
1
- # -*- ruby -*-
2
-
3
1
  require 'rubygems'
4
- require 'hoe'
5
- require 'hoe/signing'
6
- require './tasks/spec.rb'
7
- require './tasks/yard.rb'
8
-
9
- Hoe.spec('ronin') do
10
- self.rubyforge_name = 'ronin'
11
- self.developer('Postmodern','postmodern.mod3@gmail.com')
12
- self.remote_rdoc_dir = 'docs/ronin'
13
- self.extra_deps = [
14
- ['yard', '>=0.2.3.5'],
15
- ['nokogiri', '>=1.3.3'],
16
- ['extlib', '>=0.9.13'],
17
- ['data_objects', '>=0.10.0'],
18
- ['do_sqlite3', '>=0.10.0'],
19
- ['dm-core', '>=0.10.0'],
20
- ['dm-types', '>=0.10.0'],
21
- ['dm-validations', '>=0.10.0'],
22
- ['dm-predefined', '>=0.2.0'],
23
- ['chars', '>=0.1.2'],
24
- ['parameters', '>=0.1.8'],
25
- ['contextify', '>=0.1.3'],
26
- ['reverse-require', '>=0.3.1'],
27
- ['repertoire', '>=0.2.3'],
28
- ['thor', '>=0.11.5']
29
- ]
30
2
 
31
- self.extra_dev_deps = [
32
- ['rspec', '>=1.1.12']
33
- ]
3
+ begin
4
+ require 'bundler'
5
+ rescue LoadError => e
6
+ STDERR.puts e.message
7
+ STDERR.puts "Run `gem install bundler` to install Bundler."
8
+ exit e.status_code
9
+ end
34
10
 
35
- self.spec_extras = {:has_rdoc => 'yard'}
11
+ begin
12
+ Bundler.setup(:development)
13
+ rescue Bundler::BundlerError => e
14
+ STDERR.puts e.message
15
+ STDERR.puts "Run `bundle install` to install missing gems"
16
+ exit e.status_code
36
17
  end
37
18
 
38
- # vim: syntax=Ruby
19
+ require 'rake'
20
+
21
+ require 'ore/tasks'
22
+ Ore::Tasks.new
23
+
24
+ require 'rspec/core/rake_task'
25
+ RSpec::Core::RakeTask.new
26
+ task :default => :spec
27
+
28
+ require 'dm-visualizer/rake/graphviz_task'
29
+ DataMapper::Visualizer::Rake::GraphVizTask.new(
30
+ :bundle => [:default],
31
+ :include => %w[lib],
32
+ :require => %w[
33
+ ronin/arch
34
+ ronin/address
35
+ ronin/author
36
+ ronin/campaign
37
+ ronin/comment
38
+ ronin/country
39
+ ronin/credential
40
+ ronin/email_address
41
+ ronin/host_name_ip_address
42
+ ronin/host_name
43
+ ronin/ip_address_mac_address
44
+ ronin/ip_address
45
+ ronin/license
46
+ ronin/mac_address
47
+ ronin/open_port
48
+ ronin/organization
49
+ ronin/os_guess
50
+ ronin/os
51
+ ronin/cached_file
52
+ ronin/repository
53
+ ronin/port
54
+ ronin/service
55
+ ronin/service_credential
56
+ ronin/web_credential
57
+ ronin/software
58
+ ronin/target
59
+ ronin/tcp_port
60
+ ronin/udp_port
61
+ ronin/url_scheme
62
+ ronin/url_query_param
63
+ ronin/url
64
+ ronin/user_name
65
+ ronin/vendor
66
+ ]
67
+ )
68
+
69
+ require 'yard'
70
+ YARD::Rake::YardocTask.new
data/bin/ronin CHANGED
@@ -2,11 +2,24 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- lib_dir = File.expand_path(File.join(File.dirname(__FILE__),'..','lib'))
6
- unless $LOAD_PATH.include?(lib_dir)
7
- $LOAD_PATH << lib_dir
5
+ root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.directory?(File.join(root_dir,'.git'))
7
+ Dir.chdir(root_dir) do |path|
8
+ require 'bundler'
9
+
10
+ begin
11
+ Bundler.setup(:default)
12
+ rescue Bundler::BundlerError => e
13
+ STDERR.puts e.message
14
+ STDERR.puts "Run `bundle install` to install missing gems"
15
+ exit e.status_code
16
+ end
17
+ end
8
18
  end
9
19
 
10
- require 'ronin/ui/command_line'
20
+ lib_dir = File.join(root_dir,'lib')
21
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
+
23
+ require 'ronin/ui/cli'
11
24
 
12
- Ronin::UI::CommandLine.start
25
+ Ronin::UI::CLI.start
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.directory?(File.join(root_dir,'.git'))
7
+ Dir.chdir(root_dir) do |path|
8
+ require 'bundler'
9
+
10
+ begin
11
+ Bundler.setup(:default)
12
+ rescue Bundler::BundlerError => e
13
+ STDERR.puts e.message
14
+ STDERR.puts "Run `bundle install` to install missing gems"
15
+ exit e.status_code
16
+ end
17
+ end
18
+ end
19
+
20
+ lib_dir = File.join(root_dir,'lib')
21
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
+
23
+ require 'ronin/ui/cli/commands/campaigns'
24
+
25
+ Ronin::UI::CLI::Commands::Campaigns.start
data/bin/ronin-console CHANGED
@@ -2,11 +2,24 @@
2
2
 
3
3
  require 'rubygems'
4
4
 
5
- lib_dir = File.expand_path(File.join(File.dirname(__FILE__),'..','lib'))
6
- unless $LOAD_PATH.include?(lib_dir)
7
- $LOAD_PATH << lib_dir
5
+ root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.directory?(File.join(root_dir,'.git'))
7
+ Dir.chdir(root_dir) do |path|
8
+ require 'bundler'
9
+
10
+ begin
11
+ Bundler.setup(:default)
12
+ rescue Bundler::BundlerError => e
13
+ STDERR.puts e.message
14
+ STDERR.puts "Run `bundle install` to install missing gems"
15
+ exit e.status_code
16
+ end
17
+ end
8
18
  end
9
19
 
10
- require 'ronin/ui/command_line/commands/console'
20
+ lib_dir = File.join(root_dir,'lib')
21
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
+
23
+ require 'ronin/ui/cli/commands/console'
11
24
 
12
- Ronin::UI::CommandLine::Commands::Console.start
25
+ Ronin::UI::CLI::Commands::Console.start
data/bin/ronin-creds ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.directory?(File.join(root_dir,'.git'))
7
+ Dir.chdir(root_dir) do |path|
8
+ require 'bundler'
9
+
10
+ begin
11
+ Bundler.setup(:default)
12
+ rescue Bundler::BundlerError => e
13
+ STDERR.puts e.message
14
+ STDERR.puts "Run `bundle install` to install missing gems"
15
+ exit e.status_code
16
+ end
17
+ end
18
+ end
19
+
20
+ lib_dir = File.join(root_dir,'lib')
21
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
+
23
+ require 'ronin/ui/cli/commands/creds'
24
+
25
+ Ronin::UI::CLI::Commands::Creds.start
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.directory?(File.join(root_dir,'.git'))
7
+ Dir.chdir(root_dir) do |path|
8
+ require 'bundler'
9
+
10
+ begin
11
+ Bundler.setup(:default)
12
+ rescue Bundler::BundlerError => e
13
+ STDERR.puts e.message
14
+ STDERR.puts "Run `bundle install` to install missing gems"
15
+ exit e.status_code
16
+ end
17
+ end
18
+ end
19
+
20
+ lib_dir = File.join(root_dir,'lib')
21
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
+
23
+ require 'ronin/ui/cli/commands/database'
24
+
25
+ Ronin::UI::CLI::Commands::Database.start
data/bin/ronin-emails ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+
5
+ root_dir = File.expand_path(File.join(File.dirname(__FILE__),'..'))
6
+ if File.directory?(File.join(root_dir,'.git'))
7
+ Dir.chdir(root_dir) do |path|
8
+ require 'bundler'
9
+
10
+ begin
11
+ Bundler.setup(:default)
12
+ rescue Bundler::BundlerError => e
13
+ STDERR.puts e.message
14
+ STDERR.puts "Run `bundle install` to install missing gems"
15
+ exit e.status_code
16
+ end
17
+ end
18
+ end
19
+
20
+ lib_dir = File.join(root_dir,'lib')
21
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
22
+
23
+ require 'ronin/ui/cli/commands/emails'
24
+
25
+ Ronin::UI::CLI::Commands::Emails.start