rex-sslscan 0.1.3 → 0.1.7

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