rex-sslscan 0.1.3 → 0.1.7

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
- SHA1:
3
- metadata.gz: ebb2f9cb6269feca050e5d189fc566921d109928
4
- data.tar.gz: 7071c4aab1b5d25bb1e2e9ee922752bd8bace86b
2
+ SHA256:
3
+ metadata.gz: 4c837ae57432c5ecbc67c4103394ea74ba3242847ade27a7f46f7d16b8983075
4
+ data.tar.gz: eab7d4cc1e58e806909353fcf2e6a7b008a90cb71705bd0fdf1b3046efcf124c
5
5
  SHA512:
6
- metadata.gz: 6f7cfae4030e42ca3cd9bf8e940193007a130fb9620a4cf1be749a166e51752a9ffc300fba68a03f694bf76945a392bdda4afd9c00f08c269556028f2ff2254e
7
- data.tar.gz: d3e0e31bc8ed2737f8efa6ddc24ccc6a745ea018641a6be8c2310be8533180c4f8ec32b4680c8d65dafd60effa2818b1fe84878e457832c1225a90611dff7452
6
+ metadata.gz: 2fa57af1bbcdcdfa35be62e602382d325d6a0184ae7b286e851cc90858f8a7202ce2f1f340755b61cdec93c383c1c2ec0c3d937d277a5fc5e3297bfac7ef44f5
7
+ data.tar.gz: e0c2a0d5f7594ae8a717de913d2821bd069f38b74ef92a9d4660574cc53be9e94f77d3444a9c8582b48ef53a5b8482d0a4820bc277b9f339379a0361c501fc0e
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,46 @@
1
+ name: Verify
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '*'
7
+ pull_request:
8
+ branches:
9
+ - '*'
10
+
11
+ jobs:
12
+ test:
13
+ runs-on: ubuntu-18.04
14
+ timeout-minutes: 40
15
+
16
+ strategy:
17
+ fail-fast: true
18
+ matrix:
19
+ ruby:
20
+ - 2.5
21
+ - 2.6
22
+ - 2.7
23
+ - 3.0
24
+ test_cmd:
25
+ - bundle exec rspec
26
+
27
+ env:
28
+ RAILS_ENV: test
29
+
30
+ name: Ruby ${{ matrix.ruby }} - ${{ matrix.test_cmd }}
31
+ steps:
32
+ - name: Checkout code
33
+ uses: actions/checkout@v2
34
+
35
+ - name: Setup Ruby
36
+ uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: ${{ matrix.ruby }}
39
+ bundler-cache: true
40
+
41
+ - name: ${{ matrix.test_cmd }}
42
+ run: |
43
+ echo "${CMD}"
44
+ bash -c "${CMD}"
45
+ env:
46
+ CMD: ${{ matrix.test_cmd }}
data/Gemfile CHANGED
@@ -2,3 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in rex-sslscan.gemspec
4
4
  gemspec
5
+
6
+
7
+ gem 'pry'
@@ -15,7 +15,7 @@ class Result
15
15
  def initialize()
16
16
  @cert = nil
17
17
  @ciphers = Set.new
18
- @supported_versions = [:SSLv2, :SSLv3, :TLSv1]
18
+ @supported_versions = [:SSLv2, :SSLv3, :TLSv1, :TLSv1_1, :TLSv1_2]
19
19
  @deprecated_weak_ciphers = [
20
20
  'ECDHE-RSA-DES-CBC3-SHA',
21
21
  'ECDHE-ECDSA-DES-CBC3-SHA',
@@ -32,7 +32,9 @@ class Result
32
32
  'EXP-EDH-DSS-DES-CBC-SHA',
33
33
  'EXP-DES-CBC-SHA',
34
34
  'EXP-RC2-CBC-MD5',
35
- 'EXP-RC4-MD5'
35
+ 'EXP-RC4-MD5',
36
+ 'EXP-RC4-MD5',
37
+ 'DES-CBC-SHA'
36
38
  ]
37
39
  end
38
40
 
@@ -107,8 +109,16 @@ class Result
107
109
  !(accepted(:TLSv1).empty?)
108
110
  end
109
111
 
112
+ def supports_tlsv1_1?
113
+ !(accepted(:TLSv1_1).empty?)
114
+ end
115
+
116
+ def supports_tlsv1_2?
117
+ !(accepted(:TLSv1_2).empty?)
118
+ end
119
+
110
120
  def supports_ssl?
111
- supports_sslv2? or supports_sslv3? or supports_tlsv1?
121
+ supports_sslv2? or supports_sslv3? or supports_tlsv1? or supports_tlsv1_1? or supports_tlsv1_2?
112
122
  end
113
123
 
114
124
  def supports_weak_ciphers?
@@ -118,7 +128,9 @@ class Result
118
128
  def standards_compliant?
119
129
  if supports_ssl?
120
130
  return false if supports_sslv2?
131
+ return false if supports_sslv3?
121
132
  return false if supports_weak_ciphers?
133
+ return false if supports_tlsv1?
122
134
  end
123
135
  true
124
136
  end
@@ -132,8 +144,7 @@ class Result
132
144
  unless @supported_versions.include? version
133
145
  raise ArgumentError, "Must be a supported SSL Version"
134
146
  end
135
- unless OpenSSL::SSL::SSLContext.new(version).ciphers.flatten.include?(cipher) \
136
- || @deprecated_weak_ciphers.include?(cipher)
147
+ unless OpenSSL::SSL::SSLContext.new(version).ciphers.flatten.include?(cipher) || @deprecated_weak_ciphers.include?(cipher)
137
148
  raise ArgumentError, "Must be a valid SSL Cipher for #{version}!"
138
149
  end
139
150
  unless key_length.kind_of? Integer
@@ -145,7 +156,7 @@ class Result
145
156
 
146
157
  strong_cipher_ctx = OpenSSL::SSL::SSLContext.new(version)
147
158
  # OpenSSL Directive For Strong Ciphers
148
- # See: http://www.rapid7.com/vulndb/lookup/ssl-weak-ciphers
159
+ # See: https://web.archive.org/web/20121125052802/http://www.rapid7.com/vulndb/lookup/ssl-weak-ciphers
149
160
  strong_cipher_ctx.ciphers = "ALL:!aNULL:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
150
161
 
151
162
  if strong_cipher_ctx.ciphers.flatten.include? cipher
@@ -200,7 +211,7 @@ class Result
200
211
  case version
201
212
  when :all
202
213
  return @ciphers.select{|cipher| cipher[:status] == state}
203
- when :SSLv2, :SSLv3, :TLSv1
214
+ when :SSLv2, :SSLv3, :TLSv1, :TLSv1_1, :TLSv1_2
204
215
  return @ciphers.select{|cipher| cipher[:status] == state and cipher[:version] == version}
205
216
  else
206
217
  raise ArgumentError, "Invalid SSL Version Supplied: #{version}"
@@ -6,6 +6,9 @@ module Rex::SSLScan
6
6
 
7
7
  class Scanner
8
8
 
9
+ class InvalidCipher < StandardError
10
+ end
11
+
9
12
  attr_accessor :context
10
13
  attr_accessor :host
11
14
  attr_accessor :port
@@ -25,10 +28,10 @@ class Scanner
25
28
  @timeout = timeout
26
29
  @context = context
27
30
  if check_opensslv2 == true
28
- @supported_versions = [:SSLv2, :SSLv3, :TLSv1]
31
+ @supported_versions = [:SSLv2, :SSLv3, :TLSv1, :TLSv1_1, :TLSv1_2]
29
32
  @sslv2 = true
30
33
  else
31
- @supported_versions = [:SSLv3, :TLSv1]
34
+ @supported_versions = [:SSLv3, :TLSv1, :TLSv1_1, :TLSv1_2]
32
35
  @sslv2 = false
33
36
  end
34
37
  raise StandardError, "The scanner configuration is invalid" unless valid?
@@ -56,16 +59,30 @@ class Scanner
56
59
  return scan_result
57
60
  end
58
61
 
62
+ threads = []
63
+ ciphers = Queue.new
59
64
  @supported_versions.each do |ssl_version|
60
65
  sslctx = OpenSSL::SSL::SSLContext.new(ssl_version)
61
66
  sslctx.ciphers.each do |cipher_name, ssl_ver, key_length, alg_length|
62
- status = test_cipher(ssl_version, cipher_name)
63
- scan_result.add_cipher(ssl_version, cipher_name, key_length, status)
64
- if status == :accepted and scan_result.cert.nil?
65
- scan_result.cert = get_cert(ssl_version, cipher_name)
67
+ threads << Thread.new do
68
+ begin
69
+ status = test_cipher(ssl_version, cipher_name)
70
+ ciphers << [ssl_version, cipher_name, key_length, status]
71
+ if status == :accepted and scan_result.cert.nil?
72
+ scan_result.cert = get_cert(ssl_version, cipher_name)
73
+ end
74
+ rescue Rex::SSLScan::Scanner::InvalidCipher
75
+ next
76
+ end
66
77
  end
67
78
  end
68
79
  end
80
+ threads.each { |thr| thr.join }
81
+
82
+ until ciphers.empty? do
83
+ cipher = ciphers.pop
84
+ scan_result.add_cipher(*cipher)
85
+ end
69
86
  scan_result
70
87
  end
71
88
 
@@ -185,7 +202,7 @@ class Scanner
185
202
  raise StandardError, "Your OS hates freedom! Your OpenSSL libs are compiled without SSLv2 support!"
186
203
  else
187
204
  unless OpenSSL::SSL::SSLContext.new(ssl_version).ciphers.flatten.include? cipher
188
- raise StandardError, "Must be a valid SSL Cipher for #{ssl_version}!"
205
+ raise InvalidCipher, "Must be a valid SSL Cipher for #{ssl_version}!"
189
206
  end
190
207
  end
191
208
  end
@@ -1,5 +1,5 @@
1
1
  module Rex
2
2
  module Sslscan
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.7"
4
4
  end
5
5
  end
data/lib/rex/sslscan.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rex/core'
1
2
  require "rex/sslscan/version"
2
3
  require 'rex/sslscan/scanner'
3
4
  require 'rex/sslscan/version'
data/rex-sslscan.gemspec CHANGED
@@ -6,11 +6,11 @@ require 'rex/sslscan/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "rex-sslscan"
8
8
  spec.version = Rex::Sslscan::VERSION
9
- spec.authors = ["David Maloney"]
10
- spec.email = ["DMaloney@rapid7.com"]
9
+ spec.authors = ['Metasploit Hackers']
10
+ spec.email = ['msfdev@metasploit.com']
11
11
 
12
12
  spec.summary = %q{Ruby Exploitation(REX) Library for scanning the SSL/TLS capabilities of a server}
13
- spec.description = %q{This library is a pure ruby implmenetation of the SSLScan tool originally written
13
+ spec.description = %q{This library is a pure ruby implmentation of the SSLScan tool originally written
14
14
  by Ian Ventura-Whiting. It currently depends on the system version of OpenSSL}
15
15
  spec.homepage = "https://github.com/rapid7/rex-sslscan"
16
16
 
@@ -20,10 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.12"
24
- spec.add_development_dependency "rake", "~> 10.0"
25
- spec.add_development_dependency "rspec", "~> 3.0"
23
+ spec.required_ruby_version = '>= 2.2.0'
26
24
 
25
+ spec.add_development_dependency "rake"
26
+ spec.add_development_dependency "rspec"
27
+
28
+ spec.add_runtime_dependency "rex-core"
27
29
  spec.add_runtime_dependency "rex-text"
28
30
  spec.add_runtime_dependency "rex-socket"
29
31
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,137 +1,142 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rex-sslscan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
- - David Maloney
7
+ - Metasploit Hackers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
14
- A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
15
- Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
16
- MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
17
- A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
18
- hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
19
- RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
20
- gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
21
- KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
22
- QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
23
- XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
24
- DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
25
- LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
26
- RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
27
- jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
28
- 6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
29
- mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
30
- Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
31
- WD9f
13
+ MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl
14
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
15
+ d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
16
+ b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG
17
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
18
+ cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi
19
+ MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c
20
+ JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP
21
+ mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+
22
+ wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4
23
+ VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/
24
+ AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB
25
+ AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW
26
+ BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun
27
+ pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC
28
+ dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf
29
+ fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm
30
+ NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx
31
+ H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
32
+ +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
32
33
  -----END CERTIFICATE-----
33
34
  - |
34
35
  -----BEGIN CERTIFICATE-----
35
- MIIElDCCA3ygAwIBAgIOSBtqBybS6D8mAtSCWs0wDQYJKoZIhvcNAQELBQAwTDEg
36
- MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2Jh
37
- bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTYwNjE1MDAwMDAwWhcNMjQw
38
- NjE1MDAwMDAwWjBaMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBu
39
- di1zYTEwMC4GA1UEAxMnR2xvYmFsU2lnbiBDb2RlU2lnbmluZyBDQSAtIFNIQTI1
40
- NiAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjYVVI6kfU6/J
41
- 7TbCKbVu2PlC9SGLh/BDoS/AP5fjGEfUlk6Iq8Zj6bZJFYXx2Zt7G/3YSsxtToZA
42
- F817ukcotdYUQAyG7h5LM/MsVe4hjNq2wf6wTjquUZ+lFOMQ5pPK+vldsZCH7/g1
43
- LfyiXCbuexWLH9nDoZc1QbMw/XITrZGXOs5ynQYKdTwfmOPLGC+MnwhKkQrZ2TXZ
44
- g5J2Yl7fg67k1gFOzPM8cGFYNx8U42qgr2v02dJsLBkwXaBvUt/RnMngDdl1EWWW
45
- 2UO0p5A5rkccVMuxlW4l3o7xEhzw127nFE2zGmXWhEpX7gSvYjjFEJtDjlK4Prau
46
- niyX/4507wIDAQABo4IBZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQG
47
- CCsGAQUFBwMDBggrBgEFBQcDCTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
48
- BBQPOueslJF0LZYCc4OtnC5JPxmqVDAfBgNVHSMEGDAWgBSP8Et/qC5FJK5NUPpj
49
- move4t0bvDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3Nw
50
- Mi5nbG9iYWxzaWduLmNvbS9yb290cjMwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov
51
- L2NybC5nbG9iYWxzaWduLmNvbS9yb290LXIzLmNybDBjBgNVHSAEXDBaMAsGCSsG
52
- AQQBoDIBMjAIBgZngQwBBAEwQQYJKwYBBAGgMgFfMDQwMgYIKwYBBQUHAgEWJmh0
53
- dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3DQEB
54
- CwUAA4IBAQAVhCgM7aHDGYLbYydB18xjfda8zzabz9JdTAKLWBoWCHqxmJl/2DOK
55
- XJ5iCprqkMLFYwQL6IdYBgAHglnDqJQy2eAUTaDVI+DH3brwaeJKRWUtTUmQeGYy
56
- DrBowLCIsI7tXAb4XBBIPyNzujtThFKAzfCzFcgRCosFeEZZCNS+t/9L9ZxqTJx2
57
- ohGFRYzUN+5Q3eEzNKmhHzoL8VZEim+zM9CxjtEMYAfuMsLwJG+/r/uBAXZnxKPo
58
- 4KvcM1Uo42dHPOtqpN+U6fSmwIHRUphRptYCtzzqSu/QumXSN4NTS35nfIxA9gcc
59
- sK8EBtz4bEaIcpzrTp3DsLlUo7lOl8oU
36
+ MIIFMDCCBBigAwIBAgIQBAkYG1/Vu2Z1U0O1b5VQCDANBgkqhkiG9w0BAQsFADBl
37
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
38
+ d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
39
+ b3QgQ0EwHhcNMTMxMDIyMTIwMDAwWhcNMjgxMDIyMTIwMDAwWjByMQswCQYDVQQG
40
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl
41
+ cnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBT
42
+ aWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+NOzHH8O
43
+ Ea9ndwfTCzFJGc/Q+0WZsTrbRPV/5aid2zLXcep2nQUut4/6kkPApfmJ1DcZ17aq
44
+ 8JyGpdglrA55KDp+6dFn08b7KSfH03sjlOSRI5aQd4L5oYQjZhJUM1B0sSgmuyRp
45
+ wsJS8hRniolF1C2ho+mILCCVrhxKhwjfDPXiTWAYvqrEsq5wMWYzcT6scKKrzn/p
46
+ fMuSoeU7MRzP6vIK5Fe7SrXpdOYr/mzLfnQ5Ng2Q7+S1TqSp6moKq4TzrGdOtcT3
47
+ jNEgJSPrCGQ+UpbB8g8S9MWOD8Gi6CxR93O8vYWxYoNzQYIH5DiLanMg0A9kczye
48
+ n6Yzqf0Z3yWT0QIDAQABo4IBzTCCAckwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNV
49
+ HQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwMweQYIKwYBBQUHAQEEbTBr
50
+ MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUH
51
+ MAKGN2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJ
52
+ RFJvb3RDQS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2lj
53
+ ZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6
54
+ Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmww
55
+ TwYDVR0gBEgwRjA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
56
+ d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCgYIYIZIAYb9bAMwHQYDVR0OBBYEFFrEuXsq
57
+ CqOl6nEDwGD5LfZldQ5YMB8GA1UdIwQYMBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgP
58
+ MA0GCSqGSIb3DQEBCwUAA4IBAQA+7A1aJLPzItEVyCx8JSl2qB1dHC06GsTvMGHX
59
+ fgtg/cM9D8Svi/3vKt8gVTew4fbRknUPUbRupY5a4l4kgU4QpO4/cY5jDhNLrddf
60
+ RHnzNhQGivecRk5c/5CxGwcOkRX7uq+1UcKNJK4kxscnKqEpKBo6cSgCPC6Ro8Al
61
+ EeKcFEehemhor5unXCBc2XGxDI+7qPjFEmifz0DLQESlE/DmZAwlCEIysjaKJAL+
62
+ L3J+HNdJRZboWR3p+nRka7LrZkPas7CM1ekN3fYBIM6ZMWM9CBoYs4GbT8aTEAb8
63
+ B4H6i9r5gkn3Ym6hU/oSlBiFLpKR6mhsRDKyZqHnGKSaZFHv
60
64
  -----END CERTIFICATE-----
61
65
  - |
62
66
  -----BEGIN CERTIFICATE-----
63
- MIIE5jCCA86gAwIBAgIMKDuO03uv6RWXR1uAMA0GCSqGSIb3DQEBCwUAMFoxCzAJ
64
- BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTAwLgYDVQQDEydH
65
- bG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gU0hBMjU2IC0gRzMwHhcNMTYwOTEz
66
- MTgxMDIyWhcNMTkxMTExMTUxNTM4WjBgMQswCQYDVQQGEwJVUzEWMBQGA1UECBMN
67
- TWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRMwEQYDVQQKEwpSYXBpZDcg
68
- TExDMRMwEQYDVQQDEwpSYXBpZDcgTExDMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
69
- MIIBCgKCAQEAl0HeC0FzN1BJ4nQkxsBng3peS9Bdi9rpSGx+g0Ximd+M/7twmund
70
- bzn2JPbNK/Gp/rq/SytrNSLcUzcbH/0z5Ltyw1/jQsGtRBrns0NZSRXqupQDW5R6
71
- HFpaIAl3OdsesmIQc/fm0uhh8dkfHVo7UsZO/TeCPoy0uHXTI6aFBPzMMsdz+gf3
72
- cCCLsnNKQh/T2Q/jwBs3NTPoyza/pPZcvGogKcWCeNihTO5Rn1Fc71sMHSjQsDtn
73
- 1fWGKYGi0qjvZ4lpGM9IFZMTbySKHbPLhhHnBOoV7avGemdky3AEsUeiT+6DY0P1
74
- IydBy24uVNhGATglME1ttlT4Eme/to0M6wIDAQABo4IBpDCCAaAwDgYDVR0PAQH/
75
- BAQDAgeAMIGUBggrBgEFBQcBAQSBhzCBhDBIBggrBgEFBQcwAoY8aHR0cDovL3Nl
76
- Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Njb2Rlc2lnbnNoYTJnM29jc3Au
77
- Y3J0MDgGCCsGAQUFBzABhixodHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20vZ3Nj
78
- b2Rlc2lnbnNoYTJnMzBWBgNVHSAETzBNMEEGCSsGAQQBoDIBMjA0MDIGCCsGAQUF
79
- BwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAIBgZn
80
- gQwBBAEwCQYDVR0TBAIwADA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmds
81
- b2JhbHNpZ24uY29tL2dzY29kZXNpZ25zaGEyZzMuY3JsMBMGA1UdJQQMMAoGCCsG
82
- AQUFBwMDMB0GA1UdDgQWBBSm8RBpBC/cK9VmxzO2+RWnacN8CTAfBgNVHSMEGDAW
83
- gBQPOueslJF0LZYCc4OtnC5JPxmqVDANBgkqhkiG9w0BAQsFAAOCAQEANVO3uYQl
84
- h8iicbaXE3odrL+kXXmeeNgt4BD3x7GKAVIVixtwBS6pvrshjc1LN0tm3ruiv8oy
85
- cq4FiEmVUXZejSRvVVtABeWdZWo+lJ8NxCBUEYYmnMrjgFIbGiEbBsg7PGtyeQsA
86
- 5Wbg7Lx889mS1tKfQBcPif8EjpTiXNfMiywmpaMYmvm+yQgzrRLDbjz6JV0Rc5Ga
87
- WChka+LTPnMtsWJuFM8ka8icMeS28/nAGERdewxWvz+DeAPMORdTJ7aqb6+Y9xuz
88
- G+Hmcg1v810agasPdoydE0RTVZgEOOMoQ07qu7JFXVWZ9ZQpHT7qJATWL/b2csFG
89
- 8mVuTXnyJOKRJA==
67
+ MIIFIzCCBAugAwIBAgIQCMePMbkSxvnPeJhYXIfaxzANBgkqhkiG9w0BAQsFADBy
68
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
69
+ d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFzc3VyZWQg
70
+ SUQgQ29kZSBTaWduaW5nIENBMB4XDTIwMTAwNzAwMDAwMFoXDTIzMTEwNjEyMDAw
71
+ MFowYDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxDzANBgNV
72
+ BAcTBkJvc3RvbjETMBEGA1UEChMKUmFwaWQ3IExMQzETMBEGA1UEAxMKUmFwaWQ3
73
+ IExMQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNTz4zvAy7h/vQp
74
+ 4dr1txXHlABAagkwYYwTMCtHs5PXsJITx/5SAjx5swuaLfze5kPBNF2YImvFlOXY
75
+ WaB+0PsOnXnaARsDZU683xFlj8izU6IN6VrAHzDLKFBzruJENrOJD/ikbEtbjO/q
76
+ gFbmS9J9v5ohG/pcRSS0t4ZPAwymf8eCp6QsvOKK/Aymp1RhlRaP8N6N5CIpkhz1
77
+ 9p968iCE+DjOXVYxcWE+jE/7uB1dbgrXykNBujMSS3GULOvVEY28n6NCmrPlo23g
78
+ yRjYVJ2Vy14nBqnxDZ/yRIfWRVjWoT9TsAEbe9gY29oDpSCSs4wSmLQd5zGCpZ9h
79
+ r0HDFB8CAwEAAaOCAcUwggHBMB8GA1UdIwQYMBaAFFrEuXsqCqOl6nEDwGD5LfZl
80
+ dQ5YMB0GA1UdDgQWBBTLBL7DTwumVEKtdCdpHVYMXOFeDzAOBgNVHQ8BAf8EBAMC
81
+ B4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwdwYDVR0fBHAwbjA1oDOgMYYvaHR0cDov
82
+ L2NybDMuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJlZC1jcy1nMS5jcmwwNaAzoDGG
83
+ L2h0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtY3MtZzEuY3Js
84
+ MEwGA1UdIARFMEMwNwYJYIZIAYb9bAMBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
85
+ d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwCAYGZ4EMAQQBMIGEBggrBgEFBQcBAQR4MHYw
86
+ JAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBOBggrBgEFBQcw
87
+ AoZCaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMkFzc3Vy
88
+ ZWRJRENvZGVTaWduaW5nQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEL
89
+ BQADggEBAN+GL5/myPWg7oH4mVrG7/OhXF1MoYQF0ddaNiqaweEHMuKJBQCVZRbL
90
+ 37HojoKXXv2yyRJBCeTB+ojrxX+5PdLVZa0ss7toWzJ2A1poPXZ1eZvm5xeFD32z
91
+ YQaTmmNWNI3PCDTyJ2PXUc+bDiNNwcZ7yc5o78UNRvp9Jxghya17Q76c9Ov9wvnv
92
+ dxxQKWGOQy0m4fBrkyjAyH9Djjn81RbQrqYgPuhd5nD0HjN3VUQLhQbIJrk9TVs0
93
+ EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
94
+ 9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
90
95
  -----END CERTIFICATE-----
91
- date: 2017-04-06 00:00:00.000000000 Z
96
+ date: 2021-10-28 00:00:00.000000000 Z
92
97
  dependencies:
93
98
  - !ruby/object:Gem::Dependency
94
- name: bundler
99
+ name: rake
95
100
  requirement: !ruby/object:Gem::Requirement
96
101
  requirements:
97
- - - "~>"
102
+ - - ">="
98
103
  - !ruby/object:Gem::Version
99
- version: '1.12'
104
+ version: '0'
100
105
  type: :development
101
106
  prerelease: false
102
107
  version_requirements: !ruby/object:Gem::Requirement
103
108
  requirements:
104
- - - "~>"
109
+ - - ">="
105
110
  - !ruby/object:Gem::Version
106
- version: '1.12'
111
+ version: '0'
107
112
  - !ruby/object:Gem::Dependency
108
- name: rake
113
+ name: rspec
109
114
  requirement: !ruby/object:Gem::Requirement
110
115
  requirements:
111
- - - "~>"
116
+ - - ">="
112
117
  - !ruby/object:Gem::Version
113
- version: '10.0'
118
+ version: '0'
114
119
  type: :development
115
120
  prerelease: false
116
121
  version_requirements: !ruby/object:Gem::Requirement
117
122
  requirements:
118
- - - "~>"
123
+ - - ">="
119
124
  - !ruby/object:Gem::Version
120
- version: '10.0'
125
+ version: '0'
121
126
  - !ruby/object:Gem::Dependency
122
- name: rspec
127
+ name: rex-core
123
128
  requirement: !ruby/object:Gem::Requirement
124
129
  requirements:
125
- - - "~>"
130
+ - - ">="
126
131
  - !ruby/object:Gem::Version
127
- version: '3.0'
128
- type: :development
132
+ version: '0'
133
+ type: :runtime
129
134
  prerelease: false
130
135
  version_requirements: !ruby/object:Gem::Requirement
131
136
  requirements:
132
- - - "~>"
137
+ - - ">="
133
138
  - !ruby/object:Gem::Version
134
- version: '3.0'
139
+ version: '0'
135
140
  - !ruby/object:Gem::Dependency
136
141
  name: rex-text
137
142
  requirement: !ruby/object:Gem::Requirement
@@ -161,17 +166,17 @@ dependencies:
161
166
  - !ruby/object:Gem::Version
162
167
  version: '0'
163
168
  description: |-
164
- This library is a pure ruby implmenetation of the SSLScan tool originally written
169
+ This library is a pure ruby implmentation of the SSLScan tool originally written
165
170
  by Ian Ventura-Whiting. It currently depends on the system version of OpenSSL
166
171
  email:
167
- - DMaloney@rapid7.com
172
+ - msfdev@metasploit.com
168
173
  executables: []
169
174
  extensions: []
170
175
  extra_rdoc_files: []
171
176
  files:
177
+ - ".github/workflows/verify.yml"
172
178
  - ".gitignore"
173
179
  - ".rspec"
174
- - ".travis.yml"
175
180
  - CODE_OF_CONDUCT.md
176
181
  - Gemfile
177
182
  - LICENSE
@@ -195,7 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
200
  requirements:
196
201
  - - ">="
197
202
  - !ruby/object:Gem::Version
198
- version: '0'
203
+ version: 2.2.0
199
204
  required_rubygems_version: !ruby/object:Gem::Requirement
200
205
  requirements:
201
206
  - - ">="
@@ -203,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
208
  version: '0'
204
209
  requirements: []
205
210
  rubyforge_project:
206
- rubygems_version: 2.4.8
211
+ rubygems_version: 2.7.10
207
212
  signing_key:
208
213
  specification_version: 4
209
214
  summary: Ruby Exploitation(REX) Library for scanning the SSL/TLS capabilities of a
metadata.gz.sig CHANGED
Binary file
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- sudo: false
2
- group: stable
3
- cache: bundler
4
- language: ruby
5
- rvm:
6
- - 2.3.2