{"id":1745,"date":"2016-07-10T21:02:17","date_gmt":"2016-07-11T03:02:17","guid":{"rendered":"http:\/\/www.supportpro.com\/blog\/?p=1745"},"modified":"2019-08-20T05:14:15","modified_gmt":"2019-08-20T11:14:15","slug":"drown-attack-sslv2-vulnerablity","status":"publish","type":"post","link":"https:\/\/www.supportpro.com\/blog\/drown-attack-sslv2-vulnerablity\/","title":{"rendered":"DROWN Attack \u2013 SSLv2 Vulnerablity"},"content":{"rendered":"<p>Security researchers identified a new OpenSSL vulnerability, called <strong>DROWN<\/strong>( Decrypting RSA with Obsolete and Weakened Encryption ) on March 2016. This attack was focused on servers that use the more secure TLS protocol, which also supports the obsolete SSLv2.This vulnerability allows an attacker to decrypt the highly secured TLS encrypted communication if the server houses SSLv2 cipher support.<\/p>\n<p>DROWN was assigned the <strong>CVE-2016-0800<\/strong> id by the us-nert on the march (https:\/\/www.us-cert.gov\/ncas\/bulletins\/SB16-067 ).<\/p>\n<p>More than 11 million websites that use TLS were vulnerable to DROWN attack. If your website is protected by TLS and your server directly on indirectly supports the older SSLv2, you are also vulnerable and an attacker may exploit it to get important information such as user names, password, financial credentials, important documents ..etc.<!--more--><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Are You Vulnerable to DROWN?<\/strong><\/span><\/p>\n<p>You can use the tool <strong>SSLyze<\/strong> to find whether you are open to DROWN attackers. SSLyze is an SSL scanning tool which scans the specified port on the specified IP to detect whether the SSLv2 ciphers are supported. SSLyze tool can be downloaded and installed directly from https:\/\/pypi.python.org\/pypi\/SSLyze<\/p>\n<p>Syntax: <em>sslyze_cli.py &#8211; -sslv2\u00a0 ip:port<\/em><\/p>\n<p>You have to execute the command for each public IP, Port combinations correspond to every open port which uses TLS protocol.<\/p>\n<p>For a secure server , while executing the command<\/p>\n<p><em>Syntax: sslyze_cli.py &#8211; -sslv2\u00a0 ip:port<\/em><\/p>\n<p>May produce results like :<\/p>\n<p>SCAN RESULTS FOR <em>192.168.0.xx:443<\/em><br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n* SSLV2 Cipher Suites:<br \/>\nRejected:<br \/>\nTLS_RSA_WITH_NULL_MD5 TCP \/ Received RST<br \/>\nSSL_CK_RC4_64_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_RC4_128_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_RC4_128_EXPORT40_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_RC2_128_CBC_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_IDEA_128_CBC_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_DES_64_CBC_WITH_MD5 TCP \/ Received RST<br \/>\nSSL_CK_DES_192_EDE3_CBC_WITH_MD5 TCP \/ Received RST<\/p>\n<p>Which indicates all SSLv2 request were rejected.<\/p>\n<p>But on the other hand, if the server\u00a0 is vulnerable it may produce something like:<\/p>\n<p>SCAN RESULTS FOR <em>192.168.0.xx:443<\/em><br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\n* SSLV2 Cipher Suites:<br \/>\nPreferred:<br \/>\nSSL_CK_RC2_128_CBC_WITH_MD5 &#8211; 128 bits<br \/>\nAccepted:<br \/>\nSSL_CK_RC4_128_WITH_MD5 &#8211; 128 bits<br \/>\nSSL_CK_RC2_128_CBC_WITH_MD5 &#8211; 128 bits<br \/>\nSSL_CK_DES_192_EDE3_CBC_WITH_MD5 &#8211; 112 bits<br \/>\nSSL_CK_DES_64_CBC_WITH_MD5 &#8211; 56 bits<br \/>\nSSL_CK_RC4_128_EXPORT40_WITH_MD5 &#8211; 40 bits<br \/>\nSSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 &#8211; 40 bits<\/p>\n<p>This has to be checked on every open port on the server that uses TLS protocol, which may include 465(SSL \u2013 SMTP), 993 (SSL \u2013 IMAP), 995 (SSL \u2013 POP3),etc.If any of these port in the server has SSLv2 enabled then server is vulnerable to DROWN.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Who Else Are Vulnerable?<\/strong><\/span><\/p>\n<p>From the above scan if you detect SSLv2 enabled for any service, then the server is vulnerable. Also, all the servers that share private key \u2013 certificate pair with your server is also vulnerable to <a href=\"https:\/\/drownattack.com\/\">DROWN attack<\/a>.<br \/>\nThis means a web server secured with TLS with SSLv2 not enabled for any service may also become vulnerable to DROWN if a mail server that shares the same certificate-key pair has SSLv2 cipher enabled.<\/p>\n<p><a class=\"lightbox\" href=\"https:\/\/www.supportpro.com\/freecheckup.php\" rel=\"attachment wp-att-1746\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-1746 size-full\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2016\/07\/drown1.jpg\" alt=\"Drown attack\" width=\"741\" height=\"407\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2016\/07\/drown1.jpg 741w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2016\/07\/drown1-300x165.jpg 300w\" sizes=\"(max-width: 741px) 100vw, 741px\" \/><\/a><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>How To Secure Server From DROWN Vulnerability?<\/strong><\/span><\/p>\n<p>To prevent servers from DROWN vulnerability, theSSLv2 has to be completely disabled in all the servers and services. Same time private key \u2013 certificate pair should not be shared with any other server(SMTP, IMAP, POP3, etc) that has SSLv2 enabled.<\/p>\n<p><span style=\"text-decoration: underline;\">Securing a Linux Server From DROWN attack:<\/span><\/p>\n<p>It can be accomplished in different ways, of which the two easiest and effective methods are,<\/p>\n<p>I.U<strong>pdate OpenSSL<\/strong><\/p>\n<p>Updating the OpenSSL version to 1.0.1.s or 1.0.2.g.That is OpenSSL 1.0.1 should be updated to 1.0.1.s and similarly OpenSSL 1.0.2 to 1.0.2.g.<\/p>\n<p>In <a href=\"https:\/\/www.centos.org\/\">CentOS<\/a> and <a href=\"https:\/\/www.redhat.com\/en\">Redhat<\/a> servers <a href=\"https:\/\/www.openssl.org\/\">OpenSSL<\/a> this can be done using yum,<\/p>\n<p>#<em> yum update openssl<\/em><\/p>\n<p>In Ubuntu and Debian\u00a0 servers,<\/p>\n<p># <em>apt-get install &#8211;only-upgrade libssl1.0.0 openssl<\/em><\/p>\n<p>II.<strong>Prevent DROWN by disabling SSLv2 for services<\/strong><\/p>\n<p>We have to disable SSlv2 manually for Apache, Postfix, Exim and other services in the server.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Disabling for Apache<\/strong><\/span><\/p>\n<p>We have to edit \/etc\/httpd\/conf\/httpd.conf and add below lines to disable obsolete SSLv2 and SSLv2 versions.<\/p>\n<p>SSLProtocol All -SSLv2 -SSLv3<br \/>\nSSLCipherSuite EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256<br \/>\nSSLHonorCipherOrder on<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Disabling for Postfix<\/strong><\/span><\/p>\n<p>Edit postfix configuration file ( \/etc\/postfix\/master.cf) to following configuration;<\/p>\n<p>smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3<br \/>\nsmtp_tls_mandatory_protocols=!SSLv2,!SSLv3<br \/>\nsmtpd_tls_protocols=!SSLv2,!SSLv3<br \/>\nsmtp_tls_protocols=!SSLv2,!SSLv3<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Disabling for Exim<\/strong><\/span><\/p>\n<p>Edit the exim configuration file (\/etc\/exim.conf) as follows<br \/>\nALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:!SSLv2:!SSLv3<\/p>\n<p>If you require help, <a href=\"https:\/\/www.supportpro.com\/requestquote.php\">contact SupportPRO Server Admin<\/a><\/p>\n<p style=\"text-align: center;\"><!--HubSpot Call-to-Action Code --><span id=\"hs-cta-wrapper-9d590242-d641-4383-94b4-8cfd62f0af6b\" class=\"hs-cta-wrapper\"><span id=\"hs-cta-9d590242-d641-4383-94b4-8cfd62f0af6b\" class=\"hs-cta-node hs-cta-9d590242-d641-4383-94b4-8cfd62f0af6b\"><!-- [if lte IE 8]><\/p>\n\n\n\n\n\n<div id=\"hs-cta-ie-element\"><\/div>\n\n\n<![endif]--><a href=\"https:\/\/www.supportpro.com\/requestquote.php\"><img decoding=\"async\" id=\"hs-cta-img-9d590242-d641-4383-94b4-8cfd62f0af6b\" class=\"hs-cta-img\" style=\"border-width: 0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2725694\/9d590242-d641-4383-94b4-8cfd62f0af6b.png\" alt=\"Server not running properly? Get A FREE Server Checkup By Expert Server Admins - $125 Value\" \/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2725694, '9d590242-d641-4383-94b4-8cfd62f0af6b', {}); <\/script><\/span><!-- end HubSpot Call-to-Action Code --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Security researchers identified a new OpenSSL vulnerability, called DROWN( Decrypting RSA with Obsolete and Weakened Encryption ) on March 2016. This attack was focused on servers that use the more&hellip;<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[4,3],"tags":[],"class_list":["post-1745","post","type-post","status-publish","format-standard","hentry","category-server-security","category-technical-articles"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/1745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/comments?post=1745"}],"version-history":[{"count":8,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/1745\/revisions"}],"predecessor-version":[{"id":4068,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/1745\/revisions\/4068"}],"wp:attachment":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media?parent=1745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/categories?post=1745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/tags?post=1745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}