ronin-payloads 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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