Added the -T,--test option to ronin-exploits run which will only run the
exploits test method to determine if the
target is vulnerable or not.
Added the ronin-exploits completion command to install shell completion
files for all ronin-exploits commands for Bash and Zsh shells.
The ronin-exploits show command can now print an example
ronin-exploits run command for the given exploit.
Use hyphenated values for ronin-exploits new options.
1.0.6 / 2024-06-28
CLI
Fixed the usage for ronin-exploits new --software-version.
Fixed a bug in ronin-exploits run that would crash the command when the
payload failed to create a post-exploitation session.
1.0.5 / 2024-06-19
CLI
Correctly assign the -d short flag to --debug and the -D short flag to
--dry-run for the ronin-exploits run command.
Multiple bug fixes to the ronin-exploits new command:
Create the parent directory of the new exploit file, if it already doesn't
exist, when running ronin-exploits new path/to/new_exploit.rb.
Fixed a bug where ronin-exploits new -t open_redirect was not being
accepted as a valid exploit type.
Fixed a bug in ronin-explotis new where -t xss and -t ssti were not
adding placeholder base_path and query_param metadata attributes to the
newly generated exploit file.
Fixed a typo in the example escape_expr metadata attribute added by
ronin-exploits new -t ssti.
Fixed a spelling mistake in the new exploit template used by the
ronin-exploits new command.
1.0.4 / 2023-12-23
Documentation fixes.
CLI
Fixed a bug in ronin-exploits run when the exploit does not accept a payload
and no payload is given.
1.0.3 / 2023-09-19
CLI
All newly generated exploit files using ronin-exploit new should have a
summary and a description.
Fixed a bug where the ronin-exploits new options --author,
--author-email, or --summary were not properly escaping given values.
1.0.2 / 2023-06-12
Corrected the class_dir for Ronin::Exploits; even though
ronin-exploits will never contain any built-in exploits.
Avoid using case/in syntax for TruffleRuby.
Documentation fixes and improvements.
CLI
Fixed a typo in ronin-exploits new man-page.
Fixed a bug in the ronin-exploits show command where a target's version
was not being printed.
Fixed a bug where ronin-exploits new --payload-type command wasn't being
accepted as a valid payload type.
Removed Ronin::Payloads::Payload#payload to raw_payload.
Removed Ronin::Payloads::Payload#call.
Moved to YARD based documentation.
Updated the project summary and 3-point description for ronin-exploits.
Ronin::Model::TargetsArch now auto-defines a relationship with Arch.
Ronin::Model::TargetsOS now auto-defines a relationship with OS.
Ronin::Model::TargetsProduct now auto-defines a relationship with Product.
Refactored Ronin::Exploits::Exploit.
Include Ronin::Controls::Behaviors into Ronin::Exploits::Exploit.
Made Ronin::Exploits::Exploit#to_s more robust.
Safely load exploit helpers using the new require_within method.
Allow Ronin::Exploits::Exploit#encode_payload to accept a block, which
will be used to encode the payload.
No longer allow the payload to be directly passed to
Ronin::Exploits::Exploit#build!.
Allow an index or query to be passed to
Ronin::Exploits::Exploit#use_target!.
Have Ronin::Exploits::Exploit#build_payload! only reset @raw_payload
if a payload is set.
Make sure Ronin::Exploits::Exploit#encode_payload! cannot set the
encoded_payload to nil.
Allow Ronin::Exploits::Exploit#encode_payload! to use either
Ronin::Payloads::Encoders::Encoder or Proc objects.
Allow Ronin::Exploits::Exploit#build_payload! to pass options to
Ronin::Payloads::Payload#build!.
Allow Ronin::Exploits::Exploit#build! to pass options to
Ronin::Exploits::Exploit#build_payload!.
Ronin::Exploits::Exploit#deploy! no longer receives options.
Allow Ronin::Exploits::Exploit#exploit! to accept a :dry_run option,
which will cause the exploit to be built but not deployed.
Default the @buffer instance variable to an empty String, in
Ronin::Exploits::Helpers::BufferOverflow.
Default the @format_string instance variable to an empty String, in
Ronin::Exploits::Helpers::FormatString.
Refactored Ronin::Payloads::Payload.
Include Ronin::Controls::Behaviors into Ronin::Payloads::Payload.
Made Ronin::Payloads::Payload#to_s more robust.
Safely load payload helpers using the new require_within method.
0.2.1 / 2009-07-02
Use Hoe >= 2.0.0.
Require ronin >= 0.2.4.
Added Ronin::Model::TargetsArch.
Added Ronin::Model::TargetsOS.
Added Ronin::Mode::HasDefaultPort.
Added Exploit#deployed?.
Added Exploit#inspect.
Added Exploits::Helpers::FileBased.
Added Exploits::Web#http_method.
Added Exploits::Web#targeted_url_path.
Added Payload#inspect.
Added Payload#call method.
Renamed Exploit#exploit to Exploit#call.
Renamed Payloads::Helpers::Unimplemented to
Payloads::Helpers::NotImplemented.
Renamed RPC#call to RPC#call_method.
Removed Exploit#switch_payload.
Moved verifier methods into Exploits::Verifiers.
Allow Exploit#allow to accept multiple behaviors.
Include UI::Diagnostics into Ronin::Exploits::Exploit.
Include Sessions::HTTP into Exploits::Web.
Include UI::Diagnostics into Ronin::Payloads::Payload.
Allow Payload#controlling to accept multiple behaviors.
Added more specs.
0.2.0 / 2009-04-11
Added Ronin::TargetedArch.
Added Ronin::TargetedOS.
Added Ronin::TargetedProduct.
Added Ronin::Model::TargetsArch.
Added Ronin::Model::TargetsOS.
Refactored Ronin::Exploits:
Added Ronin::Exploits::Target.
Added Ronin::Exploits::Targets::BufferOverflow.
Added Ronin::Exploits::Targets::FormatString.
Added Ronin::Exploits::Helpers::Binary.
Added Ronin::Exploits::Helpers::Padding.
Added Ronin::Exploits::Helpers::BufferOverflow.
Added Ronin::Exploits::Helpers::FormatString.
Added Ronin::Exploits::Local.
Added Ronin::Exploits::Remote.
Added Ronin::Exploits::RemoteTCP.
Added Ronin::Exploits::RemoteUDP.
Added Ronin::Exploits::FTP.
Added Ronin::Exploits::HTTP.
Renamed Ronin::Exploits::Impact to Ronin::Exploits::Allow.
Removed the Ronin::Exploits::Requirement.
Rewrote Ronin::Exploits::Exploit:
Use the new Ronin::Cacheable module.
Added a status property, which may be either :potential,
:proven, :weaponized, but will default to
:potential.
Added a disclosure property, which can be a combination of
:private, :in_wild, :vendor_aware
or :public.
Added Exploit#helper, which will extend the Exploit object with the
Helper module with the similar name.
Added the Exploit#build!, Exploit#verify!, Exploit#deploy!
methods, which will call the user-defined Exploit#build,
Exploit#verify, Exploit#deploy methods, respectively.
Added the Exploit#target which will return the current selected
target, or the first target of the exploit.
Added the Exploit#arch, Exploit#os and Exploit#product methods.
Added the Exploit#verify_target!, Exploit#verify_arch!,
Exploit#verify_os! and Exploit#verify_product! methods.
Added Exploit#encoded_payload.
Added Exploit#encode_payload!.
Have Exploit#verify_restricted! raise an exception listing all
restricted characters found in the given text.
Renamed Exploit#allows to Exploit#allowing.
Renamed Exploit#verify_restricted to Exploit#verify_restricted!.
Renamed Exploit#exploit to Exploit#exploit!.
Removed Exploit#payloads.
Removed Exploit#vulnerable?.
Refactored Ronin::Payloads:
Added Ronin::Payloads::Helpers::FileSystem.
Added Ronin::Payloads::Helpers::RPC.
Added Ronin::Payloads::Helpers::Shell.
Added Ronin::Payloads::Nops.
Added Ronin::Payloads::Encoder.
Added Ronin::Payloads::Encoders::XOR.
Renamed Ronin::Payloads::Ability to Ronin::Payloads::Control.
Rewrote Ronin::Payloads::Payload:
Use the new Ronin::Cacheable module.
Use Ronin::Model::TargetsArch.
Use Ronin::Model::TargetsOS.
Added Payload#helper, which will extend the Payload object with the
Helper module with the similar name.
Added Payload#behaviors.
Added Payload#build!, Payload#verify!, Payload#deploy!, which will
call the user-defined Payload#build, Payload#verify, Payload#deploy
methods, respectively.
Rewrote Payload#to_s to return the name and version of the payload.
Renamed Payload#controls to Payload#controlling.
Removed encoders from the Payload class.
Added specs.
0.1.1 / 2009-01-22
Removed old references to the ronin/vulnerability directory.
Removed old references to the Ronin::Vulnerability namespace.
Removed past usage of the :value option with parameters.
Parametes now uses the :default option, for specifying the
default value of parameters.
Added the missing Ronin::Exploits::PayloadSize exception.
Reduce usage of first_or_create.
Updated target methods.
0.1.0 / 2008-01-08
Initial release.
Supports many basic exploit types:
Ronin::Exploits::Exploit
Ronin::Exploits::BinaryExploit
Ronin::Exploits::BufferOverflow
Ronin::Exploits::FormatString
Ronin::Exploits::WebExploit
Supports a few basic payload types:
Ronin::Payloads::Payload
Ronin::Payloads::BinaryPayload
Ronin::Payloads::Shellcode
Ronin::Payloads::WebPayload
Provides the ability to associate Vulnerability Taxonomy information
with Exploits and Payloads.
Provides a semi-intelligent XOR translator (Ronin::Translators::XOR).