pwn 0.4.385 → 0.4.386
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![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.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
|