pwn 0.4.935 → 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: 8851bc31c15f4b6cb9fe3f3406a98cabfbb8e10f86833a5cede850de562baf96
4
- data.tar.gz: ec4b72084fccbd0b3ec6c7f8e50fada9c3925559fcf8db37b03656bd485b803f
3
+ metadata.gz: 224c9ba60d1bae836ead32f4e27e6bb8f6a5c3381abb0750a9046e2e8fa12205
4
+ data.tar.gz: c638b4fbe4b5bffa404eb0fdb1d7fd54c06a4ac5470a824529402731407837cb
5
5
  SHA512:
6
- metadata.gz: b33fea889a8a2b88c5f0ab012b398c221e55f0cd5afb3c3f86591ef7f5b385bb1b71296a5833d9ce9b5865f56a18b42fc982a0d831115df06608384cb9b47aa5
7
- data.tar.gz: f6acb50d01107e16b36be36421411f0561e1984709c2a1b4780c1a00fd6f97152278d5d31eebd93a92372f86c6974396ed76afdf0ed1e6f4ab15f94dc57bcb89
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'
@@ -38,9 +38,10 @@ gem 'htmlentities', '4.3.4'
38
38
  gem 'ipaddress', '0.8.3'
39
39
  gem 'jenkins_api_client2', '1.9.0'
40
40
  gem 'js-beautify', '0.1.8'
41
- gem 'json', '2.7.0'
41
+ gem 'json', '2.7.1'
42
42
  gem 'jsonpath', '1.1.5'
43
43
  gem 'jwt', '2.7.1'
44
+ gem 'libusb', '0.6.4'
44
45
  gem 'luhn', '1.0.2'
45
46
  gem 'mail', '2.8.1'
46
47
  gem 'mongo', '2.19.3'
@@ -56,6 +57,7 @@ gem 'oily_png', '1.2.1'
56
57
  gem 'open3', '0.2.0'
57
58
  gem 'os', '1.1.4'
58
59
  gem 'packetfu', '2.0.0'
60
+ gem 'packetgen', '3.3.0'
59
61
  gem 'pdf-reader', '2.11.0'
60
62
  gem 'pg', '1.5.4'
61
63
  gem 'pry', '0.14.2'
@@ -63,14 +65,14 @@ gem 'pry-doc', '1.4.0'
63
65
  gem 'rake', '13.1.0'
64
66
  gem 'rb-readline', '0.5.5'
65
67
  gem 'rbvmomi', '3.0.0'
66
- gem 'rdoc', '6.6.0'
68
+ gem 'rdoc', '6.6.1'
67
69
  gem 'rest-client', '2.1.0'
68
70
  gem 'rex', '2.0.13'
69
71
  gem 'rmagick', '5.3.0'
70
72
  gem 'rqrcode', '2.2.0'
71
73
  gem 'rspec', '3.12.0'
72
74
  gem 'rtesseract', '3.1.3'
73
- gem 'rubocop', '1.58.0'
75
+ gem 'rubocop', '1.59.0'
74
76
  gem 'rubocop-rake', '0.6.0'
75
77
  gem 'rubocop-rspec', '2.25.0'
76
78
  gem 'ruby-audio', '1.6.1'
@@ -78,7 +80,7 @@ gem 'ruby-nmap', '1.0.2'
78
80
  gem 'ruby-saml', '1.16.0'
79
81
  gem 'rvm', '1.11.3.9'
80
82
  gem 'savon', '2.14.0'
81
- gem 'selenium-devtools', '0.119.0'
83
+ gem 'selenium-devtools', '0.120.0'
82
84
  gem 'serialport', '1.3.2'
83
85
  gem 'sinatra', '3.1.0'
84
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.935]: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.935]: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.935]: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.935'
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.935
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-12-01 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
@@ -380,14 +380,14 @@ dependencies:
380
380
  requirements:
381
381
  - - '='
382
382
  - !ruby/object:Gem::Version
383
- version: 2.7.0
383
+ version: 2.7.1
384
384
  type: :runtime
385
385
  prerelease: false
386
386
  version_requirements: !ruby/object:Gem::Requirement
387
387
  requirements:
388
388
  - - '='
389
389
  - !ruby/object:Gem::Version
390
- version: 2.7.0
390
+ version: 2.7.1
391
391
  - !ruby/object:Gem::Dependency
392
392
  name: jsonpath
393
393
  requirement: !ruby/object:Gem::Requirement
@@ -416,6 +416,20 @@ dependencies:
416
416
  - - '='
417
417
  - !ruby/object:Gem::Version
418
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
419
433
  - !ruby/object:Gem::Dependency
420
434
  name: luhn
421
435
  requirement: !ruby/object:Gem::Requirement
@@ -626,6 +640,20 @@ dependencies:
626
640
  - - '='
627
641
  - !ruby/object:Gem::Version
628
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
629
657
  - !ruby/object:Gem::Dependency
630
658
  name: pdf-reader
631
659
  requirement: !ruby/object:Gem::Requirement
@@ -730,14 +758,14 @@ dependencies:
730
758
  requirements:
731
759
  - - '='
732
760
  - !ruby/object:Gem::Version
733
- version: 6.6.0
761
+ version: 6.6.1
734
762
  type: :development
735
763
  prerelease: false
736
764
  version_requirements: !ruby/object:Gem::Requirement
737
765
  requirements:
738
766
  - - '='
739
767
  - !ruby/object:Gem::Version
740
- version: 6.6.0
768
+ version: 6.6.1
741
769
  - !ruby/object:Gem::Dependency
742
770
  name: rest-client
743
771
  requirement: !ruby/object:Gem::Requirement
@@ -828,14 +856,14 @@ dependencies:
828
856
  requirements:
829
857
  - - '='
830
858
  - !ruby/object:Gem::Version
831
- version: 1.58.0
859
+ version: 1.59.0
832
860
  type: :runtime
833
861
  prerelease: false
834
862
  version_requirements: !ruby/object:Gem::Requirement
835
863
  requirements:
836
864
  - - '='
837
865
  - !ruby/object:Gem::Version
838
- version: 1.58.0
866
+ version: 1.59.0
839
867
  - !ruby/object:Gem::Dependency
840
868
  name: rubocop-rake
841
869
  requirement: !ruby/object:Gem::Requirement
@@ -940,14 +968,14 @@ dependencies:
940
968
  requirements:
941
969
  - - '='
942
970
  - !ruby/object:Gem::Version
943
- version: 0.119.0
971
+ version: 0.120.0
944
972
  type: :runtime
945
973
  prerelease: false
946
974
  version_requirements: !ruby/object:Gem::Requirement
947
975
  requirements:
948
976
  - - '='
949
977
  - !ruby/object:Gem::Version
950
- version: 0.119.0
978
+ version: 0.120.0
951
979
  - !ruby/object:Gem::Dependency
952
980
  name: serialport
953
981
  requirement: !ruby/object:Gem::Requirement
@@ -2198,7 +2226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2198
2226
  - !ruby/object:Gem::Version
2199
2227
  version: '0'
2200
2228
  requirements: []
2201
- rubygems_version: 3.4.22
2229
+ rubygems_version: 3.5.0
2202
2230
  signing_key:
2203
2231
  specification_version: 4
2204
2232
  summary: Automated Security Testing for CI/CD Pipelines & Beyond