How to check SSLv3 CBC ciphers are allowed – POODLE (CVE-2014-3566)

บทนำ (Overview)

บทความนี้กล่าวถึงวิธีการตรวจสอบ “Sever” ที่ใช้ “HTTPs” ว่ามีช่องโหว่ “POODLE” หรือไม่ โดยใช้เครื่องมือที่สามารถหาดาวน์โหลดได้ทันทีทั้ง “offline” และ “online”

ช่องโหว่ “Poodle” – CVE-20140-3566 ย่อมาจาก “Padding Oracle On Downgraded Legacy Encryption” เป็นช่องโหว่ของ “Protocol SSL version 3” ที่ส่งผลให้สามารถถอดรหัสข้อมูลที่เข้ารหัสไว้ ระหว่างรับส่งกันกับ “Server” ได้ เช่นข้อมูล Login ข้อมูลธุรกรรมทางการเงิน และ”SSL” สามารถใช้ ได้ทั้ง “HTTPs” และ “FTPs”

ขั้นตอน (Steps)

On the Web

  1. เข้าไปที่ Web site (https://www.ssllabs.com/ssltest/)
  2. จากนั้นใส่ “URL” ที่ต้องการตรวจสอบไปที่ “Domain name” poodle1
  3. สามารถตรวจสอบได้ว่า Server มีช่องโหว่ POODLE หรือไม่ poodle2

Nmap

  1. เราสามารถใช้โปรแกรม “NMAP” สำหรับตรวจสอบ “POODLE” ได้โดยการดาวน์โหลดและติดตั้งจาก (https://nmap.org/download.html)
  2. จากนั้นเรียกใช้งานโปรแกรมจาก “command prompt” และใช้คำสั่งดังนี้สำหรับการ “Scan”
    nmap -sV --version-light --script ssl-poodle -p 443 xxx.com
    
  3. ถ้ามีช่องโหว่จะแสดงผลตามข้างล่าง
    Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2015-09-17 22:23 SE Asia Standard Time
    Nmap scan report for xxx.com (xxx.xxx.xxx.111)
    Host is up (0.052s latency).
    rDNS record for xxx.xxx.xxx.111: ec2-52-74-32-111.ap-southeast-1.compute.amazonaws.com
    PORT    STATE SERVICE  VERSION
    443/tcp open  ssl/http Apache httpd 2.2.22 ((Ubuntu))
    | ssl-poodle:
    |   VULNERABLE:
    |   SSL POODLE information leak
    |     State: LIKELY VULNERABLE
    |     IDs:  CVE:CVE-2014-3566  OSVDB:113251
    |           The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and
    |           other products, uses nondeterministic CBC padding, which makes it easier
    |           for man-in-the-middle attackers to obtain cleartext data via a
    |           padding-oracle attack, aka the "POODLE" issue.
    |     Disclosure date: 2014-10-14
    |     Check results:
    |       TLS_RSA_WITH_AES_128_CBC_SHA
    |       TLS_FALLBACK_SCSV properly implemented
    |     References:
    |       https://www.imperialviolet.org/2014/10/14/poodle.html
    |       http://osvdb.org/113251
    |       https://www.openssl.org/~bodo/ssl-poodle.pdf
    |_      https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
    
    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 22.33 seconds
    

testSSL.sh script

  1. ดาวน์โหลด “script” จาก (https://github.com/drwetter/testssl.sh)
  2. Run คำสั่งใน Kali หรือ Backtrack ดังนี้ (script ถูกวางไว้ที่หน้า Desktop)
    root@kali:~# cd /root/Desktop/
    root@kali:~/Desktop# ./testssl.sh xxx.com
    
  3. จากนั้นมาดูในส่วนของทดสอบช่องโหว่ พบว่า “POODLE, SSL (CVE-2014-3566)               VULNERABLE (NOT ok)”
    Testing vulnerabilities 
    
     Heartbleed (CVE-2014-0160)                not vulnerable (OK) (timed out)
     CCS  (CVE-2014-0224)                      not vulnerable (OK) 
     Secure Renegotiation (CVE 2009-3555)      not vulnerable (OK) 
     Secure Client-Initiated Renegotiation     not vulnerable (OK) 
     CRIME, TLS (CVE-2012-4929)                not vulnerable (OK) 
     BREACH (CVE-2013-3587)                    NOT ok: uses gzip HTTP compression  (only "/" tested)
     POODLE, SSL (CVE-2014-3566)               VULNERABLE (NOT ok) , uses SSLv3+CBC (no TLS_FALLBACK_SCSV mitigation tested)
     FREAK  (CVE-2015-0204), experimental      not vulnerable (OK) 
     BEAST (CVE-2011-3389)                     SSL3: ECDHE-RSA-DES-CBC3-SHA EDH-RSA-DES-CBC3-SHA
                                                     DES-CBC3-SHA 
                                               TLS1: ECDHE-RSA-DES-CBC3-SHA EDH-RSA-DES-CBC3-SHA
                                                     DES-CBC3-SHA 
                                               -- but also supports higher protocols (possible mitigation): TLSv1.1 TLSv1.2
     RC4 (CVE-2013-2566, CVE-2015-2808)        VULNERABLE (NOT ok): ECDHE-RSA-RC4-SHA  RC4-SHA  
    
    

 

ใส่ความเห็น