ronin-payloads 0.2.0.rc2 → 0.2.1

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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -0
  3. data/.ruby-version +1 -1
  4. data/ChangeLog.md +14 -1
  5. data/README.md +1 -1
  6. data/Rakefile +8 -1
  7. data/data/completions/ronin-payloads +33 -33
  8. data/gemspec.yml +2 -2
  9. data/lib/ronin/payloads/asm_payload.rb +5 -5
  10. data/lib/ronin/payloads/binary_payload.rb +2 -2
  11. data/lib/ronin/payloads/builtin/bin/unix/reverse_shell.rb +1 -1
  12. data/lib/ronin/payloads/builtin/bin/windows/reverse_shell.rb +1 -1
  13. data/lib/ronin/payloads/builtin/cmd/awk/reverse_shell.rb +1 -1
  14. data/lib/ronin/payloads/builtin/cmd/bash/reverse_shell.rb +1 -1
  15. data/lib/ronin/payloads/builtin/cmd/lua/reverse_shell.rb +1 -1
  16. data/lib/ronin/payloads/builtin/cmd/netcat/bind_shell.rb +1 -1
  17. data/lib/ronin/payloads/builtin/cmd/node/reverse_shell.rb +1 -1
  18. data/lib/ronin/payloads/builtin/cmd/openssl/reverse_shell.rb +1 -1
  19. data/lib/ronin/payloads/builtin/cmd/perl/reverse_shell.rb +1 -1
  20. data/lib/ronin/payloads/builtin/cmd/php/reverse_shell.rb +1 -1
  21. data/lib/ronin/payloads/builtin/cmd/ping.rb +1 -1
  22. data/lib/ronin/payloads/builtin/cmd/powershell/reverse_shell.rb +1 -1
  23. data/lib/ronin/payloads/builtin/cmd/python/reverse_shell.rb +1 -1
  24. data/lib/ronin/payloads/builtin/cmd/ruby/reverse_shell.rb +1 -1
  25. data/lib/ronin/payloads/builtin/cmd/sleep.rb +1 -1
  26. data/lib/ronin/payloads/builtin/cmd/touch.rb +1 -1
  27. data/lib/ronin/payloads/builtin/cmd/windows/download.rb +1 -1
  28. data/lib/ronin/payloads/builtin/cmd/zsh/reverse_shell.rb +1 -1
  29. data/lib/ronin/payloads/builtin/groovy/reverse_shell.rb +1 -1
  30. data/lib/ronin/payloads/builtin/java/reverse_shell/Payload.java.erb +1 -1
  31. data/lib/ronin/payloads/builtin/java/reverse_shell.rb +1 -1
  32. data/lib/ronin/payloads/builtin/js/nashorn/reverse_shell.rb +1 -1
  33. data/lib/ronin/payloads/builtin/js/node/reverse_shell.rb +1 -1
  34. data/lib/ronin/payloads/builtin/php/cmd_exec.rb +1 -1
  35. data/lib/ronin/payloads/builtin/shellcode/freebsd/x86/bind_shell.rb +1 -1
  36. data/lib/ronin/payloads/builtin/shellcode/freebsd/x86/exec_shell.rb +1 -1
  37. data/lib/ronin/payloads/builtin/shellcode/freebsd/x86/reverse_shell.rb +1 -1
  38. data/lib/ronin/payloads/builtin/shellcode/freebsd/x86_64/exec_shell.rb +1 -1
  39. data/lib/ronin/payloads/builtin/shellcode/linux/arm/bind_shell.rb +1 -1
  40. data/lib/ronin/payloads/builtin/shellcode/linux/arm/exec_shell.rb +1 -1
  41. data/lib/ronin/payloads/builtin/shellcode/linux/arm/reverse_shell.rb +1 -1
  42. data/lib/ronin/payloads/builtin/shellcode/linux/mips/bind_shell.rb +1 -1
  43. data/lib/ronin/payloads/builtin/shellcode/linux/mips/exec_shell.rb +1 -1
  44. data/lib/ronin/payloads/builtin/shellcode/linux/mips/reverse_shell.rb +1 -1
  45. data/lib/ronin/payloads/builtin/shellcode/linux/ppc/exec_shell.rb +1 -1
  46. data/lib/ronin/payloads/builtin/shellcode/linux/ppc/reverse_shell.rb +1 -1
  47. data/lib/ronin/payloads/builtin/shellcode/linux/x86/bind_shell.rb +1 -1
  48. data/lib/ronin/payloads/builtin/shellcode/linux/x86/exec_shell.rb +1 -1
  49. data/lib/ronin/payloads/builtin/shellcode/linux/x86/reverse_shell.rb +1 -1
  50. data/lib/ronin/payloads/builtin/shellcode/linux/x86_64/bind_shell.rb +1 -1
  51. data/lib/ronin/payloads/builtin/shellcode/linux/x86_64/exec_shell.rb +1 -1
  52. data/lib/ronin/payloads/builtin/shellcode/linux/x86_64/reverse_shell.rb +1 -1
  53. data/lib/ronin/payloads/builtin/shellcode/macos/x86_64/exec_shell.rb +1 -1
  54. data/lib/ronin/payloads/builtin/shellcode/macos/x86_64/reverse_shell.rb +1 -1
  55. data/lib/ronin/payloads/builtin/shellcode/netbsd/x86/exec_shell.rb +1 -1
  56. data/lib/ronin/payloads/builtin/shellcode/netbsd/x86/reverse_shell.rb +1 -1
  57. data/lib/ronin/payloads/builtin/shellcode/openbsd/x86/bind_shell.rb +1 -1
  58. data/lib/ronin/payloads/builtin/shellcode/openbsd/x86/exec_shell.rb +1 -1
  59. data/lib/ronin/payloads/builtin/shellcode/windows/x86_64/cmd.rb +1 -1
  60. data/lib/ronin/payloads/builtin/test/cmd.rb +1 -1
  61. data/lib/ronin/payloads/builtin/test/open_redirect.rb +1 -1
  62. data/lib/ronin/payloads/builtin/test/url.rb +1 -1
  63. data/lib/ronin/payloads/builtin/test/xss.rb +1 -1
  64. data/lib/ronin/payloads/c_payload.rb +3 -3
  65. data/lib/ronin/payloads/cli/command.rb +3 -2
  66. data/lib/ronin/payloads/cli/commands/build.rb +5 -4
  67. data/lib/ronin/payloads/cli/commands/completion.rb +3 -2
  68. data/lib/ronin/payloads/cli/commands/encode.rb +7 -7
  69. data/lib/ronin/payloads/cli/commands/encoder.rb +19 -18
  70. data/lib/ronin/payloads/cli/commands/encoders.rb +3 -3
  71. data/lib/ronin/payloads/cli/commands/irb.rb +3 -3
  72. data/lib/ronin/payloads/cli/commands/launch.rb +4 -3
  73. data/lib/ronin/payloads/cli/commands/list.rb +3 -3
  74. data/lib/ronin/payloads/cli/commands/new.rb +3 -3
  75. data/lib/ronin/payloads/cli/commands/show.rb +6 -5
  76. data/lib/ronin/payloads/cli/encoder_methods.rb +13 -10
  77. data/lib/ronin/payloads/cli/format_option.rb +1 -1
  78. data/lib/ronin/payloads/cli/payload_command.rb +3 -3
  79. data/lib/ronin/payloads/cli/payload_methods.rb +4 -3
  80. data/lib/ronin/payloads/cli/printing.rb +1 -1
  81. data/lib/ronin/payloads/cli/ruby_shell.rb +1 -1
  82. data/lib/ronin/payloads/cli.rb +3 -2
  83. data/lib/ronin/payloads/coldfusion_payload.rb +2 -2
  84. data/lib/ronin/payloads/command_payload.rb +2 -2
  85. data/lib/ronin/payloads/encoders/builtin/html/encode.rb +1 -1
  86. data/lib/ronin/payloads/encoders/builtin/js/encode.rb +1 -1
  87. data/lib/ronin/payloads/encoders/builtin/powershell/encode.rb +2 -2
  88. data/lib/ronin/payloads/encoders/builtin/shell/encode.rb +1 -1
  89. data/lib/ronin/payloads/encoders/builtin/sql/encode.rb +1 -1
  90. data/lib/ronin/payloads/encoders/builtin/xml/encode.rb +1 -1
  91. data/lib/ronin/payloads/encoders/encoder.rb +3 -2
  92. data/lib/ronin/payloads/encoders/exceptions.rb +2 -2
  93. data/lib/ronin/payloads/encoders/html_encoder.rb +2 -2
  94. data/lib/ronin/payloads/encoders/javascript_encoder.rb +2 -2
  95. data/lib/ronin/payloads/encoders/pipeline.rb +2 -2
  96. data/lib/ronin/payloads/encoders/powershell_encoder.rb +2 -2
  97. data/lib/ronin/payloads/encoders/registry.rb +1 -1
  98. data/lib/ronin/payloads/encoders/shell_encoder.rb +2 -2
  99. data/lib/ronin/payloads/encoders/sql_encoder.rb +2 -2
  100. data/lib/ronin/payloads/encoders/xml_encoder.rb +2 -2
  101. data/lib/ronin/payloads/encoders.rb +10 -3
  102. data/lib/ronin/payloads/exceptions.rb +1 -1
  103. data/lib/ronin/payloads/go_payload.rb +2 -2
  104. data/lib/ronin/payloads/groovy_payload.rb +2 -2
  105. data/lib/ronin/payloads/html_payload.rb +4 -3
  106. data/lib/ronin/payloads/java_payload.rb +2 -2
  107. data/lib/ronin/payloads/javascript_payload.rb +4 -3
  108. data/lib/ronin/payloads/jsp_payload.rb +2 -2
  109. data/lib/ronin/payloads/metadata/arch.rb +1 -1
  110. data/lib/ronin/payloads/metadata/os.rb +1 -1
  111. data/lib/ronin/payloads/mixins/binary.rb +3 -2
  112. data/lib/ronin/payloads/mixins/bind_shell.rb +3 -2
  113. data/lib/ronin/payloads/mixins/build_dir.rb +1 -1
  114. data/lib/ronin/payloads/mixins/c_compiler.rb +3 -3
  115. data/lib/ronin/payloads/mixins/erb.rb +1 -1
  116. data/lib/ronin/payloads/mixins/network.rb +1 -1
  117. data/lib/ronin/payloads/mixins/post_ex.rb +1 -1
  118. data/lib/ronin/payloads/mixins/resolve_host.rb +1 -1
  119. data/lib/ronin/payloads/mixins/reverse_shell.rb +3 -2
  120. data/lib/ronin/payloads/mixins/tempfile.rb +1 -1
  121. data/lib/ronin/payloads/mixins/typescript.rb +2 -2
  122. data/lib/ronin/payloads/nashorn_payload.rb +2 -2
  123. data/lib/ronin/payloads/node_js_payload.rb +2 -2
  124. data/lib/ronin/payloads/payload.rb +5 -5
  125. data/lib/ronin/payloads/php_payload.rb +2 -2
  126. data/lib/ronin/payloads/powershell_payload.rb +3 -3
  127. data/lib/ronin/payloads/python_payload.rb +2 -2
  128. data/lib/ronin/payloads/registry.rb +1 -1
  129. data/lib/ronin/payloads/root.rb +1 -1
  130. data/lib/ronin/payloads/ruby_payload.rb +2 -2
  131. data/lib/ronin/payloads/rust_payload.rb +2 -2
  132. data/lib/ronin/payloads/shell_payload.rb +3 -3
  133. data/lib/ronin/payloads/shellcode/bind_shell_payload.rb +5 -5
  134. data/lib/ronin/payloads/shellcode/exec_shell_payload.rb +2 -2
  135. data/lib/ronin/payloads/shellcode/reverse_shell_payload.rb +5 -5
  136. data/lib/ronin/payloads/shellcode_payload.rb +2 -2
  137. data/lib/ronin/payloads/sql_payload.rb +3 -3
  138. data/lib/ronin/payloads/url_payload.rb +2 -2
  139. data/lib/ronin/payloads/version.rb +2 -2
  140. data/lib/ronin/payloads/xml_payload.rb +4 -3
  141. data/lib/ronin/payloads.rb +42 -7
  142. data/man/ronin-payloads-encode.1 +2 -2
  143. data/man/ronin-payloads-encode.1.md +2 -2
  144. data/man/ronin-payloads-encoder.1 +2 -2
  145. data/man/ronin-payloads-encoder.1.md +3 -3
  146. metadata +6 -6
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -4,7 +4,7 @@
4
4
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
5
5
  # payloads.
6
6
  #
7
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
7
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
8
8
  #
9
9
  # ronin-payloads is free software: you can redistribute it and/or modify
10
10
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,8 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/binary_payload'
23
- require 'ronin/payloads/mixins/c_compiler'
22
+ require_relative 'binary_payload'
23
+ require_relative 'mixins/c_compiler'
24
24
 
25
25
  module Ronin
26
26
  module Payloads
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,9 +19,10 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/root'
23
22
  require 'ronin/core/cli/command'
24
23
 
24
+ require_relative '../root'
25
+
25
26
  module Ronin
26
27
  module Payloads
27
28
  class CLI
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,9 +19,10 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/payload_command'
23
- require 'ronin/payloads/cli/format_option'
24
- require 'ronin/payloads/cli/encoder_methods'
22
+ require_relative '../payload_command'
23
+ require_relative '../format_option'
24
+ require_relative '../encoder_methods'
25
+
25
26
  require 'ronin/core/cli/options/param'
26
27
 
27
28
  module Ronin
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,9 +19,10 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/root'
23
22
  require 'ronin/core/cli/completion_command'
24
23
 
24
+ require_relative '../../root'
25
+
25
26
  module Ronin
26
27
  module Payloads
27
28
  class CLI
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,10 +19,10 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/command'
23
- require 'ronin/payloads/cli/format_option'
24
- require 'ronin/payloads/cli/encoder_methods'
25
- require 'ronin/payloads/encoders/pipeline'
22
+ require_relative '../command'
23
+ require_relative '../format_option'
24
+ require_relative '../encoder_methods'
25
+ require_relative '../../encoders/pipeline'
26
26
 
27
27
  module Ronin
28
28
  module Payloads
@@ -33,7 +33,7 @@ module Ronin
33
33
  #
34
34
  # ## Usage
35
35
  #
36
- # ronin-payloads encode [options] {--string STRING | FILE}
36
+ # ronin-payloads encode [options] {--encoder ENCODER} ... {--string STRING | FILE}
37
37
  #
38
38
  # ## Options
39
39
  #
@@ -53,7 +53,7 @@ module Ronin
53
53
  include FormatOption
54
54
  include EncoderMethods
55
55
 
56
- usage '[options] {--string STRING | FILE}'
56
+ usage '[options] {--encoder ENCODER} ... {--string STRING | FILE}'
57
57
 
58
58
  option :encoder, short: '-E',
59
59
  value: {
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,10 +19,11 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/command'
23
- require 'ronin/payloads/cli/encoder_methods'
24
- require 'ronin/payloads/metadata/arch'
25
- require 'ronin/payloads/metadata/os'
22
+ require_relative '../command'
23
+ require_relative '../encoder_methods'
24
+ require_relative '../../metadata/arch'
25
+ require_relative '../../metadata/os'
26
+
26
27
  require 'ronin/core/cli/printing/metadata'
27
28
  require 'ronin/core/cli/printing/arch'
28
29
  require 'ronin/core/cli/printing/os'
@@ -55,7 +56,7 @@ module Ronin
55
56
  },
56
57
  desc: 'The optional file to load the encoder from'
57
58
 
58
- argument :name, required: true,
59
+ argument :name, required: false,
59
60
  desc: 'The optional encoder name to list'
60
61
 
61
62
  description 'Prints information about an encoder'
@@ -65,20 +66,20 @@ module Ronin
65
66
  #
66
67
  # Runs the `ronin-payloads encoder` command.
67
68
  #
68
- # @param [String] name
69
+ # @param [String, nil] name
69
70
  # The optional name of the encoder to load and print metadata about.
70
71
  #
71
- def run(name)
72
- print_encoder(load_encoder(name))
73
- end
74
-
75
- #
76
- # Loads an encoder class.
77
- #
78
- # @return [Class<Encoders::Encoder>]
79
- #
80
- def load_encoder(name)
81
- super(name,options[:file])
72
+ def run(name=nil)
73
+ encoder_class = if name
74
+ load_encoder(name)
75
+ elsif options[:file]
76
+ load_encoder_from(options[:file])
77
+ else
78
+ print_error "must specify --file or a NAME"
79
+ exit(-1)
80
+ end
81
+
82
+ print_encoder(encoder_class)
82
83
  end
83
84
 
84
85
  #
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,8 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/command'
23
- require 'ronin/payloads/encoders/registry'
22
+ require_relative '../command'
23
+ require_relative '../../encoders/registry'
24
24
 
25
25
  module Ronin
26
26
  module Payloads
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,8 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/command'
23
- require 'ronin/payloads/cli/ruby_shell'
22
+ require_relative '../command'
23
+ require_relative '../ruby_shell'
24
24
 
25
25
  module Ronin
26
26
  module Payloads
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,9 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/payload_command'
23
- require 'ronin/payloads/cli/ruby_shell'
22
+ require_relative '../payload_command'
23
+ require_relative '../ruby_shell'
24
+
24
25
  require 'ronin/core/cli/options/param'
25
26
  require 'ronin/core/cli/logging'
26
27
 
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,8 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/command'
23
- require 'ronin/payloads/registry'
22
+ require_relative '../command'
23
+ require_relative '../../registry'
24
24
 
25
25
  module Ronin
26
26
  module Payloads
@@ -16,9 +16,9 @@
16
16
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
17
17
  #
18
18
 
19
- require 'ronin/payloads/cli/command'
20
- require 'ronin/payloads/cli/generator/payload_types'
21
- require 'ronin/payloads/root'
19
+ require_relative '../command'
20
+ require_relative '../generator/payload_types'
21
+ require_relative '../../root'
22
22
 
23
23
  require 'ronin/core/cli/generator'
24
24
  require 'ronin/core/cli/generator/options/author'
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,10 +19,11 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/payload_command'
23
- require 'ronin/payloads/cli/printing'
24
- require 'ronin/payloads/metadata/arch'
25
- require 'ronin/payloads/metadata/os'
22
+ require_relative '../payload_command'
23
+ require_relative '../printing'
24
+ require_relative '../../metadata/arch'
25
+ require_relative '../../metadata/os'
26
+
26
27
  require 'ronin/core/cli/printing/metadata'
27
28
  require 'ronin/core/cli/printing/arch'
28
29
  require 'ronin/core/cli/printing/os'
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,13 +19,15 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/encoders/registry'
23
- require 'ronin/payloads/encoders/html_encoder'
24
- require 'ronin/payloads/encoders/javascript_encoder'
25
- require 'ronin/payloads/encoders/shell_encoder'
26
- require 'ronin/payloads/encoders/powershell_encoder'
27
- require 'ronin/payloads/encoders/sql_encoder'
28
- require 'ronin/payloads/encoders/exceptions'
22
+ require_relative '../encoders/registry'
23
+ require_relative '../encoders/html_encoder'
24
+ require_relative '../encoders/javascript_encoder'
25
+ require_relative '../encoders/shell_encoder'
26
+ require_relative '../encoders/powershell_encoder'
27
+ require_relative '../encoders/sql_encoder'
28
+ require_relative '../encoders/xml_encoder'
29
+ require_relative '../encoders/exceptions'
30
+
29
31
  require 'ronin/core/params/exceptions'
30
32
 
31
33
  module Ronin
@@ -49,6 +51,7 @@ module Ronin
49
51
  elsif encoder_class < Encoders::ShellEncoder then 'shell'
50
52
  elsif encoder_class < Encoders::PowerShellEncoder then 'powershell'
51
53
  elsif encoder_class < Encoders::SQLEncoder then 'sql'
54
+ elsif encoder_class < Encoders::XMLEncoder then 'xml'
52
55
  end
53
56
  end
54
57
 
@@ -63,7 +66,7 @@ module Ronin
63
66
  #
64
67
  def load_encoder(name)
65
68
  Payloads::Encoders.load_class(name)
66
- rescue Payloads::ClassNotFound => error
69
+ rescue Payloads::Encoders::ClassNotFound => error
67
70
  print_error(error.message)
68
71
  exit(1)
69
72
  rescue => error
@@ -83,7 +86,7 @@ module Ronin
83
86
  #
84
87
  def load_encoder_from(file)
85
88
  Payloads::Encoders.load_class_from_file(file)
86
- rescue Payloads::ClassNotFound => error
89
+ rescue Payloads::Encoders::ClassNotFound => error
87
90
  print_error(error.message)
88
91
  exit(1)
89
92
  rescue => error
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,8 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/cli/command'
23
- require 'ronin/payloads/cli/payload_methods'
22
+ require_relative 'command'
23
+ require_relative 'payload_methods'
24
24
 
25
25
  module Ronin
26
26
  module Payloads
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -19,8 +19,9 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/registry'
23
- require 'ronin/payloads/exceptions'
22
+ require_relative '../registry'
23
+ require_relative '../exceptions'
24
+
24
25
  require 'ronin/core/params/exceptions'
25
26
 
26
27
  module Ronin
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published
@@ -3,7 +3,7 @@
3
3
  # ronin-payloads - A Ruby micro-framework for writing and running exploit
4
4
  # payloads.
5
5
  #
6
- # Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
6
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
7
7
  #
8
8
  # ronin-payloads is free software: you can redistribute it and/or modify
9
9
  # it under the terms of the GNU Lesser General Public License as published