pwn 0.4.396 → 0.4.398

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: 834d5ea1d9ec4022b881d453fa123d55e09c2adacaab3b6852c2f2fa3106b60d
4
- data.tar.gz: 508478f12b0a2ae83ca041f52d7b636b1c34567b1b8dca13d63ceb7898e2a824
3
+ metadata.gz: 9b4ebf5cc001c0126e5fc6408fae0ce64f99d79985d57a366d704b3b10b96983
4
+ data.tar.gz: 0b68f232f61b082d9245bdeae80de24d4a966eca5db14f0b764c05be4decfd1b
5
5
  SHA512:
6
- metadata.gz: 3e7c5fde7136dfb271becc97fc15680d42a4ff41bb719f88d4884a623f11f27cf33221707ecaaa85d7d5e0cc945d37115abde30782f05e736f1ad453eea6222d
7
- data.tar.gz: 4ce2645863b4384a7ab0c1b4fa6c50a61559dfff32623ac03920dff9594429f0ec46320400ada782b23e67e3d0e8b17513badbc1b93985c974f17239e9f2bfc9
6
+ metadata.gz: 8c51aceb2a34f91c882a195c370989f3530c7b6348889075695729f07c5eaeddbf3b95191251ed947f8321e4918c497efa08c6ad13180017b4c3ebdd1c611c77
7
+ data.tar.gz: c8f1dee8c386ef1508885f17a6f71bbc50e48c61122cf1d201bd08e2f26c195e3c9556ce60ecf06d93784bfb7493ea0659de61f8d9a904fe49e5b7211dee377e
data/Gemfile CHANGED
@@ -21,6 +21,7 @@ gem 'bson', '4.14.1'
21
21
  gem 'bundler', '>=2.3.10'
22
22
  gem 'bundler-audit', '0.9.0.1'
23
23
  gem 'bunny', '2.19.0'
24
+ gem 'colorize', '0.8.1'
24
25
  # gem 'credit_card_validations', '4.1.0'
25
26
  gem 'faye-websocket', '0.11.1'
26
27
  gem 'gdb', '1.0.0'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.1@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.396]:001 >>> PWN.help
40
+ pwn[v0.4.398]: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.1.1@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.396]:001 >>> PWN.help
55
+ pwn[v0.4.398]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  require 'pwn'
5
5
  require 'pry'
6
+ require 'colorize'
6
7
  # require 'tty-prompt'
7
8
  # require 'tty-reader'
8
9
 
@@ -10,18 +11,10 @@ begin
10
11
  def gen_ps1_proc(opts = {})
11
12
  delim = opts[:delim]
12
13
 
13
- # Custom Main & Wait (Multi-Line) Prompts
14
- # Bold Red Title
15
- title = "\001\e[1m\002\001\e[31m\002pwn\001\e[0m\002"
16
-
17
- # Cyan Version
18
- version = "\001\e[36m\002v#{PWN::VERSION}\001\e[0m\002"
19
-
20
- # Green Arrows
21
- dchars = "\001\e[32m\002>>>\001\e[0m\002"
22
-
23
- # Yellow Splats
24
- dchars = "\001\e[33m\002***\001\e[0m\002" if delim == :splat
14
+ title = 'pwn'.red.bold
15
+ version = PWN::VERSION.cyan
16
+ dchars = '>>>'.green
17
+ dchars = '***'.yellow if delim == :splat
25
18
 
26
19
  proc do |_target_self, _nest_level, pry|
27
20
  pry.config.pwn_repl_line += 1
@@ -70,7 +63,8 @@ begin
70
63
 
71
64
  # Define REPL Hooks
72
65
  Pry.config.hooks.add_hook(:before_session, :welcome) do |output, _binding, _pry|
73
- output.puts 'Use the #help method for more options.'
66
+ output.puts PWN::Banner.get
67
+ output.puts 'Use the #help command & methods for more options.'
74
68
  output.puts 'e.g help'
75
69
  output.puts 'e.g PWN.help'
76
70
  output.puts 'e.g PWN::Plugins.help'
@@ -0,0 +1,42 @@
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 Bubble
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::Bubble.get
11
+
12
+ public_class_method def self.get
13
+ '
14
+ _ _ _
15
+ / \ / \ / \
16
+ ( P )( W )( N )
17
+ \_/ \_/ \_/
18
+ '.red
19
+ rescue StandardError => e
20
+ raise e
21
+ end
22
+
23
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
24
+
25
+ public_class_method def self.authors
26
+ "AUTHOR(S):
27
+ 0day Inc. <request.pentest@0dayinc.com>
28
+ "
29
+ end
30
+
31
+ # Display Usage for this Module
32
+
33
+ public_class_method def self.help
34
+ puts "USAGE:
35
+ #{self}.get
36
+
37
+ #{self}.authors
38
+ "
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,196 @@
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 Matrix
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::Matrix.get
11
+
12
+ public_class_method def self.get
13
+ cols = 33
14
+
15
+ matrix_arr = [
16
+ 0x30a0.chr('UTF-8'),
17
+ 0x30a1.chr('UTF-8'),
18
+ 0x30a2.chr('UTF-8'),
19
+ 0x30a3.chr('UTF-8'),
20
+ 0x30a4.chr('UTF-8'),
21
+ 0x30a5.chr('UTF-8'),
22
+ 0x30a6.chr('UTF-8'),
23
+ 0x30a7.chr('UTF-8'),
24
+ 0x30a8.chr('UTF-8'),
25
+ 0x30a9.chr('UTF-8'),
26
+ 0x30aa.chr('UTF-8'),
27
+ 0x30ab.chr('UTF-8'),
28
+ 0x30ac.chr('UTF-8'),
29
+ 0x30ad.chr('UTF-8'),
30
+ 0x30ae.chr('UTF-8'),
31
+ 0x30af.chr('UTF-8'),
32
+ 0x30b0.chr('UTF-8'),
33
+ 0x30b1.chr('UTF-8'),
34
+ 0x30b2.chr('UTF-8'),
35
+ 0x30b3.chr('UTF-8'),
36
+ 0x30b4.chr('UTF-8'),
37
+ 0x30b5.chr('UTF-8'),
38
+ 0x30b6.chr('UTF-8'),
39
+ 0x30b7.chr('UTF-8'),
40
+ 0x30b8.chr('UTF-8'),
41
+ 0x30b9.chr('UTF-8'),
42
+ 0x30ba.chr('UTF-8'),
43
+ 0x30bb.chr('UTF-8'),
44
+ 0x30bc.chr('UTF-8'),
45
+ 0x30bd.chr('UTF-8'),
46
+ 0x30be.chr('UTF-8'),
47
+ 0x30bf.chr('UTF-8'),
48
+ 0x30c0.chr('UTF-8'),
49
+ 0x30c1.chr('UTF-8'),
50
+ 0x30c2.chr('UTF-8'),
51
+ 0x30c3.chr('UTF-8'),
52
+ 0x30c4.chr('UTF-8'),
53
+ 0x30c5.chr('UTF-8'),
54
+ 0x30c6.chr('UTF-8'),
55
+ 0x30c7.chr('UTF-8'),
56
+ 0x30c8.chr('UTF-8'),
57
+ 0x30c9.chr('UTF-8'),
58
+ 0x30ca.chr('UTF-8'),
59
+ 0x30cb.chr('UTF-8'),
60
+ 0x30cc.chr('UTF-8'),
61
+ 0x30cd.chr('UTF-8'),
62
+ 0x30ce.chr('UTF-8'),
63
+ 0x30cf.chr('UTF-8'),
64
+ 0x30d0.chr('UTF-8'),
65
+ 0x30d1.chr('UTF-8'),
66
+ 0x30d2.chr('UTF-8'),
67
+ 0x30d3.chr('UTF-8'),
68
+ 0x30d4.chr('UTF-8'),
69
+ 0x30d5.chr('UTF-8'),
70
+ 0x30d6.chr('UTF-8'),
71
+ 0x30d7.chr('UTF-8'),
72
+ 0x30d8.chr('UTF-8'),
73
+ 0x30d9.chr('UTF-8'),
74
+ 0x30da.chr('UTF-8'),
75
+ 0x30db.chr('UTF-8'),
76
+ 0x30dc.chr('UTF-8'),
77
+ 0x30dd.chr('UTF-8'),
78
+ 0x30de.chr('UTF-8'),
79
+ 0x30df.chr('UTF-8'),
80
+ 0x30e0.chr('UTF-8'),
81
+ 0x30e1.chr('UTF-8'),
82
+ 0x30e2.chr('UTF-8'),
83
+ 0x30e3.chr('UTF-8'),
84
+ 0x30e4.chr('UTF-8'),
85
+ 0x30e5.chr('UTF-8'),
86
+ 0x30e6.chr('UTF-8'),
87
+ 0x30e7.chr('UTF-8'),
88
+ 0x30e8.chr('UTF-8'),
89
+ 0x30e9.chr('UTF-8'),
90
+ 0x30ea.chr('UTF-8'),
91
+ 0x30eb.chr('UTF-8'),
92
+ 0x30ec.chr('UTF-8'),
93
+ 0x30ed.chr('UTF-8'),
94
+ 0x30ee.chr('UTF-8'),
95
+ 0x30ef.chr('UTF-8'),
96
+ 0x30f0.chr('UTF-8'),
97
+ 0x30f1.chr('UTF-8'),
98
+ 0x30f2.chr('UTF-8'),
99
+ 0x30f3.chr('UTF-8'),
100
+ 0x30f4.chr('UTF-8'),
101
+ 0x30f5.chr('UTF-8'),
102
+ 0x30f6.chr('UTF-8'),
103
+ 0x30f7.chr('UTF-8'),
104
+ 0x30f8.chr('UTF-8'),
105
+ 0x30f9.chr('UTF-8'),
106
+ 0x30fa.chr('UTF-8'),
107
+ 0x30fb.chr('UTF-8'),
108
+ 0x30fc.chr('UTF-8'),
109
+ 0x30fd.chr('UTF-8'),
110
+ 0x30fe.chr('UTF-8'),
111
+ '0 ',
112
+ '1 ',
113
+ '2 ',
114
+ '3 ',
115
+ '4 ',
116
+ '5 ',
117
+ '6 ',
118
+ '7 ',
119
+ '8 ',
120
+ '9 ',
121
+ 'A ',
122
+ 'c ',
123
+ 'R ',
124
+ 'y ',
125
+ 'P ',
126
+ 't ',
127
+ 'U ',
128
+ 'm ',
129
+ 'x ',
130
+ 'Z ',
131
+ ': ',
132
+ '{ ',
133
+ '[ ',
134
+ '} ',
135
+ '] ',
136
+ '| ',
137
+ '` ',
138
+ '~ ',
139
+ '! ',
140
+ '@ ',
141
+ '# ',
142
+ '$ ',
143
+ '% ',
144
+ '^ ',
145
+ '& ',
146
+ '* ',
147
+ '( ',
148
+ ') ',
149
+ '_ ',
150
+ '- ',
151
+ '= ',
152
+ '+ ',
153
+ '> ',
154
+ '< ',
155
+ '. ',
156
+ ', '
157
+ ]
158
+
159
+ last_index = matrix_arr.length - 1
160
+
161
+ matrix = ''
162
+ cols.times do
163
+ matrix_row = ''
164
+ most_cols = cols - 1
165
+ most_cols.times.each do
166
+ matrix_row += "#{matrix_arr[Random.rand(0..last_index)]} "
167
+ end
168
+ matrix_row += matrix_arr[Random.rand(0..last_index)]
169
+ matrix = "#{matrix}#{matrix_row}\n"
170
+ end
171
+
172
+ matrix.green
173
+ rescue StandardError => e
174
+ raise e
175
+ end
176
+
177
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
178
+
179
+ public_class_method def self.authors
180
+ "AUTHOR(S):
181
+ 0day Inc. <request.pentest@0dayinc.com>
182
+ "
183
+ end
184
+
185
+ # Display Usage for this Module
186
+
187
+ public_class_method def self.help
188
+ puts "USAGE:
189
+ #{self}.get
190
+
191
+ #{self}.authors
192
+ "
193
+ end
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,54 @@
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 Ninja
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::Ninja.get
11
+
12
+ public_class_method def self.get
13
+ '
14
+ .=+*****=-
15
+ :#%%%%%%%%%%%=
16
+ :%%%%%%%%%%%%%%+
17
+ *%%#+=-::--=*%%%+*#*
18
+ *%+:%%-:::#@=:%%%#*-
19
+ :: =%*:==::::-=:=%#:*%-
20
+ *#*- +%%%#######%%#.
21
+ :+##=.+%%%%%%%%%=
22
+ :-+%%%%%%%%%%%%#=
23
+ -%%%%%%%%%%%%%%%%%-
24
+ -%%#:.%%%%%%%%%.:#%%:
25
+ -##- -%%%%%%%%%- -##:
26
+ *%%%#+#%%%*::.
27
+ %%%+ *%%#
28
+ .%%%. :%%%.
29
+ =**+ +##=
30
+ '.light_blue
31
+ rescue StandardError => e
32
+ raise e
33
+ end
34
+
35
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
36
+
37
+ public_class_method def self.authors
38
+ "AUTHOR(S):
39
+ 0day Inc. <request.pentest@0dayinc.com>
40
+ "
41
+ end
42
+
43
+ # Display Usage for this Module
44
+
45
+ public_class_method def self.help
46
+ puts "USAGE:
47
+ #{self}.get
48
+
49
+ #{self}.authors
50
+ "
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,58 @@
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 OffTheAir
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::OffTheAir.get
11
+
12
+ public_class_method def self.get
13
+ '
14
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
15
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
16
+ @@#####%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@
17
+ @%.....=====-::::-=====++++*%%%%%#####@@
18
+ @%.....=====-::::-=====++++*%%%%%#####@@
19
+ @%.....=====-::::-=====++++*%%%%%#####@@
20
+ @%.....=====-::::-=====++++*%%%%%#####@@
21
+ @%.....=====-::::-=====++++*%%%%%#####@@
22
+ @%.....=====-::::-=====++++*%%%%%#####@@
23
+ @%.....=====-::::-=====++++*%%%%%#####@@
24
+ @%.....=====-::::-=====++++*%%%%%#####@@
25
+ @%.....=====-::::-=====++++*%%%%%#####@@
26
+ @%.....=====-::::-=====++++*%%%%%#####@@
27
+ @@+++++%%%%%+++++*%%%%*----=@@@@@:::::%@
28
+ @@######.... *###%%@@@@@@@@@@@@@%%%%%@@
29
+ @@###### *#####%@@@@@@@@@@@@@@@@@@@
30
+ @@###### *#####%@@@@@@@@@@@@@@@@@@@
31
+ @@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@
32
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
33
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
34
+ '
35
+ rescue StandardError => e
36
+ raise e
37
+ end
38
+
39
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
40
+
41
+ public_class_method def self.authors
42
+ "AUTHOR(S):
43
+ 0day Inc. <request.pentest@0dayinc.com>
44
+ "
45
+ end
46
+
47
+ # Display Usage for this Module
48
+
49
+ public_class_method def self.help
50
+ puts "USAGE:
51
+ #{self}.get
52
+
53
+ #{self}.authors
54
+ "
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,61 @@
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 Pirate
9
+ # Supported Method Parameters::
10
+ # PWN::Banner::Pirate.get
11
+
12
+ public_class_method def self.get
13
+ '
14
+ @@@@@@@%%@@%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@
15
+ @@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@
16
+ @@@@@@@@@@%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@
17
+ @@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@
18
+ @@@@@@@@@@@@%@@@@%%%%%%%%%%%%#***#%%%%%%%%%%%@@@@@@@@@@@@@@@
19
+ @@@@@@@@@@@@@%@@@%%%@%%%%%+-.......:+%%%%%%%%%%@@@@@@@@@@@@@
20
+ @@@@@@@@@@@@@@@@@@@%%%%@#:............*%%%%%%%%%%%%@%@@@@@@@
21
+ @@@@@@@@@@@@@@@@@@@@@%%%:.:.....*%%*:..%%%%%%%%%%%%%%%@@@@@@
22
+ @@@@@@@@@@@@@@@@@@@@@%%%:.-%%:..%%%%*.:%%%%%%%%%%%%%%%%%%%@@
23
+ @@@@@@@@@@@@@@@@%%@%%%%%%+=##::::*##-=#%%%%%%%%%%%%%%%%%%%%@
24
+ @@@@@@@@@@@@@@@@@@@%*#%%@#==::*=.=+=*%%%%%%%%%%%%%%%%%%%%%%@
25
+ @@@@@@@@@@@@@@@@@@@*-::=#@%%+::::*@%%=..%%%%%%%%%%%%%%%%%%%%
26
+ @@@@@@@@@@@@@@@@@@@@@%*+--+#%%%%%%#+:...+%%%%%%%%%%%%%%%%%%%
27
+ @@@@@@@@@@@@@@@@@@@@@@%%@#+-:+*+=-+*#%*:-%%%%%%%%%%%%%@%%%%%
28
+ @@@@@@@@@@@@@@@@@@@@@+-+**+=-==:-+#%%%%%@%%%%%%%%%%%%%%%%%%%
29
+ @@@@@@@@@@@@@@@@@@@@@%*::=*#%@@%*=::-=#%%%%%%%%%%%%%%%%%%%%%
30
+ @@@@@@@@@@@@@@@@%%@@@@+:=%@@@@%%%@%+:..+%%%%%%%%%%%%%%%%%%%%
31
+ @@@@@@@@@@@@@@@@@@@@@@%#%@@@@@@%%@@%%%#*#%%%%%%%%%%%%%%%%%%%
32
+ @@@@@@@@@@@@@@@@@@@@@@%%%%@@@@@%%%%%###%%%%%%%%%%%%%%%%%%%%%
33
+ @@@@@@@@@@@@@@@@@@@@@%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%@@%%%%%%%%%%%%%%%%%%%%%%%%
35
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%%%
37
+ '.light_black
38
+ rescue StandardError => e
39
+ raise e
40
+ end
41
+
42
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
43
+
44
+ public_class_method def self.authors
45
+ "AUTHOR(S):
46
+ 0day Inc. <request.pentest@0dayinc.com>
47
+ "
48
+ end
49
+
50
+ # Display Usage for this Module
51
+
52
+ public_class_method def self.help
53
+ puts "USAGE:
54
+ #{self}.get
55
+
56
+ #{self}.authors
57
+ "
58
+ end
59
+ end
60
+ end
61
+ end
data/lib/pwn/banner.rb ADDED
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PWN
4
+ # This file, using the autoload directive loads SP reports
5
+ # into memory only when they're needed. For more information, see:
6
+ # http://www.rubyinside.com/ruby-techniques-revealed-autoload-1652.html
7
+ module Banner
8
+ autoload :Bubble, 'pwn/banner/bubble'
9
+ autoload :Matrix, 'pwn/banner/matrix'
10
+ autoload :Ninja, 'pwn/banner/ninja'
11
+ autoload :OffTheAir, 'pwn/banner/off_the_air'
12
+ autoload :Pirate, 'pwn/banner/pirate'
13
+
14
+ # Supported Method Parameters::
15
+ # PWN::Banner.get(
16
+ # index: 'optional - defaults to random banner index'
17
+ # )
18
+
19
+ public_class_method def self.get(opts = {})
20
+ index = opts[:index].to_i
21
+ index = Random.rand(1..5) unless index.positive?
22
+
23
+ banner = ''
24
+ case index
25
+ when 1
26
+ banner = PWN::Banner::Bubble.get
27
+ when 2
28
+ banner = PWN::Banner::Matrix.get
29
+ when 3
30
+ banner = PWN::Banner::Ninja.get
31
+ when 4
32
+ banner = PWN::Banner::OffTheAir.get
33
+ when 5
34
+ banner = PWN::Banner::Pirate.get
35
+ else
36
+ raise 'Invalid Index.'
37
+ end
38
+
39
+ banner
40
+ end
41
+
42
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
43
+
44
+ public_class_method def self.authors
45
+ "AUTHOR(S):
46
+ 0day Inc. <request.pentest@0dayinc.com>
47
+ "
48
+ end
49
+
50
+ # Display Usage for this Module
51
+
52
+ public_class_method def self.help
53
+ puts "USAGE:
54
+ banner = #{self}.get(
55
+ index: 'optional - defaults to random banner index'
56
+ )
57
+
58
+ #{self}.authors
59
+ "
60
+ end
61
+ end
62
+ end
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.396'
4
+ VERSION = '0.4.398'
5
5
  end
data/lib/pwn.rb CHANGED
@@ -10,6 +10,7 @@ module PWN
10
10
  $stdout.flush # < Ensure that all print statements output progress in realtime
11
11
  # TODO: Determine best balance for namespace naming conventions
12
12
  autoload :AWS, 'pwn/aws'
13
+ autoload :Banner, 'pwn/banner'
13
14
  autoload :FFI, 'pwn/ffi'
14
15
  autoload :Plugins, 'pwn/plugins'
15
16
  autoload :Reports, 'pwn/reports'
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::Banner::Bubble do
6
+ it 'should cointain a method for banner retrieval' do
7
+ get_response = PWN::Banner::Bubble
8
+ expect(get_response).to respond_to :get
9
+ end
10
+
11
+ it 'should display information for authors' do
12
+ authors_response = PWN::Banner::Bubble
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::Bubble
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::Matrix do
6
+ it 'should cointain a method for banner retrieval' do
7
+ get_response = PWN::Banner::Matrix
8
+ expect(get_response).to respond_to :get
9
+ end
10
+
11
+ it 'should display information for authors' do
12
+ authors_response = PWN::Banner::Matrix
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::Matrix
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::Ninja do
6
+ it 'should cointain a method for banner retrieval' do
7
+ get_response = PWN::Banner::Ninja
8
+ expect(get_response).to respond_to :get
9
+ end
10
+
11
+ it 'should display information for authors' do
12
+ authors_response = PWN::Banner::Ninja
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::Ninja
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::OffTheAir do
6
+ it 'should cointain a method for banner retrieval' do
7
+ get_response = PWN::Banner::OffTheAir
8
+ expect(get_response).to respond_to :get
9
+ end
10
+
11
+ it 'should display information for authors' do
12
+ authors_response = PWN::Banner::OffTheAir
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::OffTheAir
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::Pirate do
6
+ it 'should cointain a method for banner retrieval' do
7
+ get_response = PWN::Banner::Pirate
8
+ expect(get_response).to respond_to :get
9
+ end
10
+
11
+ it 'should display information for authors' do
12
+ authors_response = PWN::Banner::Pirate
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::Pirate
18
+ expect(help_response).to respond_to :help
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::Banner do
6
+ it 'should display information for authors' do
7
+ authors_response = PWN::Banner
8
+ expect(authors_response).to respond_to :authors
9
+ end
10
+
11
+ it 'should display information for existing help method' do
12
+ help_response = PWN::Banner
13
+ expect(help_response).to respond_to :help
14
+ end
15
+ 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.396
4
+ version: 0.4.398
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-02 00:00:00.000000000 Z
11
+ date: 2022-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
152
  version: 2.19.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: colorize
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.8.1
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: 0.8.1
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: faye-websocket
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -1438,6 +1452,12 @@ files:
1438
1452
  - lib/pwn/aws/waf_regional.rb
1439
1453
  - lib/pwn/aws/workspaces.rb
1440
1454
  - lib/pwn/aws/x_ray.rb
1455
+ - lib/pwn/banner.rb
1456
+ - lib/pwn/banner/bubble.rb
1457
+ - lib/pwn/banner/matrix.rb
1458
+ - lib/pwn/banner/ninja.rb
1459
+ - lib/pwn/banner/off_the_air.rb
1460
+ - lib/pwn/banner/pirate.rb
1441
1461
  - lib/pwn/ffi.rb
1442
1462
  - lib/pwn/plugins.rb
1443
1463
  - lib/pwn/plugins/android.rb
@@ -1729,6 +1749,12 @@ files:
1729
1749
  - spec/lib/pwn/aws/workspaces_spec.rb
1730
1750
  - spec/lib/pwn/aws/x_ray_spec.rb
1731
1751
  - spec/lib/pwn/aws_spec.rb
1752
+ - spec/lib/pwn/banner/bubble_spec.rb
1753
+ - spec/lib/pwn/banner/matrix_spec.rb
1754
+ - spec/lib/pwn/banner/ninja_spec.rb
1755
+ - spec/lib/pwn/banner/off_the_air_spec.rb
1756
+ - spec/lib/pwn/banner/pirate_spec.rb
1757
+ - spec/lib/pwn/banner_spec.rb
1732
1758
  - spec/lib/pwn/ffi_spec.rb
1733
1759
  - spec/lib/pwn/plugins/android_spec.rb
1734
1760
  - spec/lib/pwn/plugins/authentication_helper_spec.rb
@@ -1990,6 +2016,12 @@ test_files:
1990
2016
  - spec/lib/pwn/aws/workspaces_spec.rb
1991
2017
  - spec/lib/pwn/aws/x_ray_spec.rb
1992
2018
  - spec/lib/pwn/aws_spec.rb
2019
+ - spec/lib/pwn/banner/bubble_spec.rb
2020
+ - spec/lib/pwn/banner/matrix_spec.rb
2021
+ - spec/lib/pwn/banner/ninja_spec.rb
2022
+ - spec/lib/pwn/banner/off_the_air_spec.rb
2023
+ - spec/lib/pwn/banner/pirate_spec.rb
2024
+ - spec/lib/pwn/banner_spec.rb
1993
2025
  - spec/lib/pwn/ffi_spec.rb
1994
2026
  - spec/lib/pwn/plugins/android_spec.rb
1995
2027
  - spec/lib/pwn/plugins/authentication_helper_spec.rb