pwn 0.5.453 → 0.5.454
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/.rubocop_todo.yml +4 -3
- data/Gemfile +2 -2
- data/README.md +3 -3
- data/bin/pwn +4 -15
- data/bin/pwn_android_war_dialer +1 -10
- data/bin/pwn_aws_describe_resources +1 -10
- data/bin/pwn_bdba_groups +1 -10
- data/bin/pwn_bdba_scan +1 -10
- data/bin/pwn_burp_suite_pro_active_rest_api_scan +1 -10
- data/bin/pwn_burp_suite_pro_active_scan +1 -10
- data/bin/pwn_char_base64_encoding +1 -10
- data/bin/pwn_char_dec_encoding +1 -10
- data/bin/pwn_char_hex_escaped_encoding +1 -10
- data/bin/pwn_char_html_entity_encoding +1 -10
- data/bin/pwn_char_unicode_escaped_encoding +1 -10
- data/bin/pwn_char_url_encoding +1 -10
- data/bin/pwn_crt_sh +1 -10
- data/bin/pwn_defectdojo_engagement_create +1 -10
- data/bin/pwn_defectdojo_importscan +1 -10
- data/bin/pwn_defectdojo_reimportscan +1 -10
- data/bin/pwn_diff_csv_files_w_column_exclude +1 -6
- data/bin/pwn_domain_reversewhois +1 -10
- data/bin/pwn_fuzz_net_app_proto +1 -10
- data/bin/pwn_gqrx_scanner +1 -10
- data/bin/pwn_jenkins_create_job +1 -10
- data/bin/pwn_jenkins_create_view +1 -10
- data/bin/pwn_jenkins_install_plugin +1 -10
- data/bin/pwn_jenkins_thinBackup_aws_s3 +1 -10
- data/bin/pwn_jenkins_update_plugins +1 -10
- data/bin/pwn_jenkins_useradd +1 -10
- data/bin/pwn_mail_agent +1 -10
- data/bin/pwn_nessus_cloud_scan_crud +1 -10
- data/bin/pwn_nessus_cloud_vulnscan +1 -10
- data/bin/pwn_nexpose +1 -10
- data/bin/pwn_nmap_discover_tcp_udp +1 -10
- data/bin/pwn_openvas_vulnscan +1 -10
- data/bin/pwn_pastebin_sample_filter +1 -10
- data/bin/pwn_phone +1 -10
- data/bin/pwn_rdoc_to_jsonl +5 -7
- data/bin/pwn_sast +1 -25
- data/bin/pwn_serial_check_voicemail +1 -10
- data/bin/pwn_serial_msr206 +4 -6
- data/bin/pwn_serial_son_micro_sm132_rfid +4 -6
- data/bin/pwn_shodan_graphql_introspection +1 -6
- data/bin/pwn_shodan_search +1 -10
- data/bin/pwn_simple_http_server +4 -5
- data/bin/pwn_web_cache_deception +1 -10
- data/bin/pwn_www_checkip +7 -5
- data/bin/pwn_www_uri_buster +1 -10
- data/bin/pwn_xss_dom_vectors +1 -10
- data/bin/pwn_zaproxy_active_rest_api_scan +1 -10
- data/bin/pwn_zaproxy_active_scan +1 -10
- data/lib/pwn/ai/introspection.rb +3 -1
- data/lib/pwn/config.rb +70 -25
- data/lib/pwn/driver.rb +85 -0
- data/lib/pwn/plugins/repl.rb +7 -10
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn.rb +5 -4
- data/spec/lib/pwn/driver_spec.rb +15 -0
- metadata +7 -7
- data/etc/pwn.decryptor.yaml.EXAMPLE +0 -5
- data/etc/pwn.yaml.EXAMPLE +0 -71
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aed16afd310606181c270f790e5d0ca4f01dc445079567529e6e97ca0af76a36
|
4
|
+
data.tar.gz: 0b8dbd25d99f28c387197b1277a5b38fdd2b4057630de4871dac0dff9d0fc3fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8366e85a05f0ca4bac9f0e437475ebe1b940c0ba989fad3de6456c852f55bee610420bdcb62cebe8d8554f28e000fb40ffa2a0b75e59e6b389b5fb51a9518b5b
|
7
|
+
data.tar.gz: 4ba3401047fd228b509cf3c51392de3f32b4102cd229ee88d8b5dc244889a20b379f37db9eafcf754d5c0537b36218f7a9ba542eda0436df08fef193380d59ff
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2025-10-
|
3
|
+
# on 2025-10-16 16:52:19 UTC using RuboCop version 1.81.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -30,7 +30,7 @@ Lint/RedundantTypeConversion:
|
|
30
30
|
- 'lib/pwn/plugins/jenkins.rb'
|
31
31
|
- 'lib/pwn/plugins/repl.rb'
|
32
32
|
|
33
|
-
# Offense count:
|
33
|
+
# Offense count: 287
|
34
34
|
# This cop supports safe autocorrection (--autocorrect).
|
35
35
|
Lint/UselessAssignment:
|
36
36
|
Enabled: false
|
@@ -101,11 +101,12 @@ Style/ExplicitBlockArgument:
|
|
101
101
|
Exclude:
|
102
102
|
- 'lib/pwn/plugins/nmap_it.rb'
|
103
103
|
|
104
|
-
# Offense count:
|
104
|
+
# Offense count: 2
|
105
105
|
# This cop supports safe autocorrection (--autocorrect).
|
106
106
|
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
|
107
107
|
Style/GuardClause:
|
108
108
|
Exclude:
|
109
|
+
- 'lib/pwn/driver.rb'
|
109
110
|
- 'lib/pwn/plugins/monkey_patch.rb'
|
110
111
|
|
111
112
|
# Offense count: 1
|
data/Gemfile
CHANGED
@@ -19,7 +19,7 @@ gem 'barby', '0.7.0'
|
|
19
19
|
gem 'base32', '0.3.4'
|
20
20
|
gem 'bitcoin-ruby', '0.0.20'
|
21
21
|
gem 'brakeman', '7.1.0'
|
22
|
-
gem 'bson', '5.
|
22
|
+
gem 'bson', '5.2.0'
|
23
23
|
gem 'bundler', '>=2.7.2'
|
24
24
|
gem 'bundler-audit', '0.9.2'
|
25
25
|
gem 'bunny', '2.24.0'
|
@@ -100,7 +100,7 @@ gem 'uart', '1.0.0'
|
|
100
100
|
gem 'watir', '7.3.0'
|
101
101
|
gem 'waveform', '0.1.3'
|
102
102
|
gem 'webrick', '1.9.1'
|
103
|
-
gem 'whois', '6.0.
|
103
|
+
gem 'whois', '6.0.3'
|
104
104
|
gem 'whois-parser', '2.0.0'
|
105
105
|
gem 'wicked_pdf', '2.8.2'
|
106
106
|
gem 'yard', '0.9.37'
|
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.5.
|
40
|
+
pwn[v0.5.454]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](https://youtu.be/G7iLUY4FzsI)
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.4.4@pwn
|
|
52
52
|
$ gem uninstall --all --executables pwn
|
53
53
|
$ gem install --verbose pwn
|
54
54
|
$ pwn
|
55
|
-
pwn[v0.5.
|
55
|
+
pwn[v0.5.454]: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.4.4@pwn
|
|
62
62
|
$ rvmsudo gem uninstall --all --executables pwn
|
63
63
|
$ rvmsudo gem install --verbose pwn
|
64
64
|
$ pwn
|
65
|
-
pwn[v0.5.
|
65
|
+
pwn[v0.5.454]: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:
|
data/bin/pwn
CHANGED
@@ -3,24 +3,13 @@
|
|
3
3
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
12
|
-
options.on('-YPATH', '--pwn-env=PATH', '<Optional - PWN YAML File>') do |p|
|
13
|
-
opts[:pwn_env_path] = p
|
14
|
-
end
|
15
|
-
|
16
|
-
options.on('-ZPATH', '--pwn-dec=PATH', '<Optional - Out-of-Band YAML File with :key && :iv>') do |d|
|
17
|
-
opts[:pwn_dec_path] = d
|
18
|
-
end
|
19
|
-
end.parse!
|
6
|
+
pwn_driver = PWN::Driver::Parser.new
|
7
|
+
pwn_driver.auto_opts_help = false
|
8
|
+
pwn_driver.parse!
|
20
9
|
|
21
10
|
begin
|
22
11
|
pwn_pid = Process.pid
|
23
|
-
PWN::Plugins::REPL.start
|
12
|
+
PWN::Plugins::REPL.start
|
24
13
|
rescue StandardError => e
|
25
14
|
raise e
|
26
15
|
ensure
|
data/bin/pwn_android_war_dialer
CHANGED
@@ -5,11 +5,7 @@ require 'pwn'
|
|
5
5
|
require 'waveform'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-fFROM', '--from=FROM', '<Required - Dial Range from (Beginning Number)>') do |f|
|
14
10
|
opts[:from_num] = f
|
15
11
|
end
|
@@ -43,11 +39,6 @@ OptionParser.new do |options|
|
|
43
39
|
end
|
44
40
|
end.parse!
|
45
41
|
|
46
|
-
if opts.empty?
|
47
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
48
|
-
exit 1
|
49
|
-
end
|
50
|
-
|
51
42
|
# Required Flag Variables
|
52
43
|
from_num = opts[:from_num].to_s.scrub.strip.chomp.delete('(').delete(')').delete('-').delete('.').delete('+').to_i
|
53
44
|
to_num = opts[:to_num].to_s.scrub.strip.chomp.delete('(').delete(')').delete('-').delete('.').delete('+').to_i
|
@@ -5,11 +5,7 @@ require 'aws-sdk'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-rREGION', '--region=REGION', '<Required - Region to Describe>') do |region|
|
14
10
|
opts[:region] = region
|
15
11
|
end
|
@@ -39,11 +35,6 @@ OptionParser.new do |options|
|
|
39
35
|
end
|
40
36
|
end.parse!
|
41
37
|
|
42
|
-
if opts.empty?
|
43
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
44
|
-
exit 1
|
45
|
-
end
|
46
|
-
|
47
38
|
logger = PWN::Plugins::PWNLogger.create
|
48
39
|
|
49
40
|
if opts[:yaml]
|
data/bin/pwn_bdba_groups
CHANGED
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-cCONFIG', '--config=CONFIG', '<Required - Black Duck Binary Analysis YAML config>') do |c|
|
13
9
|
opts[:config] = c
|
14
10
|
end
|
@@ -34,11 +30,6 @@ OptionParser.new do |options|
|
|
34
30
|
end
|
35
31
|
end.parse!
|
36
32
|
|
37
|
-
if opts.empty?
|
38
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
39
|
-
exit 1
|
40
|
-
end
|
41
|
-
|
42
33
|
begin
|
43
34
|
pwn_provider = 'ruby-gem'
|
44
35
|
pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.keys.any? { |s| s == 'PWN_PROVIDER' }
|
data/bin/pwn_bdba_scan
CHANGED
@@ -5,11 +5,7 @@ require 'cgi'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-cCONFIG', '--config=CONFG', '<Required - Black Duck Binary Analysis YAML config>') do |g|
|
14
10
|
opts[:config] = g
|
15
11
|
end
|
@@ -51,11 +47,6 @@ OptionParser.new do |options|
|
|
51
47
|
end
|
52
48
|
end.parse!
|
53
49
|
|
54
|
-
if opts.empty?
|
55
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
56
|
-
exit 1
|
57
|
-
end
|
58
|
-
|
59
50
|
abort_total = 1
|
60
51
|
begin
|
61
52
|
pwn_provider = 'ruby-gem'
|
@@ -5,11 +5,7 @@ require 'pwn'
|
|
5
5
|
require 'uri'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-tTARGET', '--target_url=TARGET', '<Required - Target URI to Scan>') do |t|
|
14
10
|
opts[:target_url] = t
|
15
11
|
end
|
@@ -63,11 +59,6 @@ OptionParser.new do |options|
|
|
63
59
|
end
|
64
60
|
end.parse!
|
65
61
|
|
66
|
-
if opts.empty?
|
67
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
68
|
-
exit 1
|
69
|
-
end
|
70
|
-
|
71
62
|
begin
|
72
63
|
timestamp = Time.now.strftime('%Y-%m-%d_%H-%M-%S%Z')
|
73
64
|
logger = PWN::Plugins::PWNLogger.create
|
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-tTARGET', '--target_url=TARGET', '<Required - Target URI to Scan>') do |t|
|
13
9
|
opts[:target_url] = t
|
14
10
|
end
|
@@ -46,11 +42,6 @@ OptionParser.new do |options|
|
|
46
42
|
end
|
47
43
|
end.parse!
|
48
44
|
|
49
|
-
if opts.empty?
|
50
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
51
|
-
exit 1
|
52
|
-
end
|
53
|
-
|
54
45
|
begin
|
55
46
|
logger = PWN::Plugins::PWNLogger.create
|
56
47
|
|
@@ -5,20 +5,11 @@ require 'base64'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-pSTRING', '--payload=STRING', '<Required - String to Encode>') do |p|
|
14
10
|
opts[:payload] = p
|
15
11
|
end
|
16
12
|
end.parse!
|
17
13
|
|
18
|
-
if opts.empty?
|
19
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
20
|
-
exit 1
|
21
|
-
end
|
22
|
-
|
23
14
|
payload = opts[:payload].to_s.scrub
|
24
15
|
puts Base64.strict_encode64(payload)
|
data/bin/pwn_char_dec_encoding
CHANGED
@@ -4,20 +4,11 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-pSTRING', '--payload=STRING', '<Required - String to Encode>') do |p|
|
13
9
|
opts[:payload] = p
|
14
10
|
end
|
15
11
|
end.parse!
|
16
12
|
|
17
|
-
if opts.empty?
|
18
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
19
|
-
exit 1
|
20
|
-
end
|
21
|
-
|
22
13
|
payload = opts[:payload].to_s.scrub
|
23
14
|
puts payload.unpack('C*')
|
@@ -4,21 +4,12 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-pSTRING', '--payload=STRING', '<Required - String to Encode>') do |p|
|
13
9
|
opts[:payload] = p
|
14
10
|
end
|
15
11
|
end.parse!
|
16
12
|
|
17
|
-
if opts.empty?
|
18
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
19
|
-
exit 1
|
20
|
-
end
|
21
|
-
|
22
13
|
payload = opts[:payload].to_s.scrub
|
23
14
|
payload.each_char do |char|
|
24
15
|
print "\\x#{char.to_s.unpack1('H*')}"
|
@@ -5,20 +5,11 @@ require 'cgi'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-pSTRING', '--payload=STRING', '<Required - String to Encode>') do |p|
|
14
10
|
opts[:payload] = p
|
15
11
|
end
|
16
12
|
end.parse!
|
17
13
|
|
18
|
-
if opts.empty?
|
19
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
20
|
-
exit 1
|
21
|
-
end
|
22
|
-
|
23
14
|
payload = opts[:payload].to_s.scrub
|
24
15
|
puts CGI.escapeHTML(payload)
|
@@ -4,20 +4,11 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-pSTRING', '--payload=STRING', '<Required - String to Encode>') do |p|
|
13
9
|
opts[:payload] = p
|
14
10
|
end
|
15
11
|
end.parse!
|
16
12
|
|
17
|
-
if opts.empty?
|
18
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
19
|
-
exit 1
|
20
|
-
end
|
21
|
-
|
22
13
|
payload = opts[:payload].to_s.scrub
|
23
14
|
puts payload.unpack('U*').map { |i| "\\u#{i.to_s(16).rjust(4, '0')}" }.join
|
data/bin/pwn_char_url_encoding
CHANGED
@@ -5,20 +5,11 @@ require 'cgi'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-pSTRING', '--payload=STRING', '<Required - String to Encode>') do |p|
|
14
10
|
opts[:payload] = p
|
15
11
|
end
|
16
12
|
end.parse!
|
17
13
|
|
18
|
-
if opts.empty?
|
19
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
20
|
-
exit 1
|
21
|
-
end
|
22
|
-
|
23
14
|
payload = opts[:payload].to_s.scrub
|
24
15
|
puts CGI.escape(payload)
|
data/bin/pwn_crt_sh
CHANGED
@@ -5,11 +5,7 @@ require 'nokogiri'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-tDOMAIN', '--target-domain=DOMAIN', '<Required - Target Domain>') do |t|
|
14
10
|
opts[:target_domain] = t
|
15
11
|
end
|
@@ -23,11 +19,6 @@ OptionParser.new do |options|
|
|
23
19
|
end
|
24
20
|
end.parse!
|
25
21
|
|
26
|
-
if opts.empty?
|
27
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
28
|
-
exit 1
|
29
|
-
end
|
30
|
-
|
31
22
|
begin
|
32
23
|
target_domain = opts[:target_domain]
|
33
24
|
raise 'No target domain provided' if target_domain.nil?
|
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-uURL', '--url=URL', '<Required - DefectDojo URL>') do |u|
|
13
9
|
opts[:url] = u
|
14
10
|
end
|
@@ -94,11 +90,6 @@ OptionParser.new do |options|
|
|
94
90
|
end
|
95
91
|
end.parse!
|
96
92
|
|
97
|
-
if opts.empty?
|
98
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
99
|
-
exit 1
|
100
|
-
end
|
101
|
-
|
102
93
|
# Construct AuthN Args
|
103
94
|
url = opts[:url]
|
104
95
|
api_version = opts[:api_version]
|
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-uURL', '--url=URL', '<Required - DefectDojo URL>') do |u|
|
13
9
|
opts[:url] = u
|
14
10
|
end
|
@@ -82,11 +78,6 @@ OptionParser.new do |options|
|
|
82
78
|
end
|
83
79
|
end.parse!
|
84
80
|
|
85
|
-
if opts.empty?
|
86
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
87
|
-
exit 1
|
88
|
-
end
|
89
|
-
|
90
81
|
# Construct AuthN Args
|
91
82
|
url = opts[:url]
|
92
83
|
api_version = opts[:api_version]
|
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-uURL', '--url=URL', '<Required - DefectDojo URL>') do |u|
|
13
9
|
opts[:url] = u
|
14
10
|
end
|
@@ -74,11 +70,6 @@ OptionParser.new do |options|
|
|
74
70
|
end
|
75
71
|
end.parse!
|
76
72
|
|
77
|
-
if opts.empty?
|
78
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
79
|
-
exit 1
|
80
|
-
end
|
81
|
-
|
82
73
|
# Construct AuthN Args
|
83
74
|
url = opts[:url]
|
84
75
|
api_version = opts[:api_version]
|
@@ -5,7 +5,7 @@ require 'csv'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
9
9
|
options.banner = "USAGE:
|
10
10
|
#{File.basename($PROGRAM_NAME)} [opts]
|
11
11
|
EXAMPLE w/ Tenable Nessus Results:
|
@@ -44,11 +44,6 @@ OptionParser.new do |options|
|
|
44
44
|
end
|
45
45
|
end.parse!
|
46
46
|
|
47
|
-
if opts.empty?
|
48
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
49
|
-
exit 1
|
50
|
-
end
|
51
|
-
|
52
47
|
def ommit_columns_by_index(opts = {})
|
53
48
|
csv = opts[:csv]
|
54
49
|
columns_index_arr = opts[:columns_index_arr]
|
data/bin/pwn_domain_reversewhois
CHANGED
@@ -6,11 +6,7 @@ require 'nokogiri'
|
|
6
6
|
require 'pwn'
|
7
7
|
|
8
8
|
opts = PWN::Env[:driver_opts]
|
9
|
-
|
10
|
-
options.banner = "USAGE:
|
11
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
12
|
-
"
|
13
|
-
|
9
|
+
PWN::Driver::Parser.new do |options|
|
14
10
|
options.on('-sRFILTER', '--registrant-filter=RFILTER', '<Required - Registrant Name or Email Address>') do |s|
|
15
11
|
opts[:registrant_filter] = s
|
16
12
|
end
|
@@ -24,11 +20,6 @@ OptionParser.new do |options|
|
|
24
20
|
end
|
25
21
|
end.parse!
|
26
22
|
|
27
|
-
if opts.empty?
|
28
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
29
|
-
exit 1
|
30
|
-
end
|
31
|
-
|
32
23
|
registrant_filter = opts[:registrant_filter].to_s.strip.chomp.scrub
|
33
24
|
output_results = opts[:output_results].to_s.strip.chomp.scrub
|
34
25
|
proxy = opts[:proxy].to_s.scrub.strip.chomp unless opts[:proxy].nil?
|
data/bin/pwn_fuzz_net_app_proto
CHANGED
@@ -5,11 +5,7 @@ require 'htmlentities'
|
|
5
5
|
require 'pwn'
|
6
6
|
|
7
7
|
opts = PWN::Env[:driver_opts]
|
8
|
-
|
9
|
-
options.banner = "USAGE:
|
10
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
11
|
-
"
|
12
|
-
|
8
|
+
PWN::Driver::Parser.new do |options|
|
13
9
|
options.on('-dDIR', '--dir-path=DIR', '<Required - Report Output Directory>') do |d|
|
14
10
|
opts[:dir_path] = d
|
15
11
|
end
|
@@ -75,11 +71,6 @@ OptionParser.new do |options|
|
|
75
71
|
end
|
76
72
|
end.parse!
|
77
73
|
|
78
|
-
if opts.empty?
|
79
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
80
|
-
exit 1
|
81
|
-
end
|
82
|
-
|
83
74
|
pwn_provider = 'ruby-gem'
|
84
75
|
# pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.keys.select { |s| s == 'PWN_PROVIDER' }.any?
|
85
76
|
pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.keys.any? { |s| s == 'PWN_PROVIDER' }
|
data/bin/pwn_gqrx_scanner
CHANGED
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-aPROFILE', '--assume-profile=PROFILE', '<Required if "--target-freq" is Nil - Profile to assume for common radio protocols. Use "--list-profiles" to display supported protocols (Defaults to nil)') do |p|
|
13
9
|
opts[:profile] = p
|
14
10
|
end
|
@@ -74,11 +70,6 @@ OptionParser.new do |options|
|
|
74
70
|
end
|
75
71
|
end.parse!
|
76
72
|
|
77
|
-
if opts.empty?
|
78
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
79
|
-
exit 1
|
80
|
-
end
|
81
|
-
|
82
73
|
begin
|
83
74
|
pwn_provider = 'ruby-gem'
|
84
75
|
pwn_provider = ENV.fetch('PWN_PROVIDER') if ENV.keys.any? { |s| s == 'PWN_PROVIDER' }
|
data/bin/pwn_jenkins_create_job
CHANGED
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
|
13
9
|
|
14
10
|
options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
|
@@ -32,11 +28,6 @@ OptionParser.new do |options|
|
|
32
28
|
end
|
33
29
|
end.parse!
|
34
30
|
|
35
|
-
if opts.empty?
|
36
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
37
|
-
exit 1
|
38
|
-
end
|
39
|
-
|
40
31
|
ip = opts[:ip].to_s.scrub
|
41
32
|
port = opts[:port].to_i
|
42
33
|
username = opts[:username]
|
data/bin/pwn_jenkins_create_view
CHANGED
@@ -4,11 +4,7 @@
|
|
4
4
|
require 'pwn'
|
5
5
|
|
6
6
|
opts = PWN::Env[:driver_opts]
|
7
|
-
|
8
|
-
options.banner = "USAGE:
|
9
|
-
#{File.basename($PROGRAM_NAME)} [opts]
|
10
|
-
"
|
11
|
-
|
7
|
+
PWN::Driver::Parser.new do |options|
|
12
8
|
options.on('-sIP', '--ip=IP', '<Required - Jenkins Server IP>') { |s| opts[:ip] = s }
|
13
9
|
|
14
10
|
options.on('-dPORT', '--dest-port=PORT', '<Optional - Jenkins Server Port (Defaults to 8080)>') do |port|
|
@@ -32,11 +28,6 @@ OptionParser.new do |options|
|
|
32
28
|
end
|
33
29
|
end.parse!
|
34
30
|
|
35
|
-
if opts.empty?
|
36
|
-
puts `#{File.basename($PROGRAM_NAME)} --help`
|
37
|
-
exit 1
|
38
|
-
end
|
39
|
-
|
40
31
|
ip = opts[:ip].to_s.scrub
|
41
32
|
port = opts[:port].to_i
|
42
33
|
username = opts[:username]
|