pwn 0.4.934 → 0.4.936

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: 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