pwn 0.4.906 → 0.4.908

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: 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.