ronin-payloads 0.2.0.rc2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7c99de5c358d520d1a630234c470e342cc1cf7ca7c4dc505f4b32ba986cc91c
4
- data.tar.gz: 2ed1c91535448f066b9484f1908a77017368103ab32f244f2db1ef246185e753
3
+ metadata.gz: 45e39cb049f304d4bad7c8d730a9ef626fd56a1d56bf81e156050d295a792dd8
4
+ data.tar.gz: c431deb240bf6f4b39f9a23ce91dcb9dfe0456b158a8c01e5b8e744e9f55c979
5
5
  SHA512:
6
- metadata.gz: 2637643fc3bf62464bd3b73f4f90a55cfd55ffa4f20d3ecd1fcb3bcd2a59da799e756cbfd7b4ad1c10a69188eb70ea9461b8d33e8bf5d5f08657188936f4a880
7
- data.tar.gz: cc2ab6fc8276eee61fc2191ddf06abe826cb2fa57d5efdd4b46f1716538b108b4e88e5377a117126bd5c1c89d654d75cfa191b95a83e0b0f5eb9c82f0e481304
6
+ metadata.gz: 6fba278dfcaab59a172c2aa5f806ec573b85c99aa40a8d2e549d97daee29c0fd4aee68853ba44c22efa161f8474d246df6502de5174fb95911bea3bd4208a7bd
7
+ data.tar.gz: b314e92bdb928e62fd886cdd554da92dbb5858a0e79382ea4b67a93663e82738e268e3d8ea0d4c2f246bb4b5d8fc65621d3962dbe0c403e2bb718c12af1c472a
@@ -13,6 +13,7 @@ jobs:
13
13
  - '3.1'
14
14
  - '3.2'
15
15
  - '3.3'
16
+ - '3.4'
16
17
  - jruby
17
18
  - truffleruby
18
19
  name: Ruby ${{ matrix.ruby }}
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.1
1
+ ruby-3.3
data/ChangeLog.md CHANGED
@@ -1,4 +1,17 @@
1
- ### 0.2.0 / 2024-XX-XX
1
+ ### 0.2.1 / 2025-02-14
2
+
3
+ * Ensure that `ronin/payloads` requires all other Payload classes and Mixin
4
+ modules.
5
+ * Use `require_relative` to improve load times.
6
+ * Documentation fixes.
7
+
8
+ #### CLI
9
+
10
+ * Properly rescue the `Ronin::Payloads::Encoders::ClassNotFound` exception and
11
+ print an error message when a payload encoder cannot be found or loaded.
12
+ * Fixed multiple bugs in the `ronin-payloads encoder` command.
13
+
14
+ ### 0.2.0 / 2024-07-22
2
15
 
3
16
  * Added the {Ronin::Payloads::GroovyPayload} payload class.
4
17
  * Added the {Ronin::Payloads::NashornPayload} payload class.
data/README.md CHANGED
@@ -388,7 +388,7 @@ malicious software (malware) or malicious in nature.
388
388
 
389
389
  ## License
390
390
 
391
- Copyright (c) 2007-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
391
+ Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
392
392
 
393
393
  ronin-payloads is free software: you can redistribute it and/or modify
394
394
  it under the terms of the GNU Lesser General Public License as published
data/Rakefile CHANGED
@@ -23,7 +23,14 @@ Gem::Tasks.new(sign: {checksum: true, pgp: true})
23
23
 
24
24
  require 'rspec/core/rake_task'
25
25
  RSpec::Core::RakeTask.new
26
- task :test => :spec
26
+
27
+ namespace :spec do
28
+ RSpec::Core::RakeTask.new(:integration) do |t|
29
+ t.rspec_opts = '--tag integration'
30
+ end
31
+ end
32
+
33
+ task :test => [:spec, 'spec:integration']
27
34
  task :default => :spec
28
35
 
29
36
  require 'yard'
@@ -11,7 +11,7 @@ _ronin-payloads_completions_filter() {
11
11
 
12
12
  if [[ "${cur:0:1}" == "-" ]]; then
13
13
  echo "$words"
14
-
14
+
15
15
  else
16
16
  for word in $words; do
17
17
  [[ "${word:0:1}" != "-" ]] && result+=("$word")
@@ -29,99 +29,99 @@ _ronin-payloads_completions() {
29
29
 
30
30
  case "$compline" in
31
31
  'encode'*'--encoder')
32
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur" )
32
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur")
33
33
  ;;
34
34
 
35
35
  'build'*'--encoder')
36
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur" )
36
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur")
37
37
  ;;
38
38
 
39
39
  'build'*'--output')
40
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
40
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
41
41
  ;;
42
42
 
43
43
  'encoder'*'--file')
44
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
44
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
45
45
  ;;
46
46
 
47
47
  'launch'*'--file')
48
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
48
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
49
49
  ;;
50
50
 
51
51
  'build'*'--file')
52
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
52
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
53
53
  ;;
54
54
 
55
55
  'show'*'--file')
56
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
56
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
57
57
  ;;
58
58
 
59
59
  'completion'*)
60
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--print --install --uninstall")" -- "$cur" )
60
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--print --install --uninstall")" -- "$cur")
61
61
  ;;
62
62
 
63
63
  'encoder'*'-f')
64
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
64
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
65
65
  ;;
66
66
 
67
- 'launch'*'-f')
68
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
67
+ 'encode'*'-E')
68
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur")
69
69
  ;;
70
70
 
71
- 'encode'*'-E')
72
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur" )
71
+ 'launch'*'-f')
72
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
73
73
  ;;
74
74
 
75
- 'build'*'-f')
76
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
75
+ 'build'*'-E')
76
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur")
77
77
  ;;
78
78
 
79
79
  'build'*'-o')
80
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
80
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
81
81
  ;;
82
82
 
83
- 'build'*'-E')
84
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads encoders)")" -- "$cur" )
83
+ 'build'*'-f')
84
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
85
85
  ;;
86
86
 
87
87
  'encoder'*)
88
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--verbose -v --file -f $(ronin-payloads encoders)")" -- "$cur" )
88
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--verbose -v --file -f $(ronin-payloads encoders)")" -- "$cur")
89
89
  ;;
90
90
 
91
91
  'show'*'-f')
92
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -A file -- "$cur" )
92
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -- "$cur")
93
93
  ;;
94
94
 
95
- 'encode'*)
96
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--format -F --encoder -E --param -p --string -s")" -- "$cur" )
95
+ 'launch'*)
96
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--file -f --param -p --debug -D $(ronin-payloads list)")" -- "$cur")
97
97
  ;;
98
98
 
99
- 'launch'*)
100
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--file -f --param -p --debug -D $(ronin-payloads list)")" -- "$cur" )
99
+ 'encode'*)
100
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--format -F --encoder -E --param -p --string -s")" -- "$cur")
101
101
  ;;
102
102
 
103
103
  'build'*)
104
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--file -f --format -F --param -p --output -o --encoder -E --encoder-param --debug -D $(ronin-payloads list)")" -- "$cur" )
104
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--file -f --format -F --param -p --output -o --encoder -E --encoder-param --debug -D $(ronin-payloads list)")" -- "$cur")
105
105
  ;;
106
106
 
107
- 'show'*)
108
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--file -f --verbose -v $(ronin-payloads list)")" -- "$cur" )
107
+ 'info'*)
108
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads list)")" -- "$cur")
109
109
  ;;
110
110
 
111
- 'info'*)
112
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "$(ronin-payloads list)")" -- "$cur" )
111
+ 'show'*)
112
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--file -f --verbose -v $(ronin-payloads list)")" -- "$cur")
113
113
  ;;
114
114
 
115
115
  'new'*)
116
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--type -t --author -a --author-email -e --summary -S --description -D --reference -R")" -- "$cur" )
116
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -A file -A directory -W "$(_ronin-payloads_completions_filter "--type -t --author -a --author-email -e --summary -S --description -D --reference -R")" -- "$cur")
117
117
  ;;
118
118
 
119
119
  *)
120
- while read -r; do COMPREPLY+=( "$REPLY" ); done < <( compgen -W "$(_ronin-payloads_completions_filter "--version -V help build completion encode encoder encoders irb launch list new show ls info")" -- "$cur" )
120
+ while read -r; do COMPREPLY+=("$REPLY"); done < <(compgen -W "$(_ronin-payloads_completions_filter "--version -V help build completion encode encoder encoders irb launch list new show ls info")" -- "$cur")
121
121
  ;;
122
122
 
123
123
  esac
124
124
  } &&
125
- complete -F _ronin-payloads_completions ronin-payloads
125
+ complete -F _ronin-payloads_completions ronin-payloads
126
126
 
127
127
  # ex: filetype=sh
data/gemspec.yml CHANGED
@@ -8,7 +8,7 @@ description:
8
8
 
9
9
  It's like `msfvenom` but simpler and more modular.
10
10
 
11
- license: LGPL-3.0
11
+ license: LGPL-3.0-or-later
12
12
  authors: Postmodern
13
13
  email: postmodern.mod3@gmail.com
14
14
  homepage: https://ronin-rb.dev/
@@ -41,7 +41,7 @@ dependencies:
41
41
  ronin-support: ~> 1.0
42
42
  ronin-code-asm: ~> 1.0
43
43
  ronin-post_ex: ~> 0.1
44
- ronin-core: ~> 0.2.0.rc1
44
+ ronin-core: ~> 0.2
45
45
  ronin-repos: ~> 0.1
46
46
 
47
47
  development_dependencies:
@@ -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/binary_payload'
23
- require 'ronin/payloads/metadata/arch'
24
- require 'ronin/payloads/metadata/os'
25
- require 'ronin/payloads/exceptions'
22
+ require_relative 'binary_payload'
23
+ require_relative 'metadata/arch'
24
+ require_relative 'metadata/os'
25
+ require_relative 'exceptions'
26
26
  require 'ronin/code/asm/program'
27
27
 
28
28
  require 'tempfile'
@@ -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,7 +19,7 @@
19
19
  # along with ronin-payloads. If not, see <https://www.gnu.org/licenses/>.
20
20
  #
21
21
 
22
- require 'ronin/payloads/payload'
22
+ require_relative 'payload'
23
23
 
24
24
  module Ronin
25
25
  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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -14,7 +14,7 @@ public class Payload
14
14
  Process process = new ProcessBuilder(shell).redirectErrorStream(true).start();
15
15
  Socket socket = new Socket(host,port);
16
16
 
17
- InputStream process_input =process.getInputStream();
17
+ InputStream process_input = process.getInputStream();
18
18
  InputStream process_error = process.getErrorStream();
19
19
  InputStream socket_input = socket.getInputStream();
20
20
  OutputStream process_output = process.getOutputStream();
@@ -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
@@ -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