ronin-payloads 0.1.4 → 0.1.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22dcc9ea244534bd659de580c4ef0576401bf480055ad9b0a6a05787e7375c1b
4
- data.tar.gz: f3ce8d4f1e8b1c80610c9de6d860514d9a3d5ef4eb6840d7f888d12fc6621f4c
3
+ metadata.gz: 23ed6234ba68bb63d9e7e909987b1b4c3b5f8f75048cb9cef20c61d2a5769bcc
4
+ data.tar.gz: de32a35122ac1e6452b3d1a0148fcb0d4089a9fefa951084cc51cd36bd27c98c
5
5
  SHA512:
6
- metadata.gz: 8449b2f43b09fd2bf49b29417f8004e24c970b4e797a65430fdfd9df8c7132daa8d4112c36f3a5bb6569efc92e4ada98a0de624a1eb209e50eeadaa245750536
7
- data.tar.gz: 02b8ae12c4b29dbd3987067d429919a4bbc883ff562dd8228b93b2eef8ed80fbf8f82c366d43d9a00c92f48570afe480186a2f7cd2ec80d2d35e56312160546e
6
+ metadata.gz: b5dfda82e5c0fcda3da9d48093921b5bcc6935460f9a6bc434b0891a60bfb08995526a3b39f540d6515faddcfc6d882d7f3f27cb64107300c1bbc0e575f43c3b
7
+ data.tar.gz: 5457d1110e9cd8b544e95cdb890a0d135e6e01b3a4f6b7e3fedacdd84bf9cb12005ee695a6b5b6061d824f3f631c31d75b4a1fd44aabe2f8a343b1cd6fab9c93
@@ -12,11 +12,12 @@ jobs:
12
12
  - '3.0'
13
13
  - '3.1'
14
14
  - '3.2'
15
+ - '3.3'
15
16
  - jruby
16
17
  - truffleruby
17
18
  name: Ruby ${{ matrix.ruby }}
18
19
  steps:
19
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v4
20
21
  - name: Set up Ruby
21
22
  uses: ruby/setup-ruby@v1
22
23
  with:
@@ -35,7 +36,7 @@ jobs:
35
36
  rubocop:
36
37
  runs-on: ubuntu-latest
37
38
  steps:
38
- - uses: actions/checkout@v2
39
+ - uses: actions/checkout@v4
39
40
  - name: Set up Ruby
40
41
  uses: ruby/setup-ruby@v1
41
42
  with:
data/ChangeLog.md CHANGED
@@ -1,3 +1,20 @@
1
+ ### 0.1.5 / 2024-06-19
2
+
3
+ * Fixed order of arguments passed to `TCPServer.new` in
4
+ {Ronin::Payloads::Mixins::ReverseShell#perform_prelaunch} which was preventing
5
+ reverse shells from opening a local TCP server socket.
6
+
7
+ #### Payloads
8
+
9
+ * Fixed the module namespace for the {Ronin::Payloads::CMD::Node::ReverseShell}
10
+ payload (aka `cmd/node/reverse_shell`).
11
+
12
+ #### CLI
13
+
14
+ * Automatically create the parent directory of the new payload file,
15
+ if it doesn't exist, when running `ronin-payloads new path/to/new_payload.rb`.
16
+ * Fixed typo in `ronin-payloads encode` man-page for the `-E,--encoder` option.
17
+
1
18
  ### 0.1.4 / 2023-09-19
2
19
 
3
20
  #### CLI
data/README.md CHANGED
@@ -18,7 +18,9 @@ payloads. ronin-payloads allows one to write payloads as plain old Ruby classes.
18
18
  ronin-payloads can be distributed as Ruby files or in git repositories that can
19
19
  be installed with [ronin-repos].
20
20
 
21
- ronin-exploits is part of the [ronin-rb] project, a [Ruby] toolkit for security
21
+ **tl;dr** It's like `msfvenom` but simpler and more modular.
22
+
23
+ ronin-payloads is part of the [ronin-rb] project, a [Ruby] toolkit for security
22
24
  research and development.
23
25
 
24
26
  ## Features
@@ -27,7 +29,7 @@ research and development.
27
29
  possible.
28
30
  * Supports defining Payloads as plain old Ruby classes.
29
31
  * Provides base classes for a variety of languages and payload types
30
- (ASM, Shellcode, C, Go, Rust, Java, JSP, PHP, Python, Ruby, NodeJS, Shell,
32
+ (ASM, Shellcode, C, Go, Rust, Java, JSP, PHP, Python, Ruby, NodeJS, Shell,
31
33
  PowerShell, SQL, XML, HTML, URL).
32
34
  * Provides built-in common payloads:
33
35
  * Command-line reverse shells:
@@ -194,8 +196,8 @@ $ ronin-payloads new example_payload.rb \
194
196
  Generate a ronin repository of your own payloads (or exploits):
195
197
 
196
198
  ```shell
197
- $ ronin-repos new my-payloads
198
- $ cd my-payloads/
199
+ $ ronin-repos new my-repo
200
+ $ cd my-repo/
199
201
  $ mkdir payloads
200
202
  $ ronin-payloads new payloads/my_payload.rb \
201
203
  --name MyPayload --arch i686 --os Linux \
data/gemspec.yml CHANGED
@@ -6,6 +6,8 @@ description:
6
6
  classes. ronin-payloads can be distributed as Ruby files or in git
7
7
  repositories that can be installed with ronin-repos.
8
8
 
9
+ It's like `msfvenom` but simpler and more modular.
10
+
9
11
  license: LGPL-3.0
10
12
  authors: Postmodern
11
13
  email: postmodern.mod3@gmail.com
@@ -25,7 +25,7 @@ require 'ronin/payloads/mixins/reverse_shell'
25
25
  module Ronin
26
26
  module Payloads
27
27
  module CMD
28
- module NodeJS
28
+ module Node
29
29
  #
30
30
  # A basic `node` (Node.js) reverse shell command.
31
31
  #
@@ -25,7 +25,6 @@ require 'ronin/core/cli/generator/options/author'
25
25
  require 'ronin/core/cli/generator/options/summary'
26
26
  require 'ronin/core/cli/generator/options/description'
27
27
  require 'ronin/core/cli/generator/options/reference'
28
- require 'ronin/core/git'
29
28
 
30
29
  require 'command_kit/inflector'
31
30
 
@@ -81,11 +80,6 @@ module Ronin
81
80
 
82
81
  man_page 'ronin-payloads-new.1'
83
82
 
84
- # The references to add to the payload.
85
- #
86
- # @return [Array<String>]
87
- attr_reader :references
88
-
89
83
  #
90
84
  # Initializes the `ronin-payloads new` command.
91
85
  #
@@ -105,9 +99,12 @@ module Ronin
105
99
  # The path to the new payload file.
106
100
  #
107
101
  def run(file)
102
+ @directory = File.dirname(file)
108
103
  @file_name = File.basename(file,File.extname(file))
109
104
  @class_name = CommandKit::Inflector.camelize(@file_name)
110
105
 
106
+ mkdir @directory unless @directory == '.'
107
+
111
108
  erb "payload.rb.erb", file
112
109
  chmod '+x', file
113
110
  end
@@ -72,7 +72,7 @@ module Ronin
72
72
  # additional pre-launch steps.
73
73
  #
74
74
  def perform_prelaunch
75
- @server = TCPServer.new(port,host)
75
+ @server = TCPServer.new(host,port)
76
76
  @server.listen(1)
77
77
 
78
78
  super
@@ -22,6 +22,6 @@
22
22
  module Ronin
23
23
  module Payloads
24
24
  # ronin-payloads version
25
- VERSION = '0.1.4'
25
+ VERSION = '0.1.5'
26
26
  end
27
27
  end
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-build 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads build\fR \[lB]\fIoptions\fP\[rB] \[lC]\fB--file\fR \fIFILE\fP \[or] \fINAME\fP\[rC]
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-encoder 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads encoder\fR \[lB]\fIoptions\fP\[rB] \[lC]\fB--string\fR \fISTRING\fP \[or] \fIFILE\fP\[rC]
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -25,7 +25,7 @@ The optional file to read the data to encode from\.
25
25
  Formats the encoded data\.
26
26
  .LP
27
27
  .TP
28
- \fB-E\fR, \fB--encode\fR \fIENCODER\fP
28
+ \fB-E\fR, \fB--encoder\fR \fIENCODER\fP
29
29
  Loads the encoder with the given name\.
30
30
  .LP
31
31
  .TP
@@ -18,7 +18,7 @@ Encodes data using one or more encoders.
18
18
  `-F`, `--format` `hex`\|`c`\|`shell`\|`powershell`\|`xml`\|`html`\|`js`\|`ruby`
19
19
  Formats the encoded data.
20
20
 
21
- `-E`, `--encode` *ENCODER*
21
+ `-E`, `--encoder` *ENCODER*
22
22
  Loads the encoder with the given name.
23
23
 
24
24
  `-p`, `--param` *ENCODER*`.`*NAME*`=`*VALUE*
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-encoder 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads encoder\fR \[lB]\fIoptions\fP\[rB] \fINAME\fP
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-encoders 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads encoders\fR \[lB]\fIoptions\fP\[rB] \fIDIR\fP
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-irb 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads irb\fR \[lB]\fIoptions\fP\[rB]
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-launch 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads launch\fR \[lB]\fIoptions\fP\[rB] \[lC]\fB--file\fR \fIFILE\fP \[or] \fINAME\fP\[rC]
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-list 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads list\fR \[lB]\fIoptions\fP\[rB] \fIDIR\fP
9
9
  .LP
10
10
  .SH DESCRIPTION
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## SYNOPSIS
4
4
 
5
- `ronin-payloads new` [*options*] *FILE*
5
+ `ronin-payloads new` [*options*] *PATH*
6
6
 
7
7
  ## DESCRIPTION
8
8
 
@@ -10,7 +10,7 @@ Generates a new payload file.
10
10
 
11
11
  ## ARGUMENTS
12
12
 
13
- *FILE*
13
+ *PATH*
14
14
  The path to the new payload file to generate.
15
15
 
16
16
  ## OPTIONS
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads-show 1 "May 2022" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads show\fR \[lB]\fIoptions\fP\[rB] \[lC]\fB--file\fR \fIFILE\fP \[or] \fINAME\fP\[rC]
9
9
  .LP
10
10
  .SH DESCRIPTION
data/man/ronin-payloads.1 CHANGED
@@ -1,10 +1,10 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 0.1.9
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-payloads 1 "2023-02-01" Ronin "User Manuals"
4
4
  .LP
5
5
  .SH SYNOPSIS
6
6
  .LP
7
- .HP
7
+ .PP
8
8
  \fBronin-payloads\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP \[lB]\.\.\.\[rB]\[rB]
9
9
  .LP
10
10
  .SH DESCRIPTION
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-payloads
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-19 00:00:00.000000000 Z
11
+ date: 2024-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ronin-support
@@ -94,10 +94,9 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '2.0'
97
- description: ronin-payloads is a Ruby micro-framework for writing and running exploit
98
- payloads. ronin-payloads allows one to write payloads as plain old Ruby classes.
99
- ronin-payloads can be distributed as Ruby files or in git repositories that can
100
- be installed with ronin-repos.
97
+ description: |-
98
+ ronin-payloads is a Ruby micro-framework for writing and running exploit payloads. ronin-payloads allows one to write payloads as plain old Ruby classes. ronin-payloads can be distributed as Ruby files or in git repositories that can be installed with ronin-repos.
99
+ It's like `msfvenom` but simpler and more modular.
101
100
  email: postmodern.mod3@gmail.com
102
101
  executables:
103
102
  - ronin-payloads
@@ -284,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
284
283
  - !ruby/object:Gem::Version
285
284
  version: '0'
286
285
  requirements: []
287
- rubygems_version: 3.3.26
286
+ rubygems_version: 3.3.27
288
287
  signing_key:
289
288
  specification_version: 4
290
289
  summary: A Ruby micro-framework for writing and running exploit payloads