pwn 0.4.934 → 0.4.936

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: 96d55da9eae5abee0f896f6f9a898e2ebf9036ca825dc26f6144b28528ea68db
4
- data.tar.gz: 153e4ae9326f7096d3b6c77009d83c5ed8a619d9b76538870f4bd6345509507d
3
+ metadata.gz: 224c9ba60d1bae836ead32f4e27e6bb8f6a5c3381abb0750a9046e2e8fa12205
4
+ data.tar.gz: c638b4fbe4b5bffa404eb0fdb1d7fd54c06a4ac5470a824529402731407837cb
5
5
  SHA512:
6
- metadata.gz: 62ca84a8b9542e62b14f507588e335a3a8ac5f8b057b41ad89e502cd14b25e1ab59b0c00e30c932388ff853420f30593d3c20da0b7d664cb7a272cc69f56dad9
7
- data.tar.gz: 8a64989b3da05b11525f3baa282d0b1dc240c01decd35441a60ff42b68af90aa9545f5bb5d5d0e6cd72bd0f49b42016a9eddd55376eab8afc9a89daf5718c5af
6
+ metadata.gz: 346f987258a48e33648e432bf347f64e1d2e79b5b8971ed4b71bc4196fa0dbc4a334c2e16eb830f1afcbbb3403bfcebece53ddfea8bce832194811092a0a18ec
7
+ data.tar.gz: 49866a0646a393f89067937ae52529cb6abe4cc02058811b3b066379f44c4cf52d12552cdbdbedd831b955f173216052a06d8f19deb0bded9fdd9383d1963914
data/Gemfile CHANGED
@@ -16,10 +16,10 @@ gem 'anemone', '0.7.2'
16
16
  gem 'authy', '3.0.1'
17
17
  gem 'aws-sdk', '3.2.0'
18
18
  # gem 'bettercap', '1.6.2'
19
- gem 'barby', '0.6.8'
20
- gem 'brakeman', '6.0.1'
19
+ gem 'barby', '0.6.9'
20
+ gem 'brakeman', '6.1.0'
21
21
  gem 'bson', '4.15.0'
22
- gem 'bundler', '>=2.4.22'
22
+ gem 'bundler', '>=2.5.0'
23
23
  gem 'bundler-audit', '0.9.1'
24
24
  gem 'bunny', '2.22.0'
25
25
  gem 'colorize', '1.1.0'
@@ -33,13 +33,15 @@ gem 'fftw3', '0.3'
33
33
  gem 'gdb', '1.0.0'
34
34
  gem 'gem-wrappers', '1.4.0'
35
35
  gem 'gist', '6.0.0'
36
+ gem 'gruff', '0.23.0'
36
37
  gem 'htmlentities', '4.3.4'
37
38
  gem 'ipaddress', '0.8.3'
38
39
  gem 'jenkins_api_client2', '1.9.0'
39
40
  gem 'js-beautify', '0.1.8'
40
- gem 'json', '2.6.3'
41
+ gem 'json', '2.7.1'
41
42
  gem 'jsonpath', '1.1.5'
42
43
  gem 'jwt', '2.7.1'
44
+ gem 'libusb', '0.6.4'
43
45
  gem 'luhn', '1.0.2'
44
46
  gem 'mail', '2.8.1'
45
47
  gem 'mongo', '2.19.3'
@@ -55,6 +57,7 @@ gem 'oily_png', '1.2.1'
55
57
  gem 'open3', '0.2.0'
56
58
  gem 'os', '1.1.4'
57
59
  gem 'packetfu', '2.0.0'
60
+ gem 'packetgen', '3.3.0'
58
61
  gem 'pdf-reader', '2.11.0'
59
62
  gem 'pg', '1.5.4'
60
63
  gem 'pry', '0.14.2'
@@ -62,14 +65,14 @@ gem 'pry-doc', '1.4.0'
62
65
  gem 'rake', '13.1.0'
63
66
  gem 'rb-readline', '0.5.5'
64
67
  gem 'rbvmomi', '3.0.0'
65
- gem 'rdoc', '6.6.0'
68
+ gem 'rdoc', '6.6.1'
66
69
  gem 'rest-client', '2.1.0'
67
70
  gem 'rex', '2.0.13'
68
71
  gem 'rmagick', '5.3.0'
69
72
  gem 'rqrcode', '2.2.0'
70
73
  gem 'rspec', '3.12.0'
71
74
  gem 'rtesseract', '3.1.3'
72
- gem 'rubocop', '1.57.2'
75
+ gem 'rubocop', '1.59.0'
73
76
  gem 'rubocop-rake', '0.6.0'
74
77
  gem 'rubocop-rspec', '2.25.0'
75
78
  gem 'ruby-audio', '1.6.1'
@@ -77,7 +80,7 @@ gem 'ruby-nmap', '1.0.2'
77
80
  gem 'ruby-saml', '1.16.0'
78
81
  gem 'rvm', '1.11.3.9'
79
82
  gem 'savon', '2.14.0'
80
- gem 'selenium-devtools', '0.119.0'
83
+ gem 'selenium-devtools', '0.120.0'
81
84
  gem 'serialport', '1.3.2'
82
85
  gem 'sinatra', '3.1.0'
83
86
  gem 'slack-ruby-client', '2.2.0'
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.934]:001 >>> PWN.help
40
+ pwn[v0.4.936]: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.934]:001 >>> PWN.help
55
+ pwn[v0.4.936]: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.2.2@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.4.934]:001 >>> PWN.help
65
+ pwn[v0.4.936]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
 
@@ -61,6 +61,18 @@ OptionParser.new do |options|
61
61
  options.on('-g', '--create-finding-groups', '<Optional - group similar findings into one finding (defaults to false)') do |g|
62
62
  opts[:create_finding_groups] = g
63
63
  end
64
+
65
+ options.on('-c', '--close-old-findings-product-scope', '<Optional - close old findings from the engagement (defaults to false)') do |c|
66
+ opts[:close_old_findings_product_scope] = c
67
+ end
68
+
69
+ options.on('-C', '--close-old-findings', '<Optional - close old findings, regardless of engagement (defaults to false)') do |c|
70
+ opts[:close_old_findings] = c
71
+ end
72
+
73
+ options.on('-j', '--push-to-jira', '<Optional - push findings to JIRA (defaults to false)') do |j|
74
+ opts[:push_to_jira] = j
75
+ end
64
76
  end.parse!
65
77
 
66
78
  if opts.empty?
@@ -84,6 +96,9 @@ minimum_severity = opts[:minimum_severity]
84
96
  scan_date = opts[:scan_date]
85
97
  verified = opts[:verified]
86
98
  create_findings_groups = opts[:create_finding_groups]
99
+ close_old_findings_product_scope = opts[:close_old_findings_product_scope]
100
+ close_old_findings = opts[:close_old_findings]
101
+ push_to_jira = opts[:push_to_jira]
87
102
 
88
103
  begin
89
104
  dd_obj = PWN::Plugins::DefectDojo.login(
@@ -103,7 +118,10 @@ begin
103
118
  minimum_severity: minimum_severity,
104
119
  scan_date: scan_date,
105
120
  verified: verified,
106
- create_findings_groups: create_findings_groups
121
+ create_findings_groups: create_findings_groups,
122
+ close_old_findings_product_scope: close_old_findings_product_scope,
123
+ close_old_findings: close_old_findings,
124
+ push_to_jira: push_to_jira
107
125
  )
108
126
  rescue StandardError => e
109
127
  raise e
@@ -61,6 +61,18 @@ OptionParser.new do |options|
61
61
  options.on('-g', '--create-finding-groups', '<Optional - group similar findings into one finding (defaults to false)') do |g|
62
62
  opts[:create_finding_groups] = g
63
63
  end
64
+
65
+ options.on('-c', '--close-old-findings-product-scope', '<Optional - close old findings from the engagement (defaults to false)') do |c|
66
+ opts[:close_old_findings_product_scope] = c
67
+ end
68
+
69
+ options.on('-C', '--close-old-findings', '<Optional - close old findings, regardless of engagement (defaults to false)') do |c|
70
+ opts[:close_old_findings] = c
71
+ end
72
+
73
+ options.on('-j', '--push-to-jira', '<Optional - push findings to JIRA (defaults to false)') do |j|
74
+ opts[:push_to_jira] = j
75
+ end
64
76
  end.parse!
65
77
 
66
78
  if opts.empty?
@@ -84,6 +96,9 @@ minimum_severity = opts[:minimum_severity]
84
96
  scan_date = opts[:scan_date]
85
97
  verified = opts[:verified]
86
98
  create_finding_groups = opts[:create_finding_groups]
99
+ close_old_findings_product_scope = opts[:close_old_findings_product_scope]
100
+ close_old_findings = opts[:close_old_findings]
101
+ push_to_jira = opts[:push_to_jira]
87
102
 
88
103
  begin
89
104
  dd_obj = PWN::Plugins::DefectDojo.login(
@@ -103,7 +118,10 @@ begin
103
118
  minimum_severity: minimum_severity,
104
119
  scan_date: scan_date,
105
120
  verified: verified,
106
- create_finding_groups: create_finding_groups
121
+ create_finding_groups: create_finding_groups,
122
+ close_old_findings_product_scope: close_old_findings_product_scope,
123
+ close_old_findings: close_old_findings,
124
+ push_to_jira: push_to_jira
107
125
  )
108
126
  rescue StandardError => e
109
127
  raise e
@@ -388,6 +388,9 @@ module PWN
388
388
  # scan_date: 'optional - date in which scan was kicked off (defaults to now)',
389
389
  # verified: 'optional - flag finding as verified by a tester (defaults to false)',
390
390
  # create_finding_groups: 'optional - flag to create finding groups (defaults to false)'
391
+ # close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
392
+ # close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
393
+ # push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
391
394
  # )
392
395
 
393
396
  public_class_method def self.importscan(opts = {})
@@ -465,6 +468,12 @@ module PWN
465
468
 
466
469
  opts[:create_finding_groups] ? (http_body[:create_finding_groups_for_all_findings] = true) : (http_body[:create_finding_groups_for_all_findings] = false)
467
470
 
471
+ opts[:close_old_findings_product_scope] ? (http_body[:close_old_findings_product_scope] = true) : (http_body[:close_old_findings_product_scope] = false)
472
+
473
+ opts[:close_old_findings] ? (http_body[:close_old_findings] = true) : (http_body[:close_old_findings] = false)
474
+
475
+ opts[:push_to_jira] ? (http_body[:push_to_jira] = true) : (http_body[:push_to_jira] = false)
476
+
468
477
  api_path = 'import-scan/'
469
478
  api_path = 'importscan/' if api_version == 'v1'
470
479
 
@@ -489,7 +498,10 @@ module PWN
489
498
  # minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
490
499
  # scan_date: 'optional - date in which scan was kicked off (defaults to now)',
491
500
  # verified: 'optional - flag finding as verified by a tester (defaults to false)',
492
- # create_finding_groups: 'optional - flag to create finding groups (defaults to false)'
501
+ # create_finding_groups: 'optional - flag to create finding groups (defaults to false)',
502
+ # close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
503
+ # close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
504
+ # push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
493
505
  # )
494
506
 
495
507
  public_class_method def self.reimportscan(opts = {})
@@ -570,6 +582,12 @@ module PWN
570
582
 
571
583
  opts[:create_finding_groups] ? (http_body[:create_finding_groups_for_all_findings] = true) : (http_body[:create_finding_groups_for_all_findings] = false)
572
584
 
585
+ opts[:close_old_findings_product_scope] ? (http_body[:close_old_findings_product_scope] = true) : (http_body[:close_old_findings_product_scope] = false)
586
+
587
+ opts[:close_old_findings] ? (http_body[:close_old_findings] = true) : (http_body[:close_old_findings] = false)
588
+
589
+ opts[:push_to_jira] ? (http_body[:push_to_jira] = true) : (http_body[:push_to_jira] = false)
590
+
573
591
  api_path = 'reimport-scan/'
574
592
  api_path = 'reimportscan/' if api_version == 'v1'
575
593
 
@@ -726,7 +744,10 @@ module PWN
726
744
  minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
727
745
  scan_date: 'optional - date in which scan was kicked off (defaults to now)',
728
746
  verified: 'optional - flag finding as verified by a tester (defaults to false)',
729
- create_finding_groups: 'optional - flag to create finding groups (defaults to false)'
747
+ create_finding_groups: 'optional - flag to create finding groups (defaults to false)',
748
+ close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
749
+ close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
750
+ push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
730
751
  )
731
752
 
732
753
  reimportscan_response = #{self}.reimportscan(
@@ -739,7 +760,10 @@ module PWN
739
760
  minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
740
761
  scan_date: 'optional - date in which scan was kicked off (defaults to now)',
741
762
  verified: 'optional - flag finding as verified by a tester (defaults to false)',
742
- create_finding_groups: 'optional - flag to create finding groups (defaults to false)'
763
+ create_finding_groups: 'optional - flag to create finding groups (defaults to false)',
764
+ close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
765
+ close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
766
+ push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
743
767
  )
744
768
 
745
769
  finding_list = #{self}.finding_list(
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.934'
4
+ VERSION = '0.4.936'
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.934
4
+ version: 0.4.936
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-11-29 00:00:00.000000000 Z
11
+ date: 2023-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.6.8
75
+ version: 0.6.9
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.6.8
82
+ version: 0.6.9
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: brakeman
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 6.0.1
89
+ version: 6.1.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 6.0.1
96
+ version: 6.1.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bson
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 2.4.22
117
+ version: 2.5.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 2.4.22
124
+ version: 2.5.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: bundler-audit
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -304,6 +304,20 @@ dependencies:
304
304
  - - '='
305
305
  - !ruby/object:Gem::Version
306
306
  version: 6.0.0
307
+ - !ruby/object:Gem::Dependency
308
+ name: gruff
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - '='
312
+ - !ruby/object:Gem::Version
313
+ version: 0.23.0
314
+ type: :runtime
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - '='
319
+ - !ruby/object:Gem::Version
320
+ version: 0.23.0
307
321
  - !ruby/object:Gem::Dependency
308
322
  name: htmlentities
309
323
  requirement: !ruby/object:Gem::Requirement
@@ -366,14 +380,14 @@ dependencies:
366
380
  requirements:
367
381
  - - '='
368
382
  - !ruby/object:Gem::Version
369
- version: 2.6.3
383
+ version: 2.7.1
370
384
  type: :runtime
371
385
  prerelease: false
372
386
  version_requirements: !ruby/object:Gem::Requirement
373
387
  requirements:
374
388
  - - '='
375
389
  - !ruby/object:Gem::Version
376
- version: 2.6.3
390
+ version: 2.7.1
377
391
  - !ruby/object:Gem::Dependency
378
392
  name: jsonpath
379
393
  requirement: !ruby/object:Gem::Requirement
@@ -402,6 +416,20 @@ dependencies:
402
416
  - - '='
403
417
  - !ruby/object:Gem::Version
404
418
  version: 2.7.1
419
+ - !ruby/object:Gem::Dependency
420
+ name: libusb
421
+ requirement: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - '='
424
+ - !ruby/object:Gem::Version
425
+ version: 0.6.4
426
+ type: :runtime
427
+ prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - '='
431
+ - !ruby/object:Gem::Version
432
+ version: 0.6.4
405
433
  - !ruby/object:Gem::Dependency
406
434
  name: luhn
407
435
  requirement: !ruby/object:Gem::Requirement
@@ -612,6 +640,20 @@ dependencies:
612
640
  - - '='
613
641
  - !ruby/object:Gem::Version
614
642
  version: 2.0.0
643
+ - !ruby/object:Gem::Dependency
644
+ name: packetgen
645
+ requirement: !ruby/object:Gem::Requirement
646
+ requirements:
647
+ - - '='
648
+ - !ruby/object:Gem::Version
649
+ version: 3.3.0
650
+ type: :runtime
651
+ prerelease: false
652
+ version_requirements: !ruby/object:Gem::Requirement
653
+ requirements:
654
+ - - '='
655
+ - !ruby/object:Gem::Version
656
+ version: 3.3.0
615
657
  - !ruby/object:Gem::Dependency
616
658
  name: pdf-reader
617
659
  requirement: !ruby/object:Gem::Requirement
@@ -716,14 +758,14 @@ dependencies:
716
758
  requirements:
717
759
  - - '='
718
760
  - !ruby/object:Gem::Version
719
- version: 6.6.0
761
+ version: 6.6.1
720
762
  type: :development
721
763
  prerelease: false
722
764
  version_requirements: !ruby/object:Gem::Requirement
723
765
  requirements:
724
766
  - - '='
725
767
  - !ruby/object:Gem::Version
726
- version: 6.6.0
768
+ version: 6.6.1
727
769
  - !ruby/object:Gem::Dependency
728
770
  name: rest-client
729
771
  requirement: !ruby/object:Gem::Requirement
@@ -814,14 +856,14 @@ dependencies:
814
856
  requirements:
815
857
  - - '='
816
858
  - !ruby/object:Gem::Version
817
- version: 1.57.2
859
+ version: 1.59.0
818
860
  type: :runtime
819
861
  prerelease: false
820
862
  version_requirements: !ruby/object:Gem::Requirement
821
863
  requirements:
822
864
  - - '='
823
865
  - !ruby/object:Gem::Version
824
- version: 1.57.2
866
+ version: 1.59.0
825
867
  - !ruby/object:Gem::Dependency
826
868
  name: rubocop-rake
827
869
  requirement: !ruby/object:Gem::Requirement
@@ -926,14 +968,14 @@ dependencies:
926
968
  requirements:
927
969
  - - '='
928
970
  - !ruby/object:Gem::Version
929
- version: 0.119.0
971
+ version: 0.120.0
930
972
  type: :runtime
931
973
  prerelease: false
932
974
  version_requirements: !ruby/object:Gem::Requirement
933
975
  requirements:
934
976
  - - '='
935
977
  - !ruby/object:Gem::Version
936
- version: 0.119.0
978
+ version: 0.120.0
937
979
  - !ruby/object:Gem::Dependency
938
980
  name: serialport
939
981
  requirement: !ruby/object:Gem::Requirement
@@ -2184,7 +2226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2184
2226
  - !ruby/object:Gem::Version
2185
2227
  version: '0'
2186
2228
  requirements: []
2187
- rubygems_version: 3.4.22
2229
+ rubygems_version: 3.5.0
2188
2230
  signing_key:
2189
2231
  specification_version: 4
2190
2232
  summary: Automated Security Testing for CI/CD Pipelines & Beyond