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.
- data/.document +4 -0
- data/.rspec +1 -0
- data/.yardopts +5 -0
- data/{History.txt → ChangeLog.md} +15 -15
- data/Gemfile +42 -0
- data/README.md +224 -0
- data/Rakefile +65 -33
- data/bin/ronin +18 -5
- data/bin/ronin-campaigns +25 -0
- data/bin/ronin-console +18 -5
- data/bin/ronin-creds +25 -0
- data/bin/ronin-database +25 -0
- data/bin/ronin-emails +25 -0
- data/bin/ronin-exec +25 -0
- data/bin/ronin-help +18 -5
- data/bin/ronin-hosts +25 -0
- data/bin/ronin-ips +25 -0
- data/bin/ronin-repos +25 -0
- data/bin/ronin-urls +25 -0
- data/gemspec.yml +71 -0
- data/lib/ronin/address.rb +93 -0
- data/lib/ronin/arch.rb +30 -25
- data/lib/ronin/author.rb +12 -42
- data/lib/ronin/bootstrap.rb +26 -0
- data/lib/ronin/cached_file.rb +249 -0
- data/lib/ronin/campaign.rb +130 -0
- data/lib/ronin/class_methods.rb +27 -0
- data/lib/ronin/config.rb +23 -17
- data/lib/ronin/credential.rb +114 -0
- data/lib/ronin/database/database.rb +180 -52
- data/lib/ronin/database/exceptions/invalid_config.rb +2 -2
- data/lib/ronin/{platform/exceptions/extension_not_found.rb → database/exceptions/unknown_repository.rb} +3 -3
- data/lib/ronin/database/exceptions.rb +2 -1
- data/lib/ronin/database/migrations/create_addresses_table.rb +52 -0
- data/lib/ronin/database/migrations/create_arches_table.rb +44 -0
- data/lib/ronin/database/migrations/create_authors_table.rb +47 -0
- data/lib/ronin/database/migrations/create_cached_files_table.rb +47 -0
- data/lib/ronin/database/migrations/create_campaigns_table.rb +42 -0
- data/lib/ronin/database/migrations/create_countries_table.rb +44 -0
- data/lib/ronin/database/migrations/create_credentials_table.rb +59 -0
- data/lib/ronin/database/migrations/create_email_addresses_table.rb +51 -0
- data/lib/ronin/database/migrations/create_host_name_ip_addresses_table.rb +45 -0
- data/lib/ronin/database/migrations/create_ip_address_mac_addresses_table.rb +45 -0
- data/lib/ronin/database/migrations/create_licenses_table.rb +44 -0
- data/lib/ronin/database/migrations/create_open_ports_table.rb +55 -0
- data/lib/ronin/database/migrations/create_organizations_table.rb +47 -0
- data/lib/ronin/database/migrations/create_os_guesses_table.rb +45 -0
- data/lib/ronin/database/migrations/create_os_table.rb +43 -0
- data/lib/ronin/{extensions/array.rb → database/migrations/create_passwords_table.rb} +17 -23
- data/lib/ronin/{ui/command_line/commands/uninstall.rb → database/migrations/create_ports_table.rb} +20 -24
- data/lib/ronin/database/migrations/create_proxies_table.rb +55 -0
- data/lib/ronin/database/migrations/create_remote_files_table.rb +53 -0
- data/lib/ronin/database/migrations/create_repositories_table.rb +61 -0
- data/lib/ronin/{ui/command_line/commands/remove.rb → database/migrations/create_services_table.rb} +20 -24
- data/lib/ronin/database/migrations/create_softwares_table.rb +46 -0
- data/lib/ronin/database/migrations/create_taggings_table.rb +46 -0
- data/lib/ronin/database/migrations/create_tags_table.rb +42 -0
- data/lib/ronin/database/migrations/create_targets_table.rb +50 -0
- data/lib/ronin/{network/imap.rb → database/migrations/create_url_query_params_table.rb} +16 -22
- data/lib/ronin/database/migrations/create_url_schemes_table.rb +40 -0
- data/lib/ronin/database/migrations/create_urls_table.rb +61 -0
- data/lib/ronin/{network/pop3.rb → database/migrations/create_user_names_table.rb} +16 -21
- data/lib/ronin/database/migrations/create_vendors_table.rb +42 -0
- data/lib/ronin/database/migrations/exceptions/duplicate_migration.rb +30 -0
- data/lib/ronin/{network/http/exceptions/unknown_request.rb → database/migrations/exceptions/unknown_migration.rb} +4 -4
- data/lib/ronin/{platform → database/migrations}/exceptions.rb +3 -3
- data/lib/ronin/database/migrations/graph.rb +278 -0
- data/lib/ronin/database/migrations/migration.rb +67 -0
- data/lib/ronin/database/migrations/migrations.rb +186 -0
- data/lib/ronin/database/migrations.rb +55 -0
- data/lib/ronin/database.rb +2 -1
- data/lib/ronin/email_address.rb +133 -0
- data/lib/ronin/engine/buildable.rb +125 -0
- data/lib/ronin/engine/class_methods.rb +133 -0
- data/lib/ronin/engine/deployable.rb +180 -0
- data/lib/ronin/engine/engine.rb +69 -0
- data/lib/ronin/{rpc/exceptions/response_missing.rb → engine/exceptions/deploy_failed.rb} +3 -3
- data/lib/ronin/{rpc/exceptions/not_implemented.rb → engine/exceptions/not_built.rb} +3 -3
- data/lib/ronin/{platform/exceptions/overlay_cached.rb → engine/exceptions/verification_failed.rb} +3 -3
- data/lib/ronin/{rpc → engine}/exceptions.rb +4 -3
- data/lib/ronin/engine/instance_methods.rb +95 -0
- data/lib/ronin/engine/verifiable.rb +334 -0
- data/lib/ronin/{yard.rb → engine.rb} +2 -2
- data/lib/ronin/environment.rb +5 -14
- data/lib/ronin/{platform/exceptions/overlay_not_found.rb → exceptions/duplicate_repository.rb} +2 -4
- data/lib/ronin/exceptions/repository_not_found.rb +24 -0
- data/lib/ronin/{network/http/exceptions.rb → exceptions.rb} +3 -2
- data/lib/ronin/host_name.rb +181 -0
- data/lib/ronin/host_name_ip_address.rb +42 -0
- data/lib/ronin/installation.rb +169 -0
- data/lib/ronin/ip_address.rb +273 -0
- data/lib/ronin/ip_address_mac_address.rb +42 -0
- data/lib/ronin/license.rb +17 -20
- data/lib/ronin/mac_address.rb +68 -0
- data/lib/ronin/model/cacheable/cacheable.rb +280 -0
- data/lib/ronin/model/cacheable/class_methods.rb +61 -0
- data/lib/ronin/model/cacheable.rb +22 -0
- data/lib/ronin/{rpc/response.rb → model/class_methods.rb} +17 -21
- data/lib/ronin/{code/emittable.rb → model/has_authors/class_methods.rb} +27 -34
- data/lib/ronin/model/has_authors/has_authors.rb +63 -0
- data/lib/ronin/model/has_authors.rb +22 -0
- data/lib/ronin/model/has_description/class_methods.rb +44 -0
- data/lib/ronin/model/has_description/has_description.rb +42 -0
- data/lib/ronin/model/has_description.rb +3 -59
- data/lib/ronin/{network/helpers/helper.rb → model/has_license/class_methods.rb} +16 -22
- data/lib/ronin/model/has_license/has_license.rb +64 -0
- data/lib/ronin/model/has_license.rb +3 -38
- data/lib/ronin/model/has_name/class_methods.rb +47 -0
- data/lib/ronin/model/has_name/has_name.rb +53 -0
- data/lib/ronin/model/has_name.rb +3 -33
- data/lib/ronin/model/has_title/class_methods.rb +43 -0
- data/lib/ronin/model/has_title/has_title.rb +41 -0
- data/lib/ronin/model/has_title.rb +22 -0
- data/lib/ronin/model/has_unique_name.rb +52 -0
- data/lib/ronin/model/has_version/class_methods.rb +47 -0
- data/lib/ronin/model/has_version/has_version.rb +41 -0
- data/lib/ronin/model/has_version.rb +3 -37
- data/lib/ronin/model/model.rb +27 -32
- data/lib/ronin/model/types/description.rb +60 -0
- data/lib/ronin/{extensions/meta.rb → model/types.rb} +2 -2
- data/lib/ronin/model.rb +1 -1
- data/lib/ronin/network/mixins/esmtp.rb +152 -0
- data/lib/ronin/network/{helpers → mixins}/http.rb +79 -61
- data/lib/ronin/network/mixins/imap.rb +140 -0
- data/lib/ronin/network/mixins/pop3.rb +130 -0
- data/lib/ronin/network/mixins/smtp.rb +146 -0
- data/lib/ronin/network/{helpers → mixins}/tcp.rb +97 -98
- data/lib/ronin/network/{helpers → mixins}/telnet.rb +71 -41
- data/lib/ronin/network/mixins/udp.rb +210 -0
- data/lib/ronin/network/mixins.rb +29 -0
- data/lib/ronin/open_port.rb +112 -0
- data/lib/ronin/organization.rb +49 -0
- data/lib/ronin/os.rb +61 -11
- data/lib/ronin/os_guess.rb +42 -0
- data/lib/ronin/password.rb +126 -0
- data/lib/ronin/port.rb +71 -0
- data/lib/ronin/proxy.rb +179 -0
- data/lib/ronin/proxy_credential.rb +30 -0
- data/lib/ronin/remote_file.rb +150 -0
- data/lib/ronin/repository.rb +681 -0
- data/lib/ronin/ronin.rb +31 -0
- data/lib/ronin/service.rb +52 -0
- data/lib/ronin/service_credential.rb +30 -0
- data/lib/ronin/{product.rb → software.rb} +12 -34
- data/lib/ronin/spec/database.rb +42 -0
- data/lib/ronin/{extensions/uri/http.rb → spec/ui/output.rb} +6 -8
- data/lib/ronin/target.rb +78 -0
- data/lib/ronin/tcp_port.rb +41 -0
- data/lib/ronin/udp_port.rb +37 -0
- data/lib/ronin/ui/async_console.rb +130 -0
- data/lib/ronin/ui/cli/cli.rb +147 -0
- data/lib/ronin/ui/cli/command.rb +316 -0
- data/lib/ronin/ui/cli/commands/campaigns.rb +130 -0
- data/lib/ronin/ui/{command_line → cli}/commands/console.rb +27 -22
- data/lib/ronin/ui/cli/commands/creds.rb +87 -0
- data/lib/ronin/ui/cli/commands/database.rb +179 -0
- data/lib/ronin/ui/cli/commands/emails.rb +108 -0
- data/lib/ronin/ui/cli/commands/exec.rb +124 -0
- data/lib/ronin/ui/{command_line → cli}/commands/help.rb +17 -14
- data/lib/ronin/ui/cli/commands/hosts.rb +177 -0
- data/lib/ronin/ui/cli/commands/ips.rb +172 -0
- data/lib/ronin/ui/cli/commands/repos.rb +236 -0
- data/lib/ronin/ui/cli/commands/urls.rb +144 -0
- data/lib/ronin/ui/cli/commands.rb +37 -0
- data/lib/ronin/ui/cli/engine_command.rb +104 -0
- data/lib/ronin/ui/{command_line → cli}/exceptions/unknown_command.rb +2 -2
- data/lib/ronin/{formatting/digest.rb → ui/cli/exceptions.rb} +2 -2
- data/lib/ronin/ui/cli/model_command.rb +247 -0
- data/lib/ronin/{formatting/binary.rb → ui/cli.rb} +3 -2
- data/lib/ronin/ui/console.rb +104 -109
- data/lib/ronin/ui/hexdump/extensions/file.rb +1 -1
- data/lib/ronin/ui/hexdump/extensions/kernel.rb +1 -1
- data/lib/ronin/ui/hexdump/extensions.rb +1 -1
- data/lib/ronin/ui/hexdump/hexdump.rb +5 -3
- data/lib/ronin/ui/hexdump.rb +1 -1
- data/lib/ronin/ui/output/helpers.rb +97 -9
- data/lib/ronin/ui/output/output.rb +30 -54
- data/lib/ronin/ui/output/terminal/color.rb +97 -0
- data/lib/ronin/ui/output/terminal/raw.rb +91 -0
- data/lib/ronin/{extensions/uri.rb → ui/output/terminal.rb} +3 -2
- data/lib/ronin/ui/output.rb +1 -1
- data/lib/ronin/ui/shell.rb +55 -90
- data/lib/ronin/ui.rb +1 -1
- data/lib/ronin/url.rb +343 -0
- data/lib/ronin/url_query_param.rb +40 -0
- data/lib/ronin/url_scheme.rb +37 -0
- data/lib/ronin/user_name.rb +45 -0
- data/lib/ronin/vendor.rb +40 -0
- data/lib/ronin/version.rb +2 -2
- data/lib/ronin/web_credential.rb +32 -0
- data/lib/ronin.rb +2 -2
- data/ronin.gemspec +10 -0
- data/spec/arch_spec.rb +1 -2
- data/spec/author_spec.rb +18 -2
- data/spec/cached_file_spec.rb +211 -0
- data/spec/campaign_spec.rb +30 -0
- data/spec/database_spec.rb +5 -0
- data/spec/email_address_spec.rb +35 -0
- data/spec/engine/buildable_spec.rb +51 -0
- data/spec/engine/classes/buildable_class.rb +15 -0
- data/spec/engine/classes/deployable_class.rb +13 -0
- data/spec/engine/classes/engine_class.rb +19 -0
- data/spec/engine/classes/verifiable_class.rb +19 -0
- data/spec/engine/deployable_spec.rb +55 -0
- data/spec/engine/engine_spec.rb +55 -0
- data/spec/engine/verifiable_spec.rb +117 -0
- data/spec/{static/helpers/static1/dir/two.txt → helpers/repos/hello/cache/.keep} +0 -0
- data/spec/helpers/repos/hello/lib/init.rb +1 -0
- data/spec/{platform/helpers/overlays → helpers/repos}/hello/lib/stuff/another_test.rb +0 -0
- data/spec/{platform/helpers/overlays → helpers/repos}/hello/lib/stuff/test.rb +0 -0
- data/spec/helpers/repos/hello/ronin.yml +7 -0
- data/spec/{static/helpers/static1/one.txt → helpers/repos/random/cache/.keep} +0 -0
- data/spec/helpers/repos/random/ronin.yml +7 -0
- data/spec/helpers/repos/test1/cache/cacheable_model/one.rb +15 -0
- data/spec/helpers/repos/test1/ronin.yml +7 -0
- data/spec/helpers/repos/test2/cache/cacheable_model/exceptions.rb +7 -0
- data/spec/helpers/repos/test2/cache/cacheable_model/load_errors.rb +9 -0
- data/spec/helpers/repos/test2/cache/cacheable_model/no_method_errors.rb +9 -0
- data/spec/helpers/repos/test2/cache/cacheable_model/syntax_errors.rb +7 -0
- data/spec/helpers/repos/test2/cache/cacheable_model/two.rb +15 -0
- data/spec/helpers/repos/test2/cache/cacheable_model/validation_errors.rb +9 -0
- data/spec/helpers/repos/test2/ronin.yml +7 -0
- data/spec/helpers/repositories.rb +11 -0
- data/spec/host_name_spec.rb +51 -0
- data/spec/installation_spec.rb +45 -0
- data/spec/ip_address.rb +67 -0
- data/spec/license_spec.rb +1 -2
- data/spec/mac_address_spec.rb +18 -0
- data/spec/model/cacheable_spec.rb +93 -0
- data/spec/model/has_description_spec.rb +45 -26
- data/spec/model/has_license_spec.rb +18 -17
- data/spec/model/has_name_spec.rb +35 -0
- data/spec/model/has_title_spec.rb +27 -0
- data/spec/model/model_spec.rb +27 -19
- data/spec/model/{classes → models}/basic_model.rb +0 -0
- data/spec/model/models/cacheable_model.rb +15 -0
- data/spec/model/{classes → models}/custom_model.rb +1 -1
- data/spec/model/{classes → models}/described_model.rb +0 -0
- data/spec/model/models/lazy_model.rb +9 -0
- data/spec/model/{classes → models}/licensed_model.rb +0 -0
- data/spec/model/models/named_model.rb +10 -0
- data/spec/model/models/titled_model.rb +10 -0
- data/spec/model/spec_helper.rb +22 -0
- data/spec/os_spec.rb +1 -2
- data/spec/password_spec.rb +35 -0
- data/spec/repository_spec.rb +291 -0
- data/spec/ronin_spec.rb +19 -5
- data/spec/software_spec.rb +23 -0
- data/spec/spec_helper.rb +35 -4
- data/spec/support/inflector_spec.rb +20 -0
- data/spec/ui/cli/classes/test_command.rb +11 -0
- data/spec/ui/cli/command_spec.rb +21 -0
- data/spec/ui/output_spec.rb +20 -17
- data/spec/url_spec.rb +111 -0
- data/spec/vendor_spec.rb +18 -0
- metadata +761 -421
- data/Manifest.txt +0 -290
- data/README.txt +0 -206
- data/bin/ronin-add +0 -12
- data/bin/ronin-install +0 -12
- data/bin/ronin-list +0 -12
- data/bin/ronin-remove +0 -12
- data/bin/ronin-uninstall +0 -12
- data/bin/ronin-update +0 -12
- data/lib/ronin/cacheable.rb +0 -307
- data/lib/ronin/code/reference.rb +0 -130
- data/lib/ronin/code/symbol_table.rb +0 -100
- data/lib/ronin/code/token.rb +0 -69
- data/lib/ronin/extensions/file.rb +0 -38
- data/lib/ronin/extensions/ip_addr.rb +0 -147
- data/lib/ronin/extensions/kernel.rb +0 -97
- data/lib/ronin/extensions/meta/object.rb +0 -24
- data/lib/ronin/extensions/string.rb +0 -119
- data/lib/ronin/extensions/uri/query_params.rb +0 -126
- data/lib/ronin/extensions.rb +0 -26
- data/lib/ronin/formatting/extensions/binary/file.rb +0 -35
- data/lib/ronin/formatting/extensions/binary/integer.rb +0 -106
- data/lib/ronin/formatting/extensions/binary/string.rb +0 -285
- data/lib/ronin/formatting/extensions/binary.rb +0 -22
- data/lib/ronin/formatting/extensions/digest/string.rb +0 -87
- data/lib/ronin/formatting/extensions/digest.rb +0 -21
- data/lib/ronin/formatting/extensions/http/string.rb +0 -88
- data/lib/ronin/formatting/extensions/http.rb +0 -21
- data/lib/ronin/formatting/extensions/text/array.rb +0 -77
- data/lib/ronin/formatting/extensions/text/string.rb +0 -162
- data/lib/ronin/formatting/extensions/text.rb +0 -22
- data/lib/ronin/formatting/extensions.rb +0 -22
- data/lib/ronin/formatting/http.rb +0 -21
- data/lib/ronin/formatting/text.rb +0 -21
- data/lib/ronin/formatting.rb +0 -25
- data/lib/ronin/network/esmtp.rb +0 -21
- data/lib/ronin/network/extensions/esmtp/net.rb +0 -96
- data/lib/ronin/network/extensions/esmtp.rb +0 -21
- data/lib/ronin/network/extensions/http/net.rb +0 -607
- data/lib/ronin/network/extensions/http.rb +0 -21
- data/lib/ronin/network/extensions/imap/net.rb +0 -119
- data/lib/ronin/network/extensions/imap.rb +0 -21
- data/lib/ronin/network/extensions/pop3/net.rb +0 -88
- data/lib/ronin/network/extensions/pop3.rb +0 -21
- data/lib/ronin/network/extensions/smtp/net.rb +0 -108
- data/lib/ronin/network/extensions/smtp.rb +0 -21
- data/lib/ronin/network/extensions/tcp/net.rb +0 -313
- data/lib/ronin/network/extensions/tcp.rb +0 -21
- data/lib/ronin/network/extensions/telnet/net.rb +0 -151
- data/lib/ronin/network/extensions/telnet.rb +0 -21
- data/lib/ronin/network/extensions/udp/net.rb +0 -224
- data/lib/ronin/network/extensions/udp.rb +0 -21
- data/lib/ronin/network/extensions.rb +0 -28
- data/lib/ronin/network/helpers/esmtp.rb +0 -129
- data/lib/ronin/network/helpers/imap.rb +0 -115
- data/lib/ronin/network/helpers/pop3.rb +0 -110
- data/lib/ronin/network/helpers/smtp.rb +0 -123
- data/lib/ronin/network/helpers/udp.rb +0 -197
- data/lib/ronin/network/helpers.rb +0 -29
- data/lib/ronin/network/http/http.rb +0 -214
- data/lib/ronin/network/http/proxy.rb +0 -308
- data/lib/ronin/network/http.rb +0 -23
- data/lib/ronin/network/smtp/email.rb +0 -142
- data/lib/ronin/network/smtp/smtp.rb +0 -67
- data/lib/ronin/network/smtp.rb +0 -23
- data/lib/ronin/network/tcp.rb +0 -21
- data/lib/ronin/network/telnet.rb +0 -108
- data/lib/ronin/network/udp.rb +0 -21
- data/lib/ronin/network.rb +0 -28
- data/lib/ronin/path.rb +0 -90
- data/lib/ronin/platform/extension.rb +0 -446
- data/lib/ronin/platform/extension_cache.rb +0 -143
- data/lib/ronin/platform/maintainer.rb +0 -69
- data/lib/ronin/platform/object_cache.rb +0 -124
- data/lib/ronin/platform/overlay.rb +0 -353
- data/lib/ronin/platform/overlay_cache.rb +0 -447
- data/lib/ronin/platform/platform.rb +0 -304
- data/lib/ronin/platform/ronin.rb +0 -97
- data/lib/ronin/platform/tasks/spec.rb +0 -9
- data/lib/ronin/platform.rb +0 -24
- data/lib/ronin/rpc/call.rb +0 -72
- data/lib/ronin/rpc/client.rb +0 -88
- data/lib/ronin/rpc/console.rb +0 -78
- data/lib/ronin/rpc/service.rb +0 -66
- data/lib/ronin/rpc/shell.rb +0 -63
- data/lib/ronin/rpc.rb +0 -24
- data/lib/ronin/scanners/exceptions/unknown_category.rb +0 -26
- data/lib/ronin/scanners/exceptions.rb +0 -21
- data/lib/ronin/scanners/scanner.rb +0 -295
- data/lib/ronin/scanners.rb +0 -22
- data/lib/ronin/static/finders.rb +0 -165
- data/lib/ronin/static/static.rb +0 -62
- data/lib/ronin/static.rb +0 -22
- data/lib/ronin/templates/erb.rb +0 -70
- data/lib/ronin/templates/template.rb +0 -130
- data/lib/ronin/templates.rb +0 -22
- data/lib/ronin/ui/command_line/command.rb +0 -216
- data/lib/ronin/ui/command_line/command_line.rb +0 -151
- data/lib/ronin/ui/command_line/commands/add.rb +0 -79
- data/lib/ronin/ui/command_line/commands/install.rb +0 -69
- data/lib/ronin/ui/command_line/commands/list.rb +0 -105
- data/lib/ronin/ui/command_line/commands/update.rb +0 -59
- data/lib/ronin/ui/command_line/exceptions.rb +0 -21
- data/lib/ronin/ui/command_line.rb +0 -22
- data/lib/ronin/ui/output/handler.rb +0 -121
- data/lib/ronin/yard/handlers/ruby/base.rb +0 -27
- data/lib/ronin/yard/handlers/ruby/belongs_to_handler.rb +0 -45
- data/lib/ronin/yard/handlers/ruby/eval_block_handler.rb +0 -18
- data/lib/ronin/yard/handlers/ruby/has_handler.rb +0 -49
- data/lib/ronin/yard/handlers/ruby/legacy/belongs_to_handler.rb +0 -41
- data/lib/ronin/yard/handlers/ruby/legacy/eval_block_handler.rb +0 -19
- data/lib/ronin/yard/handlers/ruby/legacy/has_handler.rb +0 -34
- data/lib/ronin/yard/handlers/ruby/legacy/metaclass_eval_handler.rb +0 -21
- data/lib/ronin/yard/handlers/ruby/legacy/property_handler.rb +0 -41
- data/lib/ronin/yard/handlers/ruby/legacy/scanner_handler.rb +0 -61
- data/lib/ronin/yard/handlers/ruby/legacy.rb +0 -26
- data/lib/ronin/yard/handlers/ruby/metaclass_eval_handler.rb +0 -18
- data/lib/ronin/yard/handlers/ruby/property_handler.rb +0 -45
- data/lib/ronin/yard/handlers/ruby/scanner_handler.rb +0 -66
- data/lib/ronin/yard/handlers/ruby.rb +0 -27
- data/lib/ronin/yard/handlers.rb +0 -24
- data/spec/cacheable_spec.rb +0 -150
- data/spec/classes/cacheable_model.rb +0 -15
- data/spec/code/classes/thing.rb +0 -17
- data/spec/code/reference_spec.rb +0 -63
- data/spec/code/symbol_table_spec.rb +0 -45
- data/spec/extensions/array_spec.rb +0 -34
- data/spec/extensions/classes/some_class.rb +0 -2
- data/spec/extensions/ip_addr_spec.rb +0 -44
- data/spec/extensions/kernel_spec.rb +0 -76
- data/spec/extensions/string_spec.rb +0 -103
- data/spec/extensions/uri/http_spec.rb +0 -9
- data/spec/extensions/uri/query_params_spec.rb +0 -46
- data/spec/formatting/binary/helpers/hexdumps/hexdump_decimal_shorts.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/hexdump_hex_bytes.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/hexdump_hex_shorts.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/hexdump_octal_bytes.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/hexdump_octal_shorts.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/hexdump_repeated.txt +0 -6
- data/spec/formatting/binary/helpers/hexdumps/od_decimal_bytes.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_decimal_ints.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_decimal_quads.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_decimal_shorts.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_hex_bytes.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_hex_ints.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_hex_quads.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_hex_shorts.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_octal_bytes.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_octal_ints.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_octal_quads.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_octal_shorts.txt +0 -17
- data/spec/formatting/binary/helpers/hexdumps/od_repeated.txt +0 -6
- data/spec/formatting/binary/helpers/hexdumps/repeated.bin +0 -1
- data/spec/formatting/binary/helpers/hexdumps.rb +0 -14
- data/spec/formatting/binary/integer_spec.rb +0 -131
- data/spec/formatting/binary/string_spec.rb +0 -251
- data/spec/formatting/digest/string_spec.rb +0 -80
- data/spec/formatting/http/string_spec.rb +0 -80
- data/spec/formatting/text/array_spec.rb +0 -64
- data/spec/formatting/text/string_spec.rb +0 -147
- data/spec/helpers/cacheable.rb +0 -7
- data/spec/helpers/contexts/ronin_cacheable_model.rb +0 -13
- data/spec/helpers/database.rb +0 -5
- data/spec/network/helpers/classes/test_helper.rb +0 -11
- data/spec/network/helpers/classes/uses_test_helper.rb +0 -10
- data/spec/network/helpers/helper_spec.rb +0 -25
- data/spec/network/http/http_spec.rb +0 -197
- data/spec/network/http/proxy_spec.rb +0 -116
- data/spec/path_spec.rb +0 -32
- data/spec/platform/extension_cache_spec.rb +0 -64
- data/spec/platform/extension_spec.rb +0 -73
- data/spec/platform/helpers/overlays/hello/hello/extension.rb +0 -7
- data/spec/platform/helpers/overlays/hello/lib/init.rb +0 -1
- data/spec/platform/helpers/overlays/hello/ronin.xml +0 -26
- data/spec/platform/helpers/overlays/random/random/extension.rb +0 -7
- data/spec/platform/helpers/overlays/random/ronin.xml +0 -26
- data/spec/platform/helpers/overlays/test1/ronin.xml +0 -26
- data/spec/platform/helpers/overlays/test1/test/extension.rb +0 -7
- data/spec/platform/helpers/overlays/test2/ronin.xml +0 -26
- data/spec/platform/helpers/overlays/test2/test/extension.rb +0 -7
- data/spec/platform/helpers/overlays.rb +0 -18
- data/spec/platform/helpers/overlays.yaml.erb +0 -13
- data/spec/platform/maintainer_spec.rb +0 -30
- data/spec/platform/overlay_cache_spec.rb +0 -65
- data/spec/platform/overlay_spec.rb +0 -63
- data/spec/platform/platform_spec.rb +0 -22
- data/spec/platform/ronin_spec.rb +0 -34
- data/spec/product_spec.rb +0 -23
- data/spec/scanners/classes/another_scanner.rb +0 -16
- data/spec/scanners/classes/example_scanner.rb +0 -22
- data/spec/scanners/scanner_spec.rb +0 -148
- data/spec/static/classes/static_class.rb +0 -7
- data/spec/static/finders_spec.rb +0 -55
- data/spec/static/helpers/static.rb +0 -10
- data/spec/static/helpers/static2/dir/two.txt +0 -0
- data/spec/static/static_spec.rb +0 -25
- data/spec/templates/classes/example_erb.rb +0 -11
- data/spec/templates/classes/example_template.rb +0 -21
- data/spec/templates/erb_spec.rb +0 -20
- data/spec/templates/helpers/static/templates/_relative.erb +0 -1
- data/spec/templates/helpers/static/templates/example.erb +0 -1
- data/spec/templates/helpers/static.rb +0 -5
- data/spec/templates/template_spec.rb +0 -41
- data/spec/ui/command_line/classes/test_command.rb +0 -23
- data/spec/ui/command_line/command_spec.rb +0 -31
- data/static/ronin/platform/overlay.xsl +0 -203
- data/tasks/spec.rb +0 -10
- data/tasks/yard.rb +0 -18
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/.document
ADDED
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--colour --format documentation
|
data/.yardopts
ADDED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
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::
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
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::
|
|
25
|
+
Ronin::UI::CLI.start
|
data/bin/ronin-campaigns
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/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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
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::
|
|
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
|
data/bin/ronin-database
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/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
|