pwn 0.4.804 → 0.4.806

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: '09721e5fe360b1b68f75194406792bf3ce99d8b0d907dbf3ec21e853f34792ba'
4
- data.tar.gz: 32438ee4f0cfff658da7657c420602d0c4261909dc0d6cb28055ace5fae28252
3
+ metadata.gz: f5e7aa0be6bed2f68f8cecb8f8590419f68ba689040f950fc9e8737698764b05
4
+ data.tar.gz: a272ba7b4ce1d812c13a8d8cf620ddbc8131920a7b4b4aa0c125ed1f639bea3b
5
5
  SHA512:
6
- metadata.gz: 83c3dcbfce05ac2fcae70a94a88a4431f5191920f6ccc3f1412440609ca6b9a1b04b78107cd24541188e3e2eb80a13ca452b410f838dca8684535d46aa89e8ac
7
- data.tar.gz: ff0b6e00e2b210d0249eedbcdd55e99bdd91b641dd0a611807e46342b6f91c709257d1b9dbd11e51b6d7bc690f21c3dcd86d29360fd44102093b6a8705a904f1
6
+ metadata.gz: 87f668624f4f33f1581fa575e526fab9ebd0ff7fdc3cc0781fb2c0d16b91e8bb60085382daa0bcaaecb5597282eeb455670570d82c8c3805241201772c533665
7
+ data.tar.gz: ba1d22c8aeb122d0f1d88480941aedea665d723736760093caf2fe56ba66dc44b1a0fa9f07b805a7d38637a2d92e40b38a1e0223a491caa49c3ada949cdc0d7d
data/Gemfile CHANGED
@@ -18,14 +18,14 @@ gem 'aws-sdk', '3.1.0'
18
18
  # gem 'bettercap', '1.6.2'
19
19
  gem 'brakeman', '6.0.1'
20
20
  gem 'bson', '4.15.0'
21
- gem 'bundler', '>=2.4.17'
21
+ gem 'bundler', '>=2.4.18'
22
22
  gem 'bundler-audit', '0.9.1'
23
23
  gem 'bunny', '2.22.0'
24
24
  gem 'colorize', '1.1.0'
25
25
  gem 'credit_card_validations', '6.0.0'
26
26
  gem 'eventmachine', '1.2.7'
27
27
  gem 'executable-hooks', '1.6.1'
28
- gem 'faye-websocket', '0.11.2'
28
+ gem 'faye-websocket', '0.11.3'
29
29
  gem 'ffi', '1.15.5'
30
30
  gem 'fftw3', '0.3'
31
31
  gem 'gdb', '1.0.0'
@@ -67,9 +67,9 @@ gem 'rex', '2.0.13'
67
67
  gem 'rmagick', '5.3.0'
68
68
  gem 'rspec', '3.12.0'
69
69
  gem 'rtesseract', '3.1.2'
70
- gem 'rubocop', '1.55.0'
70
+ gem 'rubocop', '1.55.1'
71
71
  gem 'rubocop-rake', '0.6.0'
72
- gem 'rubocop-rspec', '2.22.0'
72
+ gem 'rubocop-rspec', '2.23.0'
73
73
  gem 'ruby-audio', '1.6.1'
74
74
  gem 'ruby-nmap', '1.0.1'
75
75
  gem 'ruby-saml', '1.15.0'
@@ -85,7 +85,7 @@ gem 'sqlite3', '1.6.3'
85
85
  gem 'thin', '1.8.2'
86
86
  gem 'tty-prompt', '0.23.1'
87
87
  gem 'tty-spinner', '0.9.3'
88
- gem 'watir', '7.2.2'
88
+ gem 'watir', '7.3.0'
89
89
  gem 'waveform', '0.1.3'
90
90
  gem 'webrick', '1.8.1'
91
91
  gem 'whois', '5.1.0'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.804]:001 >>> PWN.help
40
+ pwn[v0.4.806]: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.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.804]:001 >>> PWN.help
55
+ pwn[v0.4.806]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn_bdba_groups CHANGED
@@ -15,7 +15,7 @@ OptionParser.new do |options|
15
15
  opts[:config] = c
16
16
  end
17
17
 
18
- options.on('-CGROUP', '--create=GROUP', '<Required - Group/Sub-Group to Create>') do |g|
18
+ options.on('-CGROUP', '--create=GROUP', '<Optional - Group/Sub-Group to Create>') do |g|
19
19
  opts[:group_name] = g
20
20
  end
21
21
 
@@ -23,8 +23,8 @@ OptionParser.new do |options|
23
23
  opts[:list_group_name] = l
24
24
  end
25
25
 
26
- options.on('-pPNAME', '--parent-group=PNAME', '<Optional - Black Duck Binary Analysis Parent Group Name to Associate with Group>') do |p|
27
- opts[:parent_group_name] = p
26
+ options.on('-pID', '--parent-group-ID=ID', '<Optional - Black Duck Binary Analysis Parent Group ID to Associate with Group>') do |p|
27
+ opts[:parent_group_id] = p
28
28
  end
29
29
  end.parse!
30
30
 
@@ -46,49 +46,44 @@ begin
46
46
  raise "ERROR: BDBA Token Not Found: #{token}" if token.nil?
47
47
 
48
48
  list_group_name = opts[:list_group_name]
49
- parent_group_name = opts[:parent_group_name]
50
- parent_id = nil
49
+ parent_group_id = opts[:parent_group_id]
51
50
 
52
- if list_group_name || parent_group_name
51
+ if list_group_name
53
52
  groups_resp = PWN::Plugins::BlackDuckBinaryAnalysis.get_groups(
54
53
  token: token
55
54
  )
56
55
 
57
- raise 'No groups found in BDBA. Use the --create flag to create your first group.' if groups_resp.nil?
56
+ group_arr = groups_resp[:groups].select { |g| g[:name] == list_group_name }
58
57
 
59
- list_or_parent = list_group_name unless list_group_name.nil?
60
- list_or_parent = parent_group_name unless parent_group_name.nil?
61
-
62
- group_arr = groups_resp[:groups].select { |g| g[:name] == list_or_parent }
63
- group_arr_sorted = group_arr.sort_by { |g| g[:id] }
64
- group = group_arr_sorted.last
65
-
66
- if list_group_name && group.nil?
58
+ if list_group_name && group_arr.empty?
67
59
  puts 'BDBA Group Not Found.'
68
60
  exit 1
69
61
  end
70
62
 
71
- parent_id = group[:id]
63
+ group_details_arr = []
64
+ group_arr.each do |group|
65
+ group_id = group.[:id]
72
66
 
73
- if list_group_name
74
- group_id = parent_id
75
- group_details_resp = PWN::Plugins::BlackDuckBinaryAnalysis.get_group_details(
67
+ this_group_details = PWN::Plugins::BlackDuckBinaryAnalysis.get_group_details(
76
68
  token: token,
77
69
  group_id: group_id
78
70
  )
79
- puts group_details_resp.to_json
80
- exit 0
71
+ group_details_arr.push(this_group_details)
81
72
  end
73
+ puts group_details_arr.to_json
74
+ exit 0
82
75
  end
83
76
 
84
77
  group_name = opts[:group_name]
85
78
  raise "ERROR: BDBA Group Name Not Provided: #{group_name}" if group_name.nil?
86
79
 
87
- PWN::Plugins::BlackDuckBinaryAnalysis.create_group(
80
+ create_group_resp = PWN::Plugins::BlackDuckBinaryAnalysis.create_group(
88
81
  token: token,
89
82
  name: group_name,
90
- parent_id: parent_id
83
+ parent_id: parent_group_id
91
84
  )
85
+
86
+ puts create_group_resp.to_json
92
87
  rescue SystemExit, Interrupt
93
88
  puts "\nGoodbye."
94
89
  rescue StandardError => e
data/bin/pwn_bdba_scan CHANGED
@@ -16,8 +16,8 @@ OptionParser.new do |options|
16
16
  opts[:config] = g
17
17
  end
18
18
 
19
- options.on('-pNAME', '--parent-group=NAME', '<Required - Black Duck Binary Analysis Parent Group Name to Associate with Binary Scan>') do |p|
20
- opts[:parent_group_name] = p
19
+ options.on('-pID', '--parent-group-id=ID', '<Required - Black Duck Binary Analysis Parent Group ID to Associate with Binary Scan>') do |p|
20
+ opts[:parent_group_id] = p
21
21
  end
22
22
 
23
23
  options.on('-sFILE', '--scan=FILE', '<Required - File to Scan in Black Duck Binary Analysis>') do |f|
@@ -58,8 +58,8 @@ begin
58
58
  token = yaml_config[:token]
59
59
  raise "ERROR: BDBA Token Not Found: #{token}" if token.nil?
60
60
 
61
- parent_group_name = opts[:parent_group_name]
62
- raise "ERROR: BDBA Parent Group Name Not Provided: #{parent_group_name}" if parent_group_name.nil?
61
+ parent_group_id = opts[:parent_group_id]
62
+ raise "ERROR: BDBA Parent Group ID Not Provided: #{parent_group_id}" if parent_group_id.nil?
63
63
 
64
64
  target_file = opts[:target_file]
65
65
  raise "ERROR: BDBA Target File Not Found: #{target_file}" unless File.exist?(target_file)
@@ -74,22 +74,12 @@ begin
74
74
 
75
75
  version = opts[:version]
76
76
 
77
- groups_resp = PWN::Plugins::BlackDuckBinaryAnalysis.get_groups(
78
- token: token
79
- )
80
-
81
- parent_arr = groups_resp[:groups].select { |g| g[:name] == parent_group_name }
82
- raise "ERROR: BDBA Parent Group Not Found: #{parent_group_name}" if parent_arr.nil?
83
-
84
- sorted_parent_arr = parent_arr.sort_by { |g| g[:id] }
85
- parent_id = sorted_parent_arr.last[:id]
86
-
87
77
  unless report_only
88
78
  puts "Uploading/Scanning: #{target_file}"
89
79
  PWN::Plugins::BlackDuckBinaryAnalysis.upload_file(
90
80
  token: token,
91
81
  file: target_file,
92
- group_id: parent_id,
82
+ group_id: parent_group_id,
93
83
  version: version
94
84
  )
95
85
  end
@@ -99,7 +89,7 @@ begin
99
89
  loop do
100
90
  scan_progress_resp = PWN::Plugins::BlackDuckBinaryAnalysis.get_apps_by_group(
101
91
  token: token,
102
- group_id: parent_id
92
+ group_id: parent_group_id
103
93
  )
104
94
 
105
95
  break if scan_progress_resp[:products].none? { |p| p[:status] == 'B' } || report_only
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.804'
4
+ VERSION = '0.4.806'
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.804
4
+ version: 0.4.806
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-25 00:00:00.000000000 Z
11
+ date: 2023-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 2.4.17
103
+ version: 2.4.18
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 2.4.17
110
+ version: 2.4.18
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: bundler-audit
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -198,14 +198,14 @@ dependencies:
198
198
  requirements:
199
199
  - - '='
200
200
  - !ruby/object:Gem::Version
201
- version: 0.11.2
201
+ version: 0.11.3
202
202
  type: :runtime
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
206
  - - '='
207
207
  - !ruby/object:Gem::Version
208
- version: 0.11.2
208
+ version: 0.11.3
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: ffi
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -786,14 +786,14 @@ dependencies:
786
786
  requirements:
787
787
  - - '='
788
788
  - !ruby/object:Gem::Version
789
- version: 1.55.0
789
+ version: 1.55.1
790
790
  type: :runtime
791
791
  prerelease: false
792
792
  version_requirements: !ruby/object:Gem::Requirement
793
793
  requirements:
794
794
  - - '='
795
795
  - !ruby/object:Gem::Version
796
- version: 1.55.0
796
+ version: 1.55.1
797
797
  - !ruby/object:Gem::Dependency
798
798
  name: rubocop-rake
799
799
  requirement: !ruby/object:Gem::Requirement
@@ -814,14 +814,14 @@ dependencies:
814
814
  requirements:
815
815
  - - '='
816
816
  - !ruby/object:Gem::Version
817
- version: 2.22.0
817
+ version: 2.23.0
818
818
  type: :runtime
819
819
  prerelease: false
820
820
  version_requirements: !ruby/object:Gem::Requirement
821
821
  requirements:
822
822
  - - '='
823
823
  - !ruby/object:Gem::Version
824
- version: 2.22.0
824
+ version: 2.23.0
825
825
  - !ruby/object:Gem::Dependency
826
826
  name: ruby-audio
827
827
  requirement: !ruby/object:Gem::Requirement
@@ -1038,14 +1038,14 @@ dependencies:
1038
1038
  requirements:
1039
1039
  - - '='
1040
1040
  - !ruby/object:Gem::Version
1041
- version: 7.2.2
1041
+ version: 7.3.0
1042
1042
  type: :runtime
1043
1043
  prerelease: false
1044
1044
  version_requirements: !ruby/object:Gem::Requirement
1045
1045
  requirements:
1046
1046
  - - '='
1047
1047
  - !ruby/object:Gem::Version
1048
- version: 7.2.2
1048
+ version: 7.3.0
1049
1049
  - !ruby/object:Gem::Dependency
1050
1050
  name: waveform
1051
1051
  requirement: !ruby/object:Gem::Requirement
@@ -2149,7 +2149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2149
2149
  - !ruby/object:Gem::Version
2150
2150
  version: '0'
2151
2151
  requirements: []
2152
- rubygems_version: 3.4.17
2152
+ rubygems_version: 3.4.18
2153
2153
  signing_key:
2154
2154
  specification_version: 4
2155
2155
  summary: Automated Security Testing for CI/CD Pipelines & Beyond