pwn 0.4.906 → 0.4.908

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: 0e59869bd42240ae727b70dcc8580ec62d0a208bb26e01692b032304558f2808
4
- data.tar.gz: 7ea494fd1a212a60ff77f94f09ac8df1730403c253ff15bcdb6752c924cb3aa1
3
+ metadata.gz: 3e63eb5c8a0f8b7b01519e0beff8d9e00b0d79b2b95d9e0c3b09bfb64e43714c
4
+ data.tar.gz: d04c5a1dfbbce051e64a78d1bf7231d27e76b2360b802fb1f7da24b56224fa61
5
5
  SHA512:
6
- metadata.gz: e79e91f3d7de9678f22013dbe3dc065ae8d6564c8d40ff748760874eaa57c1dc0dfd292e6c44c285cb3d01416308b1fd8c25fb67451ecbe1f161f2bde6b64172
7
- data.tar.gz: d69e6dd7f64621527c99d524141b5db7871c9c365db207753ba0c3fad8eb50863bc3ebe85ca1514685ce54bfc2dde76de59d9cc8db73f428d2bd6ae5dd84a85f
6
+ metadata.gz: d7a34cb20ada0617c270dff08d9f0f419acb456e61b30c3b2b6da7aa8176b451578271f5268e757099df3316b32517b7b4898cc55e3035e6d07a921bd358a368
7
+ data.tar.gz: 5617cc8139c7906d897a72a838e8b87499765ebddcc4987e6990618c006fffc559d0b88253ea81002a6a87e7f9e8b201b77b47f3a84bca91e9626034fe4cd1bc
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.906]:001 >>> PWN.help
40
+ pwn[v0.4.908]: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.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.906]:001 >>> PWN.help
55
+ pwn[v0.4.908]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn_www_checkip CHANGED
@@ -10,18 +10,22 @@ OptionParser.new do |options|
10
10
  options.banner = "USAGE:
11
11
  #{$PROGRAM_NAME} [opts]
12
12
  "
13
-
14
- options.on('-pPROXY', '--proxy=PROXY', '<Optional - HTTP or Socks Proxy || tor>') do |p|
15
- opts[:proxy] = p
13
+ options.on('-tIP_HOST', '--target=IP_HOST', '<Optional - IP or Host to Check (Default - Your Public IP)>') do |t|
14
+ opts[:target] = t
16
15
  end
17
16
 
18
17
  options.on('-i', '--[no-]ipinfo', '<Optional - Return Details about Public IP Returned from CheckIP>') do |i|
19
18
  opts[:ipinfo] = i
20
19
  end
20
+
21
+ options.on('-pPROXY', '--proxy=PROXY', '<Optional - HTTP or Socks Proxy || tor>') do |p|
22
+ opts[:proxy] = p
23
+ end
21
24
  end.parse!
22
25
 
23
- proxy = opts[:proxy].to_s.scrub.strip.chomp unless opts[:proxy].nil?
26
+ target = opts[:target]
24
27
  ipinfo = opts[:ipinfo]
28
+ proxy = opts[:proxy].to_s.scrub.strip.chomp unless opts[:proxy].nil?
25
29
 
26
30
  begin
27
31
  if proxy
@@ -34,24 +38,25 @@ begin
34
38
  end
35
39
  browser = browser_obj[:browser]::Request
36
40
 
37
- if proxy
38
- public_ip_address = browser.execute(
41
+ if proxy && opts[:target].nil?
42
+ target = browser.execute(
39
43
  method: :get,
40
44
  url: 'https://checkip.amazonaws.com',
41
45
  verify_ssl: false
42
46
  ).to_s.chomp
43
- else
44
- public_ip_address = browser.execute(
47
+ elsif opts[:target].nil?
48
+ target = browser.execute(
45
49
  method: :get,
46
50
  url: 'https://checkip.amazonaws.com'
47
51
  ).to_s.chomp
48
52
  end
49
53
 
50
- puts "PUBLIC IP: #{public_ip_address}" unless ipinfo
54
+ puts "[ { \"public_ip\": \"#{target}\" } ]" if ipinfo.nil? && opts[:target].nil?
51
55
 
56
+ ipinfo = true if ipinfo.nil? && opts[:target]
52
57
  if ipinfo
53
58
  ip_info_obj = PWN::Plugins::IPInfo.get(
54
- target: public_ip_address,
59
+ target: target,
55
60
  proxy: proxy
56
61
  )
57
62
  puts JSON.pretty_generate(ip_info_obj)
@@ -81,11 +81,18 @@ module PWN
81
81
  )
82
82
 
83
83
  ip_resp[:tls_avail] = tls_port_avail
84
+ ip_resp[:ca_issuer_uris] = false
84
85
  ip_resp[:cert_subject] = false
85
86
  ip_resp[:cert_issuer] = false
86
87
  ip_resp[:cert_serial] = false
88
+ ip_resp[:crl_uris] = false
89
+ ip_resp[:extensions] = false
87
90
  ip_resp[:not_before] = false
88
91
  ip_resp[:not_after] = false
92
+ ip_resp[:oscsp_uris] = false
93
+ ip_resp[:pem] = false
94
+ ip_resp[:signature_algorithm] = false
95
+ ip_resp[:version] = false
89
96
  next unless tls_port_avail
90
97
 
91
98
  cert_obj = PWN::Plugins::Sock.get_tls_cert(
@@ -95,11 +102,18 @@ module PWN
95
102
 
96
103
  next unless cert_obj.is_a?(OpenSSL::X509::Certificate)
97
104
 
105
+ ip_resp[:ca_issuer_uris] = cert_obj.ca_issuer_uris.to_s
98
106
  ip_resp[:cert_subject] = cert_obj.subject.to_s
99
107
  ip_resp[:cert_issuer] = cert_obj.issuer.to_s
100
108
  ip_resp[:cert_serial] = cert_obj.serial.to_s
109
+ ip_resp[:crl_uris] = cert_obj.crl_uris.to_s
110
+ ip_resp[:extensions] = cert_obj.extensions.map&.to_s
101
111
  ip_resp[:not_before] = cert_obj.not_before.to_s
102
112
  ip_resp[:not_after] = cert_obj.not_after.to_s
113
+ ip_resp[:oscsp_uris] = cert_obj.ocsp_uris.to_s
114
+ ip_resp[:pem] = cert_obj.to_pem.to_s
115
+ ip_resp[:signature_algorithm] = cert_obj.signature_algorithm.to_s
116
+ ip_resp[:version] = cert_obj.version.to_s
103
117
  end
104
118
  end
105
119
 
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.906'
4
+ VERSION = '0.4.908'
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.4.906
4
+ version: 0.4.908
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.