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 +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
|