SSLv3 POODLE Vuln

Ok, so this isn’t new news but rather than go through explaining what it is in a massive article, id rather just brief it but put possible ways to patch the vuln.

Firstly, what is it?

Basically it is information disclosure vulnerability known as POODLE. The vulnerability is due to the way SSL 3.0 handles padding bytes when decrypting messages encrypted using block ciphers in cipher block chaining (CBC) mode.

MitM attackers can decrypt a selected byte of a cipher text in as few as 256 tries if they are able to force a victim application to repeatedly send the same data over newly created SSL 3.0 connections.
As long as a client and service both support SSLv3, a connection can be ‘rolled back’ to SSLv3, even if TLSv1 or newer is supported by the client and service.

The TLS Fallback SCSV mechanism prevents ‘version rollback’ attacks without impacting legacy clients; however, it can only protect connections when the client and service support the mechanism. Sites that cannot disable SSLv3 immediately should enable this mechanism.

This is a vulnerability in the SSLv3 specification, not in any particular SSL implementation. Disabling SSLv3 is the only way to completely mitigate the vulnerability.

Secondly, how can we check for this?

well, firstly, don’t server SSLv3! just dont! But, i guess using the below you can actually check if you are vulnerable.

$ wget http://kb.sp.parallels.com/Attachments/kcs-40007/poodle.zip
$ unzip poodle.zip
$ chmod +x poodle.sh
$ for i in `echo 21 587 443 465 7081 8443 993 995 `; do /bin/bash ./poodle.sh <ip> $i; done
 Which may result in something like:
92.222.20.114:21 – Vulnerable! SSLv3 connection established using SSLv3/DHE-RSA-AES256-SHA
92.222.20.114:587 – Vulnerable! SSLv3 connection established using SSLv3/DHE-RSA-AES256-SHA
92.222.20.114:443 – Vulnerable! SSLv3 connection established using SSLv3/DHE-RSA-AES256-SHA
92.222.20.114:465 – Vulnerable! SSLv3 connection established using SSLv3/DHE-RSA-AES256-SHA
92.222.20.114:7081 – Not vulnerable. Failed to establish SSLv3 connection.
92.222.20.114:8443 – Vulnerable! SSLv3 connection established using SSLv3/DHE-RSA-AES256-SHA
92.222.20.114:993 – Vulnerable! SSLv3 connection established using SSLv3/AES256-SHA
92.222.20.114:995 – Vulnerable! SSLv3 connection established using SSLv3/AES256-SHA
But that’s besides the point. Simply do not serve SSLv3 anyway.
The most typical way to do this is locate your SSL Config file, usually ssl.conf and replace “SSLProtocol All -SSLv2″ with:

SSLProtocol all -SSLv2 -SSLv3 -TLSV1

Dont forget to then restart your Apache(httpd) service

To check what ciphers are available by your webservice currently you can run a quick script found at the bottom of this post.
This is the output you would see

Supported versions: SSLv3 TLSv1.0 TLSv1.1 TLSv1.2
Deflate compression: no
Supported cipher suites (ORDER IS NOT SIGNIFICANT):
SSLv3
RSA_WITH_3DES_EDE_CBC_SHA
DHE_RSA_WITH_3DES_EDE_CBC_SHA
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
RSA_WITH_CAMELLIA_256_CBC_SHA
DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
(TLSv1.0: idem)
(TLSv1.1: idem)
TLSv1.2
RSA_WITH_3DES_EDE_CBC_SHA
DHE_RSA_WITH_3DES_EDE_CBC_SHA
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
RSA_WITH_AES_128_CBC_SHA256
RSA_WITH_AES_256_CBC_SHA256
RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA256
DHE_RSA_WITH_AES_256_CBC_SHA256
RSA_WITH_CAMELLIA_256_CBC_SHA
DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
———————-
Server certificate(s):
0b356aa418e1f50d57e097cbf43ecd8b580c12e5: EMAILADDRESS=info@parallels.com, CN=Parallels Panel, OU=Parallels Panel, O=Parallels, L=Herndon, ST=Virginia, C=US
———————-
Minimal encryption strength: strong encryption (96-bit or more)
Achievable encryption strength: strong encryption (96-bit or more)
BEAST status: vulnerable
CRIME status: protected

wget http://www.bolet.org/TestSSLServer/TestSSLServer.jar
java -jar /usr/bin/TestSSLServer.jar domain.com

Comments

Popular posts from this blog

Null Session Domain Controller Enumeration

MS15-034: Vulnerability in HTTP.sys Could Allow Remote Code Execution

NetBIOS / NBNS Spoofing