pwn 0.5.196 → 0.5.198

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: 10e94d1c0d582fd41daa3c12e28c19ab20dafabe6116b447e031be47152f2f45
4
- data.tar.gz: b6915b546e50f4be059170aa253b522666861e2095dc764d4b35de8d3aa52876
3
+ metadata.gz: a30f2d135c01d466356d18ce8476d369880832f2cf15e83ab03935db04d1fad0
4
+ data.tar.gz: 9981bb26e409bb5a66568367fe7642ede2367308f8c1b62f7fa48ad936857546
5
5
  SHA512:
6
- metadata.gz: 3782bcf8a7bda68d533d48588b5cc5b12571f14d01423f0f1db8309c66fec36f3c0b9df8385f5fb7fda78e9eff1251a505c4c195b7165cc27f88df369106d21f
7
- data.tar.gz: 82fc2481d9a45a82b9a2fe6e7c56124c7fe24eef56cfd87fec7c2ab942b284e107aa48c692ccc305d958b4672ef0f67588635ea1ec1c0d30c78cdf7afdbedc2e
6
+ metadata.gz: 3a5b6615feaa3b7a7885a39de4f90950166565eeee727ad70854aa11a918cd68e6dc4dd04c4a762876f61b55b67482e2e635ecad5f7d804e4146263133a8dcbf
7
+ data.tar.gz: 284c0b19781af117e09c9fa6eca4588f70ce5602dd943b69bb1a8cf07798eb79d89ced07c27402c9bc60671dd65989932f35e0f17c0575c0ec3b6c3ec0106c13
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.196]:001 >>> PWN.help
40
+ pwn[v0.5.198]: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.3.3@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.196]:001 >>> PWN.help
55
+ pwn[v0.5.198]: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.3.3@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.196]:001 >>> PWN.help
65
+ pwn[v0.5.198]: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:
@@ -66,7 +66,7 @@ module PWN
66
66
  Watir.default_timeout = 900
67
67
 
68
68
  args = []
69
- args.push('--start-maximized')
69
+ # args.push('--start-maximized')
70
70
  args.push('--disable-notifications')
71
71
 
72
72
  unless browser_type == :rest
@@ -128,6 +128,8 @@ module PWN
128
128
  end
129
129
 
130
130
  # args.push('--devtools') if devtools
131
+ # Private browsing mode
132
+ args.push('--private')
131
133
  options = Selenium::WebDriver::Firefox::Options.new(
132
134
  args: args,
133
135
  accept_insecure_certs: true
@@ -153,6 +155,8 @@ module PWN
153
155
  args.push('--disable-hang-monitor')
154
156
  end
155
157
 
158
+ # Incognito browsing mode
159
+ args.push('--incognito')
156
160
  options = Selenium::WebDriver::Chrome::Options.new(
157
161
  args: args,
158
162
  accept_insecure_certs: true
@@ -214,6 +218,8 @@ module PWN
214
218
  end
215
219
 
216
220
  args.push('--headless')
221
+ # Private browsing mode
222
+ args.push('--private')
217
223
  options = Selenium::WebDriver::Firefox::Options.new(
218
224
  args: args,
219
225
  accept_insecure_certs: true
@@ -230,13 +236,14 @@ module PWN
230
236
  this_profile['download.prompt_for_download'] = false
231
237
  this_profile['download.default_directory'] = '~/Downloads'
232
238
 
233
- args.push('--headless')
234
-
235
239
  if proxy
236
240
  args.push("--host-resolver-rules='MAP * 0.0.0.0 , EXCLUDE #{tor_obj[:ip]}'") if tor_obj
237
241
  args.push("--proxy-server=#{proxy}")
238
242
  end
239
243
 
244
+ args.push('--headless')
245
+ # Incognito browsing mode
246
+ args.push('--incognito')
240
247
  options = Selenium::WebDriver::Chrome::Options.new(
241
248
  args: args,
242
249
  accept_insecure_certs: true
@@ -308,6 +315,7 @@ module PWN
308
315
  jmp_devtools_panel(browser_obj: browser_obj, panel: :elements)
309
316
  end
310
317
 
318
+ browser_obj[:browser].driver.manage.window.maximize
311
319
  new_tab(browser_obj: browser_obj, first_tab: true)
312
320
  end
313
321
 
@@ -676,6 +684,7 @@ module PWN
676
684
  browser.execute_script("document.title = '#{devtools_tab_title}'")
677
685
  end
678
686
 
687
+ # TODO: Find replacement for hotkey - there must be a better way.
679
688
  browser.send_keys(:f12)
680
689
  if first_tab
681
690
  # TODO: replace sleep with something more reliable like an event listener
@@ -704,6 +713,7 @@ module PWN
704
713
  firefox_types = %i[firefox headless_firefox]
705
714
  chrome_types = %i[chrome headless_chrome]
706
715
 
716
+ # TODO: Find replacement for hotkey - there must be a better way.
707
717
  hotkey = []
708
718
  case PWN::Plugins::DetectOS.type
709
719
  when :linux, :openbsd, :windows
@@ -714,11 +724,13 @@ module PWN
714
724
 
715
725
  case panel
716
726
  when :elements, :inspector
727
+ hotkey.push('i') if chrome_types.include?(browser_type)
717
728
  hotkey.push('c') if firefox_types.include?(browser_type)
718
729
  when :console
719
730
  hotkey.push('j') if chrome_types.include?(browser_type)
720
731
  hotkey.push('k') if firefox_types.include?(browser_type)
721
732
  when :debugger, :sources
733
+ hotkey.push('s') if chrome_types.include?(browser_type)
722
734
  if firefox_types.include?(browser_type)
723
735
  # If we're in the console, we need to switch to the inspector first
724
736
  jmp_devtools_panel(browser_obj: browser_obj, panel: :inspector)
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.196'
4
+ VERSION = '0.5.198'
5
5
  end
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.196
4
+ version: 0.5.198
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.