1

Running a Qualys scan showed that the IP was vulnerable to a Sweet32 attack, here is the output:

TLSv1 WITH 64-BIT CBC CIPHERS IS SUPPORTED                  
DES-CBC3-SHA    RSA RSA SHA1    3DES(168)   MEDIUM
TLSv1.1 WITH 64-BIT CBC CIPHERS IS SUPPORTED                    
DES-CBC3-SHA    RSA RSA SHA1    3DES(168)   MEDIUM
TLSv1.2 WITH 64-BIT CBC CIPHERS IS SUPPORTED                    
DES-CBC3-SHA    RSA RSA SHA1    3DES(168)   MEDIUM

Then I ran nmap which output the following

443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA (rsa 2048) - C
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       64-bit block cipher 3DES vulnerable to SWEET32 attack
|_  least strength: C

Which seems to match the Qualys scan. But then I tried to confirm via OpenSSL running

openssl s_client -connect ipimscanning -tls1 -cipher 'DES-CBC3-SHA'

Which throws an error that seems to say this cipher is not available on the target

error:1410D0B9:SSL routines:SSL_CTX_set_cipher_list:no cipher match

I can connect fine using another cipher for example

openssl s_client -connect ipimscanning -tls1 -cipher 'AES128-SHA'

The above runs fine and connects. Why might nmap and Qualys say that the cipher is available, but OpenSSL cannot connect?

1 Answer 1

2

That error means that the openssl tool could not find a cipher that matches "DES-CBC3-SHA" so it did not even attempt to connect. Your OpenSSL has been built without 3DES support (as has mine, OpenSSL 1.1.0g on Ubuntu 18.04).

The actual output when there's a mismatch looks like this:

$ openssl s_client -connect example.com:443 -cipher CHACHA20
CONNECTED(00000003)
140576084648384:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1399:SSL alert number 40
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 128 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1550260584
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---
3
  • Ah, I see. Is there a way to get openssl with 3DES support? Are there alternatives to openssl that would support what I'm trying to do?
    – trallgorm
    Commented Feb 15, 2019 at 20:03
  • @trallgorm You can build it yourself from source. What are you trying to do, really? You already have 2 independent reports of the cipher being enabled. You could packet capture the whole scan and analyze it if you don't believe them. Commented Feb 15, 2019 at 20:42
  • I'm trying to demonstrate that the server does in fact accept 3DES ciphers. I suppose that two tools saying might be enough but a direct demonstration that it's possible will likely be more effective.
    – trallgorm
    Commented Feb 15, 2019 at 20:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .