pwn 0.4.389 → 0.4.393

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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -2
  3. data/README.md +2 -2
  4. data/bin/pwn +43 -22
  5. data/lib/pwn/version.rb +1 -1
  6. metadata +2 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8be720b98ca6c0e032826960b6635f881cec7eddc7880f39d3fe203c8f3f0bca
4
- data.tar.gz: 51890215c46c839580f6b204d563a13ef71c95cfc979152e5e282c6c781b3426
3
+ metadata.gz: 9638834cb2c2444a04cd23b17e5c0e187c396a712677dd2f02a0be933b7aea3e
4
+ data.tar.gz: 49240e2aec06df7358db080036c326969112bad268d0fa08a5b36456f1a6559f
5
5
  SHA512:
6
- metadata.gz: 94187e08a130c04bc15ff89ddffb84b1bcd5c493b19c3b45fd18954953feb9c0ab6a6ac59b71ddf01b50a2cf1c2b9c2433c2db2870c65d8cbe5a6c218207e143
7
- data.tar.gz: 3a737824290a898e8655308d3d5f0278bc3f3faa3abf078ea331e995aed380871033d1219c9907b2055c5611a1815496373a98bf7ccc15abc69a8e9427b482d1
6
+ metadata.gz: b9375a72e7962e7945f4f8eff2ca994331617e4f4bb392c620510cf5c303795956c27f0a214712d6bb866478bb14d16fb5de52e434fdbee70094b6c6b99fe791
7
+ data.tar.gz: 33ea8a6147132f1aa1ccea87c94c25718a865628056bb3517d80453ae70a3b7ba80c5eefd2e8765b7edb9a67f93316ba3e71dae7f016295d6bffc9618ec5c694
data/Gemfile CHANGED
@@ -16,7 +16,6 @@ gem 'anemone', '0.7.2'
16
16
  gem 'authy', '3.0.0'
17
17
  gem 'aws-sdk', '3.1.0'
18
18
  gem 'bettercap', '1.6.2'
19
- gem 'bond', '0.5.1'
20
19
  gem 'brakeman', '5.2.1'
21
20
  gem 'bson', '4.14.1'
22
21
  gem 'bundler', '>=2.3.10'
@@ -48,7 +47,6 @@ gem 'packetfu', '1.1.13'
48
47
  gem 'pdf-reader', '2.9.2'
49
48
  gem 'pg', '1.3.5'
50
49
  gem 'pry', '0.14.1'
51
- gem 'pry-bond', '0.0.1'
52
50
  gem 'pry-doc', '1.3.0'
53
51
  gem 'rake', '13.0.6'
54
52
  gem 'rb-readline', '0.5.5'
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.389]:001 >>> PWN.help
40
+ pwn[v0.4.393]: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.389]:001 >>> PWN.help
55
+ pwn[v0.4.393]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn CHANGED
@@ -3,13 +3,10 @@
3
3
 
4
4
  require 'pwn'
5
5
  require 'pry'
6
- require 'bond'
7
- require 'pry/bond'
8
6
  require 'tty-prompt'
9
7
  require 'tty-reader'
10
8
 
11
9
  begin
12
- # TODO: Remove once this feature is available in mainline
13
10
  class Pry
14
11
  # Overwrite Pry::History.push method in History class to get duplicate history entries
15
12
  # in order to properly replay automation in this prototyping driver
@@ -23,8 +20,6 @@ begin
23
20
  last_line = nil
24
21
  end
25
22
 
26
- # return line if line == last_line
27
-
28
23
  @history << line
29
24
  @history_line_count += 1
30
25
  @saver.call(line) if !should_ignore?(line) &&
@@ -37,11 +32,17 @@ begin
37
32
  end
38
33
 
39
34
  cli = Pry
35
+ cli.config.prompt_name = :pwn
36
+ cli.config.pwn_repl_line = 0
37
+ cli.config.tty_prompt = TTY::Prompt.new
38
+ cli.config.tty_reader = TTY::Reader.new
40
39
 
41
- cli.config.hooks.add_hook(:before_eval, :autocomplete) do
42
- prompt = TTY::Prompt.new
43
- reader = TTY::Reader.new
44
- reader.on(:keypress) { |key_event| prompt(key_event) }
40
+ cli.config.hooks.add_hook(:before_session, :welcome) do |output, _binding, _pry|
41
+ output.puts 'Use the #help method for more options.'
42
+ output.puts 'e.g help'
43
+ output.puts 'e.g PWN.help'
44
+ output.puts 'e.g PWN::Plugins.help'
45
+ output.puts 'e.g PWN::Plugins::TransparentBrowser.help'
45
46
  end
46
47
 
47
48
  cli::Commands.create_command 'toggle-pager' do
@@ -55,22 +56,42 @@ begin
55
56
  # Custom Main & Wait (Multi-Line) Prompts
56
57
  title = "\001\e[1m\002\001\e[31m\002pwn\001\e[0m\002" # Bold Red
57
58
  version = "\001\e[36m\002v#{PWN::VERSION}\001\e[0m\002" # Cyan
59
+ # @line = cli.config.custom_attrs[:line_number]
58
60
  arrow = "\001\e[32m\002>>>\001\e[0m\002" # Green
59
61
  splat = "\001\e[33m\002***\001\e[0m\002" # Yellow
60
62
 
61
- prompt = [
62
- proc do |_target_self, _nest_level, pry|
63
- line_pad = format('%0.3d', pry.input_ring.size)
64
- line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
65
- "#{title}[#{version}]:#{line_count} #{arrow} ".to_s.scrub
66
- end,
67
- proc do |_target_self, _nest_level, pry|
68
- line_pad = format('%0.3d', pry.input_ring.size)
69
- line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
70
- "#{title}[#{version}]:#{line_count} #{splat} ".to_s.scrub
71
- end
72
- ]
73
- cli.start(self, prompt: Pry::Prompt.new(:pwn, 'PWN_PROTOTYPING_DRIVER', prompt))
63
+ arrow_ps1_proc = proc do |_target_self, _nest_level, pry|
64
+ pry.config.pwn_repl_line += 1
65
+ line_pad = format(
66
+ '%0.3d',
67
+ pry.config.pwn_repl_line
68
+ )
69
+ line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
70
+ "#{title}[#{version}]:#{line_count} #{arrow} ".to_s.scrub
71
+ end
72
+
73
+ splat_ps1_proc = proc do |_target_self, _nest_level, pry|
74
+ pry.config.pwn_repl_line += 1
75
+ line_pad = format(
76
+ '%0.3d',
77
+ pry.config.pwn_repl_line
78
+ )
79
+ line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
80
+ "#{title}[#{version}]:#{line_count} #{splat} ".to_s.scrub
81
+ end
82
+
83
+ prompt_ps1 = [arrow_ps1_proc, splat_ps1_proc]
84
+
85
+ pwn_prompt = Pry::Prompt.new(
86
+ :pwn,
87
+ 'PWN_PROTOTYPING_DRIVER',
88
+ prompt_ps1
89
+ )
90
+
91
+ cli.start(
92
+ self,
93
+ prompt: pwn_prompt
94
+ )
74
95
  rescue StandardError => e
75
96
  raise e
76
97
  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.389'
4
+ VERSION = '0.4.393'
5
5
  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.389
4
+ version: 0.4.393
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-01 00:00:00.000000000 Z
11
+ date: 2022-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.6.2
83
- - !ruby/object:Gem::Dependency
84
- name: bond
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '='
88
- - !ruby/object:Gem::Version
89
- version: 0.5.1
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '='
95
- - !ruby/object:Gem::Version
96
- version: 0.5.1
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: brakeman
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -500,20 +486,6 @@ dependencies:
500
486
  - - '='
501
487
  - !ruby/object:Gem::Version
502
488
  version: 0.14.1
503
- - !ruby/object:Gem::Dependency
504
- name: pry-bond
505
- requirement: !ruby/object:Gem::Requirement
506
- requirements:
507
- - - '='
508
- - !ruby/object:Gem::Version
509
- version: 0.0.1
510
- type: :runtime
511
- prerelease: false
512
- version_requirements: !ruby/object:Gem::Requirement
513
- requirements:
514
- - - '='
515
- - !ruby/object:Gem::Version
516
- version: 0.0.1
517
489
  - !ruby/object:Gem::Dependency
518
490
  name: pry-doc
519
491
  requirement: !ruby/object:Gem::Requirement