pwn 0.4.385 → 0.4.386
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 +4 -4
- data/Gemfile +3 -3
- data/README.md +2 -2
- data/lib/pwn/plugins/transparent_browser.rb +2 -2
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn/www/coinbase_pro.rb +135 -0
- data/lib/pwn/www.rb +1 -0
- data/spec/lib/pwn/www/coinbase_pro_spec.rb +15 -0
- metadata +11 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9b485665b5ab58c1b6a395b6a3612ad1d9d0674d4f20a1243c7b76eb1995595
|
4
|
+
data.tar.gz: 5ff53b97446a9c0face611d86bf3e328cb424a832b9136e6d2ecb64c821a3bac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c8aed63d10f28f5f80326e94df77d21192db771bc8f326006c496a2968d079be1d0a445a1a8dd7f9a38fe35fe70746edbb8538e0acd74d71124aa775fe1cac0
|
7
|
+
data.tar.gz: 8d3fa53f9340dedbfc147e2a0d61520180f382b69ab41b42363b51fea34500e67f4afdf8ce6ff63162b8d2a5e1cc898a96ef845ab89fba243d5462e0a9a1c1d2
|
data/Gemfile
CHANGED
@@ -34,7 +34,7 @@ gem 'jsonpath', '1.1.0'
|
|
34
34
|
gem 'jwt', '2.3.0'
|
35
35
|
gem 'luhn', '1.0.2'
|
36
36
|
gem 'mail', '2.7.1'
|
37
|
-
gem 'mongo', '2.17.
|
37
|
+
gem 'mongo', '2.17.1'
|
38
38
|
gem 'msfrpc-client', '1.1.2'
|
39
39
|
gem 'net-ldap', '0.17.0'
|
40
40
|
gem 'net-openvpn', '0.8.7'
|
@@ -45,7 +45,7 @@ gem 'oily_png', '1.2.1'
|
|
45
45
|
gem 'os', '1.1.4'
|
46
46
|
gem 'packetfu', '1.1.13'
|
47
47
|
gem 'pdf-reader', '2.9.2'
|
48
|
-
gem 'pg', '1.3.
|
48
|
+
gem 'pg', '1.3.5'
|
49
49
|
gem 'pry', '0.14.1'
|
50
50
|
gem 'pry-doc', '1.3.0'
|
51
51
|
gem 'rake', '13.0.6'
|
@@ -65,7 +65,7 @@ gem 'ruby-nmap', '0.10.0'
|
|
65
65
|
gem 'ruby-saml', '1.14.0'
|
66
66
|
gem 'rvm', '1.11.3.9'
|
67
67
|
gem 'savon', '2.12.1'
|
68
|
-
gem 'selenium-devtools', '0.
|
68
|
+
gem 'selenium-devtools', '0.100.0'
|
69
69
|
gem 'serialport', '1.3.2'
|
70
70
|
gem 'sinatra', '2.2.0'
|
71
71
|
gem 'slack-ruby-client', '1.0.0'
|
data/README.md
CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.1@pwn
|
|
37
37
|
$ rvm list gemsets
|
38
38
|
$ gem install --verbose pwn
|
39
39
|
$ pwn
|
40
|
-
pwn[v0.4.
|
40
|
+
pwn[v0.4.386]:001 >>> PWN.help
|
41
41
|
```
|
42
42
|
|
43
43
|
[](https://youtu.be/G7iLUY4FzsI)
|
@@ -52,7 +52,7 @@ $ rvm use ruby-3.1.1@pwn
|
|
52
52
|
$ gem uninstall --all --executables pwn
|
53
53
|
$ gem install --verbose pwn
|
54
54
|
$ pwn
|
55
|
-
pwn[v0.4.
|
55
|
+
pwn[v0.4.386]:001 >>> PWN.help
|
56
56
|
```
|
57
57
|
|
58
58
|
|
@@ -346,13 +346,14 @@ module PWN
|
|
346
346
|
devtools.send_cmd('Console.enable')
|
347
347
|
devtools.send_cmd('DOM.enable')
|
348
348
|
devtools.send_cmd('Page.enable')
|
349
|
-
devtools.send_cmd('Network.enable')
|
350
349
|
devtools.send_cmd('Log.enable')
|
351
350
|
devtools.send_cmd('Debugger.enable')
|
352
351
|
devtools.send_cmd('Debugger.pause')
|
353
352
|
step = 1
|
354
353
|
next_step = 60
|
355
354
|
loop do
|
355
|
+
devtools.send_cmd('Console.clearMessages')
|
356
|
+
devtools.send_cmd('Log.clear')
|
356
357
|
console_events = []
|
357
358
|
b.driver.on_log_event(:console) { |event| console_events.push(event) }
|
358
359
|
|
@@ -388,7 +389,6 @@ module PWN
|
|
388
389
|
|
389
390
|
devtools.send_cmd('Debugger.disable')
|
390
391
|
devtools.send_cmd('Log.disable')
|
391
|
-
devtools.send_cmd('Network.disable')
|
392
392
|
devtools.send_cmd('Page.disable')
|
393
393
|
devtools.send_cmd('DOM.disable')
|
394
394
|
devtools.send_cmd('Console.disable')
|
data/lib/pwn/version.rb
CHANGED
@@ -0,0 +1,135 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
module PWN
|
6
|
+
module WWW
|
7
|
+
# This plugin supports tradingview.com actions.
|
8
|
+
module CoinbasePro
|
9
|
+
# Supported Method Parameters::
|
10
|
+
# browser_obj = PWN::WWW::CoinbasePro.open(
|
11
|
+
# browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
12
|
+
# proxy: 'optional - scheme://proxy_host:port',
|
13
|
+
# with_tor: 'optional - boolean (defaults to false)'
|
14
|
+
# )
|
15
|
+
|
16
|
+
public_class_method def self.open(opts = {})
|
17
|
+
browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
|
18
|
+
|
19
|
+
browser_obj.goto('https://pro.coinbase.com')
|
20
|
+
|
21
|
+
browser_obj
|
22
|
+
rescue StandardError => e
|
23
|
+
raise e
|
24
|
+
end
|
25
|
+
|
26
|
+
# Supported Method Parameters::
|
27
|
+
# browser_obj = PWN::WWW::CoinbasePro.login(
|
28
|
+
# browser_obj: 'required - browser_obj returned from #open method',
|
29
|
+
# username: 'required - username',
|
30
|
+
# password: 'optional - passwd (will prompt if blank)'
|
31
|
+
# )
|
32
|
+
|
33
|
+
public_class_method def self.login(opts = {})
|
34
|
+
browser_obj = opts[:browser_obj]
|
35
|
+
username = opts[:username].to_s.scrub.strip.chomp
|
36
|
+
password = opts[:password]
|
37
|
+
|
38
|
+
if password.nil?
|
39
|
+
password = PWN::Plugins::AuthenticationHelper.mask_password
|
40
|
+
else
|
41
|
+
password = opts[:password].to_s.scrub.strip.chomp
|
42
|
+
end
|
43
|
+
mfa = opts[:mfa]
|
44
|
+
|
45
|
+
browser_obj.goto('https://pro.coinbase.com')
|
46
|
+
|
47
|
+
# In case window is really small,
|
48
|
+
# click on hamburger menu
|
49
|
+
browser_obj.div(index: 9).click if browser_obj.div(index: 9).visible?
|
50
|
+
browser_obj.span(text: 'Sign in').wait_until(&:present?).click
|
51
|
+
browser_obj.text_field(name: 'email').wait_until(&:present?).set(username)
|
52
|
+
browser_obj.text_field(name: 'password').wait_until(&:present?).set(password)
|
53
|
+
browser_obj.button(text: 'Sign In').click!
|
54
|
+
|
55
|
+
if mfa
|
56
|
+
until browser_obj.url.include?('https://pro.coinbase.com')
|
57
|
+
browser_obj.text_field(name: 'token').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
|
58
|
+
browser_obj.button(text: 'Verify').click!
|
59
|
+
sleep 3
|
60
|
+
end
|
61
|
+
print "\n"
|
62
|
+
end
|
63
|
+
|
64
|
+
browser_obj
|
65
|
+
rescue StandardError => e
|
66
|
+
raise e
|
67
|
+
end
|
68
|
+
|
69
|
+
# Supported Method Parameters::
|
70
|
+
# browser_obj = PWN::WWW::CoinbasePro.logout(
|
71
|
+
# browser_obj: 'required - browser_obj returned from #open method'
|
72
|
+
# )
|
73
|
+
|
74
|
+
public_class_method def self.logout(opts = {})
|
75
|
+
browser_obj = opts[:browser_obj]
|
76
|
+
browser_obj.goto('https://pro.coinbase.com/signout')
|
77
|
+
|
78
|
+
browser_obj
|
79
|
+
rescue StandardError => e
|
80
|
+
raise e
|
81
|
+
end
|
82
|
+
|
83
|
+
# Supported Method Parameters::
|
84
|
+
# browser_obj = PWN::WWW::CoinbasePro.close(
|
85
|
+
# browser_obj: 'required - browser_obj returned from #open method'
|
86
|
+
# )
|
87
|
+
|
88
|
+
public_class_method def self.close(opts = {})
|
89
|
+
browser_obj = opts[:browser_obj]
|
90
|
+
PWN::Plugins::TransparentBrowser.close(
|
91
|
+
browser_obj: browser_obj
|
92
|
+
)
|
93
|
+
rescue StandardError => e
|
94
|
+
raise e
|
95
|
+
end
|
96
|
+
|
97
|
+
# Author(s):: 0day Inc. <request.pentest@0dayinc.com>
|
98
|
+
|
99
|
+
public_class_method def self.authors
|
100
|
+
"AUTHOR(S):
|
101
|
+
0day Inc. <request.pentest@0dayinc.com>
|
102
|
+
"
|
103
|
+
end
|
104
|
+
|
105
|
+
# Display Usage for this Module
|
106
|
+
|
107
|
+
public_class_method def self.help
|
108
|
+
puts "USAGE:
|
109
|
+
browser_obj = #{self}.open(
|
110
|
+
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
111
|
+
proxy: 'optional - scheme://proxy_host:port',
|
112
|
+
with_tor: 'optional - boolean (defaults to false)'
|
113
|
+
)
|
114
|
+
puts browser_obj.public_methods
|
115
|
+
|
116
|
+
browser_obj = #{self}.login(
|
117
|
+
browser_obj: 'required - browser_obj returned from #open method',
|
118
|
+
username: 'required - username',
|
119
|
+
password: 'optional - passwd (will prompt if blank),
|
120
|
+
)
|
121
|
+
|
122
|
+
browser_obj = #{self}.logout(
|
123
|
+
browser_obj: 'required - browser_obj returned from #open method'
|
124
|
+
)
|
125
|
+
|
126
|
+
#{self}.close(
|
127
|
+
browser_obj: 'required - browser_obj returned from #open method'
|
128
|
+
)
|
129
|
+
|
130
|
+
#{self}.authors
|
131
|
+
"
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
data/lib/pwn/www.rb
CHANGED
@@ -9,6 +9,7 @@ module PWN
|
|
9
9
|
autoload :Bing, 'pwn/www/bing'
|
10
10
|
autoload :BugCrowd, 'pwn/www/bug_crowd'
|
11
11
|
autoload :Checkip, 'pwn/www/checkip.rb'
|
12
|
+
autoload :CoinbasePro, 'pwn/www/coinbase_pro.rb'
|
12
13
|
autoload :Duckduckgo, 'pwn/www/duckduckgo'
|
13
14
|
autoload :Facebook, 'pwn/www/facebook'
|
14
15
|
autoload :Google, 'pwn/www/google'
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe PWN::WWW::CoinbasePro do
|
6
|
+
it 'should display information for authors' do
|
7
|
+
authors_response = PWN::WWW::CoinbasePro
|
8
|
+
expect(authors_response).to respond_to :authors
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should display information for existing help method' do
|
12
|
+
help_response = PWN::WWW::CoinbasePro
|
13
|
+
expect(help_response).to respond_to :help
|
14
|
+
end
|
15
|
+
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.
|
4
|
+
version: 0.4.386
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -310,14 +310,14 @@ dependencies:
|
|
310
310
|
requirements:
|
311
311
|
- - '='
|
312
312
|
- !ruby/object:Gem::Version
|
313
|
-
version: 2.17.
|
313
|
+
version: 2.17.1
|
314
314
|
type: :runtime
|
315
315
|
prerelease: false
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
318
|
- - '='
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version: 2.17.
|
320
|
+
version: 2.17.1
|
321
321
|
- !ruby/object:Gem::Dependency
|
322
322
|
name: msfrpc-client
|
323
323
|
requirement: !ruby/object:Gem::Requirement
|
@@ -464,14 +464,14 @@ dependencies:
|
|
464
464
|
requirements:
|
465
465
|
- - '='
|
466
466
|
- !ruby/object:Gem::Version
|
467
|
-
version: 1.3.
|
467
|
+
version: 1.3.5
|
468
468
|
type: :runtime
|
469
469
|
prerelease: false
|
470
470
|
version_requirements: !ruby/object:Gem::Requirement
|
471
471
|
requirements:
|
472
472
|
- - '='
|
473
473
|
- !ruby/object:Gem::Version
|
474
|
-
version: 1.3.
|
474
|
+
version: 1.3.5
|
475
475
|
- !ruby/object:Gem::Dependency
|
476
476
|
name: pry
|
477
477
|
requirement: !ruby/object:Gem::Requirement
|
@@ -744,14 +744,14 @@ dependencies:
|
|
744
744
|
requirements:
|
745
745
|
- - '='
|
746
746
|
- !ruby/object:Gem::Version
|
747
|
-
version: 0.
|
747
|
+
version: 0.100.0
|
748
748
|
type: :runtime
|
749
749
|
prerelease: false
|
750
750
|
version_requirements: !ruby/object:Gem::Requirement
|
751
751
|
requirements:
|
752
752
|
- - '='
|
753
753
|
- !ruby/object:Gem::Version
|
754
|
-
version: 0.
|
754
|
+
version: 0.100.0
|
755
755
|
- !ruby/object:Gem::Dependency
|
756
756
|
name: serialport
|
757
757
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1539,6 +1539,7 @@ files:
|
|
1539
1539
|
- lib/pwn/www/bing.rb
|
1540
1540
|
- lib/pwn/www/bug_crowd.rb
|
1541
1541
|
- lib/pwn/www/checkip.rb
|
1542
|
+
- lib/pwn/www/coinbase_pro.rb
|
1542
1543
|
- lib/pwn/www/duckduckgo.rb
|
1543
1544
|
- lib/pwn/www/facebook.rb
|
1544
1545
|
- lib/pwn/www/google.rb
|
@@ -1823,6 +1824,7 @@ files:
|
|
1823
1824
|
- spec/lib/pwn/www/bing_spec.rb
|
1824
1825
|
- spec/lib/pwn/www/bug_crowd.rb
|
1825
1826
|
- spec/lib/pwn/www/checkip_spec.rb
|
1827
|
+
- spec/lib/pwn/www/coinbase_pro_spec.rb
|
1826
1828
|
- spec/lib/pwn/www/duckduckgo_spec.rb
|
1827
1829
|
- spec/lib/pwn/www/facebook_spec.rb
|
1828
1830
|
- spec/lib/pwn/www/google_spec.rb
|
@@ -2083,6 +2085,7 @@ test_files:
|
|
2083
2085
|
- spec/lib/pwn/www/bing_spec.rb
|
2084
2086
|
- spec/lib/pwn/www/bug_crowd.rb
|
2085
2087
|
- spec/lib/pwn/www/checkip_spec.rb
|
2088
|
+
- spec/lib/pwn/www/coinbase_pro_spec.rb
|
2086
2089
|
- spec/lib/pwn/www/duckduckgo_spec.rb
|
2087
2090
|
- spec/lib/pwn/www/facebook_spec.rb
|
2088
2091
|
- spec/lib/pwn/www/google_spec.rb
|