pwn 0.4.366 → 0.4.369

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: 734309b7c727eeb76db4096cfa5a702308ff06a215f6dc5dd82b5f8b0924fc08
4
- data.tar.gz: 929f855bf28a79e12f856cd9ee71757f2af5a7b098d8e50d190fc3b54b802be8
3
+ metadata.gz: a6fcadff3240d2d62ac4409734f09da18eb2ce644cf0fb760a8f1bc93e9f1aa1
4
+ data.tar.gz: c722c423ecf177f63b1fd19ae1b2d24de51286fd98d9826cb6416bcb81e85ccf
5
5
  SHA512:
6
- metadata.gz: 0b13c8b2759ece5aaf7d32ef1b1b120e794b8fb5bcc71d6bcf9476e0e60809b7ce514137ff2b839bc2c0c45da6f0041a36452f1cf2b7c5e8cc69ee5c6c85e078
7
- data.tar.gz: 781d60b9b587d2f3f88e587da65252082d0aef7a4bc58751a80f0c63d3142420fc811e2e69f657333a4eb9957bd82d12249726f6bf6e2f344760f7d01ad7725f
6
+ metadata.gz: f45bf417ce4df44287a95c26d22fa20558a7482ac67a72e604079244faa5716e65dbd0e57b06eca4bf30ae6afb3677f3666fa746b8c73b3e37a4daabc84bad9d
7
+ data.tar.gz: dffaca5a25d87af7027f96dace543591a5d77998371b4889ddf1e2170e2c901c5bcf2331e783a92482e96db6a6a05af2a26008de42c8e2d49c7e3551f8cbb9f0
data/README.md CHANGED
@@ -10,15 +10,12 @@
10
10
  - [Call to Arms](#call-to-arms)
11
11
  - [Module Documentation](#module-documentation)
12
12
  - [Keep Us Caffeinated](#keep-us-caffeinated)
13
- - [0x4D 0x65 0x72 0x63 0x68](#0x4D-0x65-0x72-0x63-0x68)
13
+ - [0x004D65726368](#0x004D65726368)
14
14
 
15
15
 
16
16
  ### **Intro** ###
17
17
  #### **What is PWN** ####
18
- PWN (Pronounced /pōn/ or pone), [formerly known as [CSI](https://github.com/0dayinc/csi)] is an open security automation framework that aims to stand on the shoulders of security giants, promoting trust and innovation. Build your own custom automation drivers freely and easily using pre-built modules. If a picture is worth a thousand words, imagine how many come to mind watching the demo below:
19
-
20
- #### **Creating an OWASP ZAP Scanning Driver Leveraging the pwn Prototyper** ####
21
- [![Continuous Security Integration: Basics of Building Your Own Security Automation ](https://i.ytimg.com/vi/MLSqd5F-Bjw/0.jpg)](https://youtu.be/MLSqd5F-Bjw)
18
+ PWN (Pronounced /pōn/ or pone), [formerly known as [CSI](https://github.com/0dayinc/csi)] is an open security automation framework that aims to stand on the shoulders of security giants, promoting trust and innovation. Build your own custom automation drivers freely and easily using pre-built modules.
22
19
 
23
20
 
24
21
  #### **Why PWN** ####
@@ -36,18 +33,19 @@ Tested on Linux, & OSX leveraging Ruby via RVM.
36
33
  ```
37
34
  $ gem install pwn
38
35
  $ pwn
39
- pwn[v0.4.366]:001 >>> PWN.help
36
+ pwn[v0.4.369]:001 >>> PWN.help
40
37
  ```
41
38
 
39
+ [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
42
40
 
43
41
  ### **General Usage** ###
44
42
  [General Usage Quick-Start](https://github.com/0dayinc/pwn/wiki/General-PWN-Usage)
45
43
 
46
44
  It's wise to update pwn often as numerous versions are released/week:
47
45
  ```
48
- $ gem update pwn
46
+ $ gem uninstall pwn && gem install pwn
49
47
  $ pwn
50
- pwn[v0.4.366]:001 >>> PWN.help
48
+ pwn[v0.4.369]:001 >>> PWN.help
51
49
  ```
52
50
 
53
51
 
@@ -66,7 +64,7 @@ If you've found this framework useful and you're interested in supporting as man
66
64
  [![Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoff.ee/0dayinc)
67
65
 
68
66
 
69
- ### [**0x4D 0x65 0x72 0x63 0x68**](https://0day.myspreadshop.com/) ###
67
+ ### [**0x004D65726368**](https://0day.myspreadshop.com/) ###
70
68
 
71
69
  [![PWN Sticker](https://image.spreadshirtmedia.com/image-server/v1/products/T1459A839PA3861PT28D1044068794FS8193/views/1,width=300,height=300,appearanceId=839,backgroundColor=000000/ultimate-hacker-t-shirt-to-convey-to-the-public-a-hackers-favorite-past-time.jpg)](https://0day.myspreadshop.com/stickers)
72
70
 
Binary file
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.366'
4
+ VERSION = '0.4.369'
5
5
  end
@@ -81,12 +81,12 @@ module PWN
81
81
  # id: 'user_password' doesn't work
82
82
  browser_obj.text_field(index: 10).wait_until(&:present?).set(password)
83
83
  # name: 'commit' doesn't work
84
- browser_obj.button(index: 6).wait_until(&:present?).click # no name or id in button element
84
+ browser_obj.button(index: 6).click! # no name or id in button element
85
85
 
86
86
  if mfa
87
87
  until browser_obj.url == 'https://app.cobalt.io/dashboard'
88
88
  browser_obj.text_field(id: 'code').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
89
- browser_obj.button(name: 'commit').wait_until(&:present?).click
89
+ browser_obj.button(name: 'commit').click!
90
90
  sleep 3
91
91
  end
92
92
  print "\n"
@@ -104,8 +104,8 @@ module PWN
104
104
 
105
105
  public_class_method def self.logout(opts = {})
106
106
  browser_obj = opts[:browser_obj]
107
- browser_obj.li(class: 'user-dropdown').wait_until(&:present?).click
108
- browser_obj.link(index: 10).wait_until(&:present?).click
107
+ browser_obj.li(class: 'user-dropdown').wait_until(&:present?).click!
108
+ browser_obj.link(index: 10).wait_until(&:present?).click!
109
109
 
110
110
  browser_obj
111
111
  rescue StandardError => e
data/lib/pwn/www/bing.rb CHANGED
@@ -62,7 +62,7 @@ module PWN
62
62
  q = opts[:q].to_s
63
63
 
64
64
  browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
65
- browser_obj.button(id: 'sb_form_go').wait_until(&:present?).click
65
+ browser_obj.button(id: 'sb_form_go').click!
66
66
 
67
67
  browser_obj
68
68
  rescue StandardError => e
@@ -78,12 +78,12 @@ module PWN
78
78
 
79
79
  browser_obj.text_field(id: 'user_email').wait_until(&:present?).set(username)
80
80
  browser_obj.text_field(id: 'user_password').wait_until(&:present?).set(password)
81
- browser_obj.button(name: 'button').wait_until(&:present?).click
81
+ browser_obj.button(name: 'button').click!
82
82
 
83
83
  if mfa
84
84
  until browser_obj.url == 'https://bugcrowd.com/programs'
85
85
  browser_obj.text_field(name: 'otp_attempt').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
86
- browser_obj.button(name: 'commit').wait_until(&:present?).click
86
+ browser_obj.button(name: 'commit').click!
87
87
  sleep 3
88
88
  end
89
89
  print "\n"
@@ -102,7 +102,7 @@ module PWN
102
102
  public_class_method def self.logout(opts = {})
103
103
  browser_obj = opts[:browser_obj]
104
104
  browser_obj.li(class: 'dropdown-hover').wait_until(&:present?).hover
105
- browser_obj.link(class: 'signout_link').wait_until(&:present?).click
105
+ browser_obj.link(class: 'signout_link').wait_until(&:present?).click!
106
106
 
107
107
  browser_obj
108
108
  rescue StandardError => e
@@ -63,9 +63,9 @@ module PWN
63
63
 
64
64
  browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
65
65
  if browser_obj.url == 'https://duckduckgo.com/' || browser_obj.url == 'http://3g2upl4pq6kufc4m.onion/'
66
- browser_obj.button(id: 'search_button_homepage').wait_until(&:present?).click
66
+ browser_obj.button(id: 'search_button_homepage').click!
67
67
  else
68
- browser_obj.button(id: 'search_button').wait_until(&:present?).click
68
+ browser_obj.button(id: 'search_button').click!
69
69
  end
70
70
 
71
71
  browser_obj
@@ -76,7 +76,7 @@ module PWN
76
76
 
77
77
  browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
78
78
  browser_obj.text_field(id: 'pass').wait_until(&:present?).set(password)
79
- browser_obj.button(id: 'loginbutton').wait_until(&:present?).click
79
+ browser_obj.button(id: 'loginbutton').click!
80
80
 
81
81
  browser_obj
82
82
  rescue StandardError => e
@@ -90,8 +90,8 @@ module PWN
90
90
 
91
91
  public_class_method def self.logout(opts = {})
92
92
  browser_obj = opts[:browser_obj]
93
- browser_obj.div(id: 'logoutMenu').wait_until(&:present?).click
94
- browser_obj.span(text: 'Log Out', class: '_54nh').click
93
+ browser_obj.div(id: 'logoutMenu').wait_until(&:present?).click!
94
+ browser_obj.span(text: 'Log Out', class: '_54nh').click!
95
95
 
96
96
  browser_obj
97
97
  rescue StandardError => e
@@ -63,7 +63,7 @@ module PWN
63
63
  q = opts[:q].to_s
64
64
 
65
65
  browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
66
- browser_obj.button(text: 'Google Search').wait_until(&:present?).click
66
+ browser_obj.button(text: 'Google Search').click!
67
67
 
68
68
  browser_obj
69
69
  rescue StandardError => e
@@ -82,7 +82,7 @@ module PWN
82
82
  q = "site:linkedin.com inurl:in intext:\"#{company}\""
83
83
 
84
84
  browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
85
- browser_obj.button(name: 'btnG').wait_until(&:present?).click
85
+ browser_obj.button(name: 'btnG').click!
86
86
  sleep 3 # Cough: <hack>
87
87
 
88
88
  browser_obj
@@ -76,7 +76,7 @@ module PWN
76
76
 
77
77
  browser_obj.text_field(name: 'user[email]').wait_until(&:present?).set(username)
78
78
  browser_obj.text_field(name: 'user[password]').wait_until(&:present?).set(password)
79
- browser_obj.button(name: 'commit').wait_until(&:present?).click
79
+ browser_obj.button(name: 'commit').click!
80
80
 
81
81
  browser_obj
82
82
  rescue StandardError => e
@@ -90,8 +90,8 @@ module PWN
90
90
 
91
91
  public_class_method def self.logout(opts = {})
92
92
  browser_obj = opts[:browser_obj]
93
- browser_obj.i(class: 'icon-arrow-closure').click
94
- browser_obj.link(index: 16).click
93
+ browser_obj.i(class: 'icon-arrow-closure').click!
94
+ browser_obj.link(index: 16).click!
95
95
 
96
96
  browser_obj
97
97
  rescue StandardError => e
@@ -76,7 +76,7 @@ module PWN
76
76
 
77
77
  browser_obj.text_field(name: 'session_key').wait_until(&:present?).set(username)
78
78
  browser_obj.text_field(name: 'session_password').wait_until(&:present?).set(password)
79
- browser_obj.button(name: 'signin').wait_until(&:present?).click
79
+ browser_obj.button(name: 'signin').click!
80
80
 
81
81
  browser_obj
82
82
  rescue StandardError => e
@@ -90,8 +90,8 @@ module PWN
90
90
 
91
91
  public_class_method def self.logout(opts = {})
92
92
  browser_obj = opts[:browser_obj]
93
- browser_obj.button(id: 'nav-settings__dropdown-trigger').wait_until(&:present?).click
94
- browser_obj.link(index: 14).wait_until(&:present?).click
93
+ browser_obj.button(id: 'nav-settings__dropdown-trigger').wait_until(&:present?).click!
94
+ browser_obj.link(index: 14).wait_until(&:present?).click!
95
95
 
96
96
  browser_obj
97
97
  rescue StandardError => e
@@ -76,7 +76,7 @@ module PWN
76
76
 
77
77
  browser_obj.text_field(id: 'login_username').wait_until(&:present?).set(username)
78
78
  browser_obj.text_field(id: 'login_password').wait_until(&:present?).set(password)
79
- browser_obj.button(text: 'Log In').wait_until(&:present?).click
79
+ browser_obj.button(text: 'Log In').click!
80
80
 
81
81
  browser_obj
82
82
  rescue StandardError => e
@@ -90,8 +90,8 @@ module PWN
90
90
 
91
91
  public_class_method def self.logout(opts = {})
92
92
  browser_obj = opts[:browser_obj]
93
- browser_obj.img(alt: 'Account Menu').wait_until(&:present?).click
94
- browser_obj.span(text: 'Sign Out').wait_until(&:present?).click
93
+ browser_obj.img(alt: 'Account Menu').wait_until(&:present?).click!
94
+ browser_obj.span(text: 'Sign Out').wait_until(&:present?).click!
95
95
 
96
96
  browser_obj
97
97
  rescue StandardError => e
@@ -92,7 +92,7 @@ module PWN
92
92
  browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
93
93
  browser_obj.text_field(id: 'password').wait_until(&:present?).set(password)
94
94
  browser_obj.text_field(id: 'confirmPassword').wait_until(&:present?).set(password)
95
- browser_obj.button(id: '_eventId_personal').wait_until(&:present?).click
95
+ browser_obj.button(id: '_eventId_personal').wait_until(&:present?).click!
96
96
  browser_obj.text_field(id: 'firstName').wait_until(&:present?).set(first_name)
97
97
  browser_obj.text_field(id: 'lastName').wait_until(&:present?).set(last_name)
98
98
  browser_obj.text_field(id: 'address1').wait_until(&:present?).set(address)
@@ -100,8 +100,8 @@ module PWN
100
100
  browser_obj.select(id: 'state').wait_until(&:present?).select_value(state)
101
101
  browser_obj.text_field(id: 'postalCode').wait_until(&:present?).set(zip_code)
102
102
  browser_obj.text_field(id: 'phoneNumber').wait_until(&:present?).set(mobile_phone)
103
- browser_obj.span(index: 7).wait_until(&:present?).click # Agree to ToS
104
- browser_obj.button(id: 'submitBtn').wait_until(&:present?).click
103
+ browser_obj.span(index: 7).wait_until(&:present?).click! # Agree to ToS
104
+ browser_obj.button(id: 'submitBtn').wait_until(&:present?).click!
105
105
 
106
106
  puts "Confirmation email sent to: #{username}"
107
107
 
@@ -134,14 +134,14 @@ module PWN
134
134
 
135
135
  browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
136
136
  browser_obj.text_field(id: 'password').wait_until(&:present?).set(password)
137
- browser_obj.button(id: 'btnLogin').wait_until(&:present?).click
137
+ browser_obj.button(id: 'btnLogin').click!
138
138
 
139
139
  if mfa
140
140
  # Send code to SMS
141
- browser_obj.button(id: 'btnSelectSoftToken').wait_until(&:present?).click
141
+ browser_obj.button(id: 'btnSelectSoftToken').wait_until(&:present?).click!
142
142
  until browser_obj.url == 'https://www.paypal.com/myaccount/home'
143
143
  browser_obj.text_field(id: 'security-code').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
144
- browser_obj.button(id: 'btnCodeSubmit').wait_until(&:present?).click
144
+ browser_obj.button(id: 'btnCodeSubmit').click!
145
145
  sleep 3
146
146
  end
147
147
  print "\n"
@@ -159,7 +159,7 @@ module PWN
159
159
 
160
160
  public_class_method def self.logout(opts = {})
161
161
  browser_obj = opts[:browser_obj]
162
- browser_obj.link(index: 13).wait_until(&:present?).click
162
+ browser_obj.link(index: 13).wait_until(&:present?).click!
163
163
 
164
164
  browser_obj
165
165
  rescue StandardError => e
@@ -78,12 +78,12 @@ module PWN
78
78
 
79
79
  browser_obj.text_field(name: 'email').wait_until(&:present?).set(username)
80
80
  browser_obj.text_field(name: 'password').wait_until(&:present?).set(password)
81
- browser_obj.button(class: 'btn').wait_until(&:present?).click
81
+ browser_obj.button(class: 'btn').click!
82
82
 
83
83
  if mfa
84
84
  until browser_obj.url.include?('https://platform.synack.com')
85
85
  browser_obj.text_field(name: 'authy_token').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
86
- browser_obj.button(class: 'btn').wait_until(&:present?).click
86
+ browser_obj.button(class: 'btn').click!
87
87
  sleep 3
88
88
  end
89
89
  print "\n"
@@ -101,8 +101,8 @@ module PWN
101
101
 
102
102
  public_class_method def self.logout(opts = {})
103
103
  browser_obj = opts[:browser_obj]
104
- browser_obj.img(class: 'navbar-avatar-img').wait_until(&:present?).click
105
- browser_obj.button(text: 'Logout').wait_until(&:present?).click
104
+ browser_obj.img(class: 'navbar-avatar-img').wait_until(&:present?).click!
105
+ browser_obj.button(text: 'Logout').wait_until(&:present?).click!
106
106
 
107
107
  browser_obj
108
108
  rescue StandardError => e
data/lib/pwn/www/torch.rb CHANGED
@@ -64,7 +64,7 @@ module PWN
64
64
  q = opts[:q].to_s
65
65
 
66
66
  browser_obj.text_field(name: 'q').wait_until(&:present?).set(q)
67
- browser_obj.button(name: 'cmd').wait_until(&:present?).click
67
+ browser_obj.button(name: 'cmd').click!
68
68
 
69
69
  browser_obj
70
70
  rescue StandardError => e
@@ -78,12 +78,12 @@ module PWN
78
78
 
79
79
  browser_obj.text_field(index: 2).wait_until(&:present?).set(username)
80
80
  browser_obj.text_field(index: 3).wait_until(&:present?).set(password)
81
- browser_obj.button(index: 1).wait_until(&:present?).click
81
+ browser_obj.button(index: 1).click!
82
82
 
83
83
  if mfa
84
84
  until browser_obj.url == 'https://twitter.com/' || browser_obj.url == 'https://twitter.com/home'
85
85
  browser_obj.text_field(id: 'challenge_response').wait_until(&:present?).set(PWN::Plugins::AuthenticationHelper.mfa(prompt: 'enter mfa token'))
86
- browser_obj.button(id: 'email_challenge_submit').wait_until(&:present?).click
86
+ browser_obj.button(id: 'email_challenge_submit').click!
87
87
  sleep 3
88
88
  end
89
89
  print "\n"
@@ -101,8 +101,8 @@ module PWN
101
101
 
102
102
  public_class_method def self.logout(opts = {})
103
103
  browser_obj = opts[:browser_obj]
104
- browser_obj.li(id: 'user-dropdown').wait_until(&:present?).click
105
- browser_obj.button(text: 'Log out').wait_until(&:present?).click
104
+ browser_obj.li(id: 'user-dropdown').wait_until(&:present?).click!
105
+ browser_obj.button(text: 'Log out').wait_until(&:present?).click!
106
106
 
107
107
  browser_obj
108
108
  rescue StandardError => e
data/lib/pwn/www/uber.rb CHANGED
@@ -76,7 +76,7 @@ module PWN
76
76
 
77
77
  browser_obj.text_field(id: 'email').wait_until(&:present?).set(username)
78
78
  browser_obj.text_field(id: 'password').wait_until(&:present?).set(password)
79
- browser_obj.button(id: 'login-submit-btn').wait_until(&:present?).click
79
+ browser_obj.button(id: 'login-submit-btn').click!
80
80
 
81
81
  browser_obj
82
82
  rescue StandardError => e
@@ -91,7 +91,7 @@ module PWN
91
91
  public_class_method def self.logout(opts = {})
92
92
  browser_obj = opts[:browser_obj]
93
93
  browser_obj.span(index: 5).wait_until(&:present?).hover
94
- browser_obj.link(index: 13).wait_until(&:present?).click
94
+ browser_obj.link(index: 13).wait_until(&:present?).click!
95
95
 
96
96
  browser_obj
97
97
  rescue StandardError => e
@@ -76,7 +76,7 @@ module PWN
76
76
 
77
77
  browser_obj.text_field(id: 'login_username').wait_until(&:present?).set(username)
78
78
  browser_obj.text_field(id: 'login_password').wait_until(&:present?).set(password)
79
- browser_obj.button(text: 'Log In').wait_until(&:present?).click
79
+ browser_obj.button(text: 'Log In').click!
80
80
 
81
81
  browser_obj
82
82
  rescue StandardError => e
@@ -90,8 +90,8 @@ module PWN
90
90
 
91
91
  public_class_method def self.logout(opts = {})
92
92
  browser_obj = opts[:browser_obj]
93
- browser_obj.span(class: 'organization-selector').wait_until(&:present?).click
94
- browser_obj.link(index: 39).wait_until(&:present?).click
93
+ browser_obj.span(class: 'organization-selector').wait_until(&:present?).click!
94
+ browser_obj.link(index: 39).wait_until(&:present?).click!
95
95
 
96
96
  browser_obj
97
97
  rescue StandardError => e
@@ -52,7 +52,7 @@ module PWN
52
52
  end
53
53
 
54
54
  # Supported Method Parameters::
55
- # browser_obj = PWN::WWW::Google.search(
55
+ # browser_obj = PWN::WWW::Youtube.search(
56
56
  # browser_obj: 'required - browser_obj returned from #open method',
57
57
  # q: 'required - search string'
58
58
  # )
@@ -62,7 +62,7 @@ module PWN
62
62
  q = opts[:q].to_s
63
63
 
64
64
  browser_obj.text_field(name: 'search_query').wait_until(&:present?).set(q)
65
- browser_obj.button(id: 'search-btn').wait_until(&:present?).click
65
+ browser_obj.button(id: 'search-btn').click!
66
66
 
67
67
  browser_obj
68
68
  rescue StandardError => e
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.366
4
+ version: 0.4.369
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-01 00:00:00.000000000 Z
11
+ date: 2022-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -1014,6 +1014,7 @@ files:
1014
1014
  - documentation/fax-spectrogram.png
1015
1015
  - documentation/fax-waveform.png
1016
1016
  - documentation/pwn_android_war_dialer_session.png
1017
+ - documentation/pwn_install.png
1017
1018
  - documentation/pwn_wallpaper.jpg
1018
1019
  - documentation/ringing-spectrogram.png
1019
1020
  - documentation/ringing-waveform.png