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 +4 -4
- data/.github/workflows/ruby.yml +3 -2
- data/ChangeLog.md +17 -0
- data/README.md +6 -4
- data/gemspec.yml +2 -0
- data/lib/ronin/payloads/builtin/cmd/node/reverse_shell.rb +1 -1
- data/lib/ronin/payloads/cli/commands/new.rb +3 -6
- data/lib/ronin/payloads/mixins/reverse_shell.rb +1 -1
- data/lib/ronin/payloads/version.rb +1 -1
- data/man/ronin-payloads-build.1 +2 -2
- data/man/ronin-payloads-encode.1 +3 -3
- data/man/ronin-payloads-encode.1.md +1 -1
- data/man/ronin-payloads-encoder.1 +2 -2
- data/man/ronin-payloads-encoders.1 +2 -2
- data/man/ronin-payloads-irb.1 +2 -2
- data/man/ronin-payloads-launch.1 +2 -2
- data/man/ronin-payloads-list.1 +2 -2
- data/man/ronin-payloads-new.1.md +2 -2
- data/man/ronin-payloads-show.1 +2 -2
- data/man/ronin-payloads.1 +2 -2
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23ed6234ba68bb63d9e7e909987b1b4c3b5f8f75048cb9cef20c61d2a5769bcc
|
4
|
+
data.tar.gz: de32a35122ac1e6452b3d1a0148fcb0d4089a9fefa951084cc51cd36bd27c98c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5dfda82e5c0fcda3da9d48093921b5bcc6935460f9a6bc434b0891a60bfb08995526a3b39f540d6515faddcfc6d882d7f3f27cb64107300c1bbc0e575f43c3b
|
7
|
+
data.tar.gz: 5457d1110e9cd8b544e95cdb890a0d135e6e01b3a4f6b7e3fedacdd84bf9cb12005ee695a6b5b6061d824f3f631c31d75b4a1fd44aabe2f8a343b1cd6fab9c93
|
data/.github/workflows/ruby.yml
CHANGED
@@ -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@
|
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@
|
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
|
-
|
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
|
-
|
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-
|
198
|
-
$ cd my-
|
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,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
|
data/man/ronin-payloads-build.1
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1.
|
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
|
-
.
|
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
|
data/man/ronin-payloads-encode.1
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1.
|
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
|
-
.
|
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--
|
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`, `--
|
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.
|
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
|
-
.
|
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.
|
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
|
-
.
|
7
|
+
.PP
|
8
8
|
\fBronin-payloads encoders\fR \[lB]\fIoptions\fP\[rB] \fIDIR\fP
|
9
9
|
.LP
|
10
10
|
.SH DESCRIPTION
|
data/man/ronin-payloads-irb.1
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1.
|
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
|
-
.
|
7
|
+
.PP
|
8
8
|
\fBronin-payloads irb\fR \[lB]\fIoptions\fP\[rB]
|
9
9
|
.LP
|
10
10
|
.SH DESCRIPTION
|
data/man/ronin-payloads-launch.1
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1.
|
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
|
-
.
|
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
|
data/man/ronin-payloads-list.1
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1.
|
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
|
-
.
|
7
|
+
.PP
|
8
8
|
\fBronin-payloads list\fR \[lB]\fIoptions\fP\[rB] \fIDIR\fP
|
9
9
|
.LP
|
10
10
|
.SH DESCRIPTION
|
data/man/ronin-payloads-new.1.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
## SYNOPSIS
|
4
4
|
|
5
|
-
`ronin-payloads new` [*options*] *
|
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
|
-
*
|
13
|
+
*PATH*
|
14
14
|
The path to the new payload file to generate.
|
15
15
|
|
16
16
|
## OPTIONS
|
data/man/ronin-payloads-show.1
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
.\" Generated by kramdown-man 0.1.
|
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
|
-
.
|
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.
|
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
|
-
.
|
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
|
+
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:
|
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:
|
98
|
-
payloads. ronin-payloads allows one to write payloads as plain old Ruby classes.
|
99
|
-
|
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.
|
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
|