pwn 0.5.304 → 0.5.306

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: b137a3b717375a238a9df5e4284375ff56020b02539c7d9d11f01fcfd4a7fc7f
4
- data.tar.gz: cab62aa76f4d0d79516383f2e2ff1777fa727d6f7f8f88c1a588100441563d10
3
+ metadata.gz: 5eecd40e3449eadca23b11856941949081ad7b9b4d5153a817693979942fdf47
4
+ data.tar.gz: fe743f6692f9230f3d7e5beb335f4c98579256a77c716a4b16c64fe5249e963c
5
5
  SHA512:
6
- metadata.gz: 88a6d3aec66331f3eb96d92b7497036c58c36342e889b3007f3619dc4ea96f7af8043ae4329957d25a4af9ea83526d5f28cf8c3dde0b96b65a00c9dc2eb94f96
7
- data.tar.gz: 9459fb242e006971376260765ddf71ed81f854fe745c0ea37ad8a95d18c1e12e5db364e81270760def032423ecd3125987639ccc560564447f2a9257c568b3f4
6
+ metadata.gz: 6d8aac1d1769e24a9e5e0ac8ac2363910e5975752138d7d4568f8b275e3c8b8c6034f7ffe840d0e2ef3022ac4b449ea1f01e86e9a4427ab5c1ba362d3eb7c298
7
+ data.tar.gz: 6121482f2f382a7347e53259bd1d1426d4262b7ff337b45837239d942236558018da3a27caf79ea74b6dcce3c40284f5b48460cad9dd7e33052b655628116d3a
data/Gemfile CHANGED
@@ -72,14 +72,14 @@ gem 'pry-doc', '1.6.0'
72
72
  gem 'rake', '13.3.0'
73
73
  gem 'rb-readline', '0.5.5'
74
74
  gem 'rbvmomi2', '3.8.0'
75
- gem 'rdoc', '6.14.1'
75
+ gem 'rdoc', '6.14.2'
76
76
  gem 'rest-client', '2.1.0'
77
77
  gem 'rex', '2.0.13'
78
78
  gem 'rmagick', '6.1.1'
79
79
  gem 'rqrcode', '3.1.0'
80
80
  gem 'rspec', '3.13.1'
81
81
  gem 'rtesseract', '3.1.4'
82
- gem 'rubocop', '1.77.0'
82
+ gem 'rubocop', '1.78.0'
83
83
  gem 'rubocop-rake', '0.7.1'
84
84
  gem 'rubocop-rspec', '3.6.0'
85
85
  gem 'ruby-audio', '1.6.1'
@@ -93,7 +93,7 @@ gem 'selenium-devtools', '0.138.0'
93
93
  gem 'slack-ruby-client', '2.6.0'
94
94
  gem 'socksify', '1.7.1'
95
95
  gem 'spreadsheet', '1.3.4'
96
- gem 'sqlite3', '2.7.1'
96
+ gem 'sqlite3', '2.7.2'
97
97
  gem 'thin', '2.0.1'
98
98
  gem 'tty-prompt', '0.23.1'
99
99
  gem 'tty-spinner', '0.9.3'
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.304]:001 >>> PWN.help
40
+ pwn[v0.5.306]: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.4.4@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.304]:001 >>> PWN.help
55
+ pwn[v0.5.306]: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.304]:001 >>> PWN.help
65
+ pwn[v0.5.306]: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:
@@ -169,6 +169,7 @@ module PWN
169
169
  accept_insecure_certs: true
170
170
  )
171
171
 
172
+ # This is required for BiDi support
172
173
  options.web_socket_url = true
173
174
  options.profile = this_profile
174
175
  driver = Selenium::WebDriver.for(:firefox, options: options)
@@ -196,8 +197,8 @@ module PWN
196
197
  accept_insecure_certs: true
197
198
  )
198
199
 
199
- # This is for bidi, once it's ready
200
- # options.web_socket_url = true
200
+ # This is required for BiDi support
201
+ options.web_socket_url = true
201
202
  options.profile = this_profile
202
203
  driver = Selenium::WebDriver.for(:chrome, options: options)
203
204
  browser_obj[:browser] = Watir::Browser.new(driver)
@@ -259,8 +260,8 @@ module PWN
259
260
  accept_insecure_certs: true
260
261
  )
261
262
 
262
- # This is for bidi, once it's ready
263
- # options.web_socket_url = true
263
+ # This is required for BiDi support
264
+ options.web_socket_url = true
264
265
  options.profile = this_profile
265
266
  driver = Selenium::WebDriver.for(:firefox, options: options)
266
267
  browser_obj[:browser] = Watir::Browser.new(driver)
@@ -283,8 +284,8 @@ module PWN
283
284
  accept_insecure_certs: true
284
285
  )
285
286
 
286
- # This is for bidi, once it's ready
287
- # options.web_socket_url = true
287
+ # This is required for BiDi support
288
+ options.web_socket_url = true
288
289
  options.profile = this_profile
289
290
  driver = Selenium::WebDriver.for(:chrome, options: options)
290
291
  browser_obj[:browser] = Watir::Browser.new(driver)
@@ -327,17 +328,15 @@ module PWN
327
328
  if devtools_supported.include?(browser_type)
328
329
  if devtools
329
330
  driver = browser_obj[:browser].driver
330
- browser_obj[:devtools] = driver.devtools
331
-
332
- browser_obj[:devtools].send_cmd('DOM.enable')
333
- browser_obj[:devtools].send_cmd('Log.enable')
334
- browser_obj[:devtools].send_cmd('Network.enable')
335
- browser_obj[:devtools].send_cmd('Page.enable')
336
- browser_obj[:devtools].send_cmd('Runtime.enable')
337
- browser_obj[:devtools].send_cmd('Security.enable')
338
-
339
331
  chrome_browser_types = %i[chrome headless_chrome]
340
332
  if chrome_browser_types.include?(browser_type)
333
+ browser_obj[:devtools] = driver.devtools
334
+ browser_obj[:devtools].send_cmd('DOM.enable')
335
+ browser_obj[:devtools].send_cmd('Log.enable')
336
+ browser_obj[:devtools].send_cmd('Network.enable')
337
+ browser_obj[:devtools].send_cmd('Page.enable')
338
+ browser_obj[:devtools].send_cmd('Runtime.enable')
339
+ browser_obj[:devtools].send_cmd('Security.enable')
341
340
  browser_obj[:devtools].send_cmd('Debugger.enable')
342
341
  browser_obj[:devtools].send_cmd('DOMStorage.enable')
343
342
  browser_obj[:devtools].send_cmd('DOMSnapshot.enable')
@@ -345,6 +344,7 @@ module PWN
345
344
 
346
345
  firefox_browser_types = %i[firefox headless_firefox]
347
346
  if firefox_browser_types.include?(browser_type)
347
+ browser_obj[:devtools] = driver.bidi
348
348
  # browser_obj[:devtools].send_cmd(
349
349
  # 'EventBreakpoints.setInstrumentationBreakpoint',
350
350
  # eventName: 'script'
@@ -352,7 +352,7 @@ module PWN
352
352
  end
353
353
 
354
354
  # Future BiDi API that's more universally supported across browsers
355
- # browser_obj[:bidi] = driver.bidi
355
+ browser_obj[:bidi] = driver.bidi
356
356
 
357
357
  jmp_devtools_panel(browser_obj: browser_obj, panel: :elements)
358
358
  end
@@ -981,7 +981,7 @@ module PWN
981
981
  * All DevTools Commands can be found here:
982
982
  * https://chromedevtools.github.io/devtools-protocol/
983
983
  * Examples
984
- devtools = browser.driver.devtools
984
+ devtools = browser_obj1[:devtools]
985
985
  puts devtools.public_methods
986
986
  puts devtools.instance_variables
987
987
  puts devtools.instance_variable_get('@session_id')
@@ -229,9 +229,10 @@ module PWN
229
229
  var canned_email = email.replace("<", "").replace(">", "") + '?subject=Potential%20Bug%20within%20Source%20File:%20'+ encodeURIComponent(row.filename) +'&body=Greetings,%0A%0AThe%20following%20information%20likely%20represents%20a%20bug%20discovered%20through%20automated%20security%20testing%20initiatives:%0A%0A' + encodeURIComponent(canned_email_results) + 'Is%20this%20something%20that%20can%20be%20addressed%20immediately%20or%20would%20filing%20a%20bug%20be%20more%20appropriate?%20%20Please%20let%20us%20know%20at%20your%20earliest%20convenience%20to%20ensure%20we%20can%20meet%20security%20expectations%20for%20this%20release.%20%20Thanks%20and%20have%20a%20great%20day!';
230
230
 
231
231
  domain = line_entry_uri.replace('http://','').replace('https://','').split(/[/?#]/)[0];
232
- if (domain.includes('stash')) {
232
+ if (domain.includes('stash') || domain.includes('bitbucket') || domain.includes('gerrit')) {
233
233
  to_line_number = line_entry_uri + '#' + data[i]['line_no'];
234
234
  } else {
235
+ // e.g. GitHub, GitLab, etc.
235
236
  to_line_number = line_entry_uri + '#L' + data[i]['line_no'];
236
237
  }
237
238
 
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.5.304'
4
+ VERSION = '0.5.306'
5
5
  end
@@ -665,14 +665,16 @@
665
665
  {"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_jobs Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_jobs`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_jobs(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path to list jobs'\n\n)\n"}]}
666
666
  {"messages":[{"role":"user","content":"PWN::Plugins::Jenkins.list_nested_views Usage"},{"role":"assistant","content":"`PWN::Plugins::Jenkins.list_nested_views`: Supported Method Parameters\n\nPWN::Plugins::Jenkins.list_nested_views(\n\njenkins_obj: 'required jenkins_obj returned from #connect method',\nview_path: 'required view path list sub-views'\n\n)\n"}]}
667
667
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
668
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.create_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.create_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.create_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nproject_key: 'required - project key (e.g. PWN)',\nsummary: 'required - summary of the issue (e.g. Epic for PWN-1337)',\nissue_type: 'required - issue type (e.g. :epic, :story, :bug)',\ndescription: 'optional - description of the issue',\nepic_name: 'optional - name of the epic',\nadditional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'\nattachment: 'optional - attachment path to upload to the issue (e.g. \"/path/to/file1.txt\")'\n\n)\n"}]}
668
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.create_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.create_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.create_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nproject_key: 'required - project key (e.g. PWN)',\nsummary: 'required - summary of the issue (e.g. Epic for PWN-1337)',\nissue_type: 'required - issue type (e.g. :epic, :story, :bug)',\ndescription: 'optional - description of the issue',\nepic_name: 'optional - name of the epic',\nadditional_fields: 'optional - additional fields to set in the issue (e.g. labels, components, custom fields, etc.)'\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/tmp/file1.txt\", \"/tmp/file2.txt\"])',\ncomment: 'optional - comment to add to the issue (e.g. \"This is a comment\")'\n\n)\n"}]}
669
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_attachment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_attachment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_attachment(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nid: 'required - attachment ID to delete (e.g. 10000) found in #get_issue method'\n\n)\n"}]}
669
670
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.delete_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.delete_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.delete_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)'\n\n)\n"}]}
670
671
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_all_fields Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_all_fields`: Supported Method Parameters\n\nall_fields = PWN::Plugins::JiraServer.get_all_fields(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token'\n\n)\n"}]}
671
672
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.get_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nissue: 'required - issue to lookup (e.g. Bug, Issue, Story, or Epic ID)',\nparams: 'optional - additional parameters to pass in the URI (e.g. fields, expand, etc.)'\n\n)\n"}]}
672
673
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.get_user Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.get_user`: Supported Method Parameters\n\nuser = PWN::Plugins::JiraServer.get_user(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nusername: 'required - username to lookup (e.g. jane.doe)',\nparams: 'optional - additional parameters to pass in the URI (e.g. expand, etc.)'\n\n)\n"}]}
673
674
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.help Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.help`: "}]}
675
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.issue_comment Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.issue_comment`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.issue_comment(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nissue: 'required - issue to delete (e.g. Bug, Issue, Story, or Epic ID)',\ncomment_action: 'required - action to perform on the issue comment (e.g. :delete, :add, :update - Defaults to :add)',\ncomment_id: 'optional - comment ID to delete or update (e.g. 10000)',\nauthor: 'optional - author of the comment (e.g. \"jane.doe\")',\ncomment: 'optional - comment to add or update in the issue (e.g. \"This is a comment\")'\n\n)\n"}]}
674
676
  {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.rest_call Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.rest_call`: Supported Method Parameters\n\nrest_call(\n\ntoken: 'required - personal access token',\nhttp_method: 'optional HTTP method (defaults to GET)',\nrest_call: 'required rest call to make per the schema',\nparams: 'optional params passed in the URI or HTTP Headers',\nhttp_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'\n\n)\n"}]}
675
- {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nfields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)',\nattachment: 'optional - attachment path to upload to the issue (e.g. \"/path/to/file1.txt\")'\n\n)\n"}]}
677
+ {"messages":[{"role":"user","content":"PWN::Plugins::JiraServer.update_issue Usage"},{"role":"assistant","content":"`PWN::Plugins::JiraServer.update_issue`: Supported Method Parameters\n\nissue_resp = PWN::Plugins::JiraServer.update_issue(\n\nbase_api_uri: 'required - base URI for Jira (e.g. https:/jira.corp.com/rest/api/latest)',\ntoken: 'required - personal access token',\nfields: 'required - fields to update in the issue (e.g. summary, description, labels, components, custom fields, etc.)',\nattachments: 'optional - array of attachment paths to upload to the issue (e.g. [\"/tmp/file1.txt\", \"/tmp/file2.txt\"])',\n\n)\n"}]}
676
678
  {"messages":[{"role":"user","content":"PWN::Plugins::Log.append Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.append`: Supported Method Parameters\n\nPWN::Log.create( )\n"}]}
677
679
  {"messages":[{"role":"user","content":"PWN::Plugins::Log.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
678
680
  {"messages":[{"role":"user","content":"PWN::Plugins::Log.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Log.help`: "}]}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.304
4
+ version: 0.5.306
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -827,14 +827,14 @@ dependencies:
827
827
  requirements:
828
828
  - - '='
829
829
  - !ruby/object:Gem::Version
830
- version: 6.14.1
830
+ version: 6.14.2
831
831
  type: :development
832
832
  prerelease: false
833
833
  version_requirements: !ruby/object:Gem::Requirement
834
834
  requirements:
835
835
  - - '='
836
836
  - !ruby/object:Gem::Version
837
- version: 6.14.1
837
+ version: 6.14.2
838
838
  - !ruby/object:Gem::Dependency
839
839
  name: rest-client
840
840
  requirement: !ruby/object:Gem::Requirement
@@ -925,14 +925,14 @@ dependencies:
925
925
  requirements:
926
926
  - - '='
927
927
  - !ruby/object:Gem::Version
928
- version: 1.77.0
928
+ version: 1.78.0
929
929
  type: :runtime
930
930
  prerelease: false
931
931
  version_requirements: !ruby/object:Gem::Requirement
932
932
  requirements:
933
933
  - - '='
934
934
  - !ruby/object:Gem::Version
935
- version: 1.77.0
935
+ version: 1.78.0
936
936
  - !ruby/object:Gem::Dependency
937
937
  name: rubocop-rake
938
938
  requirement: !ruby/object:Gem::Requirement
@@ -1093,14 +1093,14 @@ dependencies:
1093
1093
  requirements:
1094
1094
  - - '='
1095
1095
  - !ruby/object:Gem::Version
1096
- version: 2.7.1
1096
+ version: 2.7.2
1097
1097
  type: :runtime
1098
1098
  prerelease: false
1099
1099
  version_requirements: !ruby/object:Gem::Requirement
1100
1100
  requirements:
1101
1101
  - - '='
1102
1102
  - !ruby/object:Gem::Version
1103
- version: 2.7.1
1103
+ version: 2.7.2
1104
1104
  - !ruby/object:Gem::Dependency
1105
1105
  name: thin
1106
1106
  requirement: !ruby/object:Gem::Requirement