How to bypass certificate pinning using Android-SSL-TrustKiller

บทนำ (Overview)

จากที่เคยนำเสนอบทความ “How to bypass certificate pining using SSL Kill switch” เราสามารถยกเลิกการเข้ารหัสโดยใช้ certificates เฉพาะที่ “Application” กำหนดเท่านั้นใน “Android” เช่นเดียวกับ “iOS” ทำให้สามารถดักอ่านข้อมูลที่ส่งผ่านไปยัง “server” โดยใช้ “certificate” ของ โปรแกรมประเภท “proxy”

ตัวโปรแกรม “Android-SSL-TrustKiller” ใช้ความสามารถของ “Cydia Substrate” ที่สามารถ “hook method” แบบต่าง ๆ เพื่อการ “Bypass Certificate Pining”

โดยพูดง่าย ๆ คือ เจ้าตัวโปรแกรมนี้สามารถทำให้โปรแกรมสามารถยอมรับ “SSL Certificate” ทุกชนิดรวมถึง “certificate” ของโปรแกรม “Proxy” ต่าง ๆ ทำให้สามารถดักจับข้อมูล HTTPs ได้นั้นเอง

ขั้นตอน (Steps)

  1. เครื่อง “Android” ต้อง “Root” เสียก่อน
  2. ทดลองดักจับข้อมูลโดยโปรแกรม “Burp” สามารถดาวน์โหลดได้จาก (http://portswigger.net/burp/download.html)
  3. จากนั้นเปิดโปรแกรม “Burp” และเปิดการใช้งาน Proxy server จากเมนู (Proxy > Options) ให้มีเครื่องหมายถูกที “Running” ตาม “IP address” และ “Port” ที่กำหนดไว้ดังรูป android-pining1
  4. จากนั้นตั้งค่า “Wifi” ที่เครื่อง “Android” ให้ชี้ไปยัง “Burp” จากตัวอย่าง (2) “IP” คือ “192.168.0.12” และ “Port” คือ “1234” โดย android-pining2
    • เลือกที่ “Wifi
    • เลือก “Modify network config”
    • เลือก “Show advanced options”
    • เลือก “Proxy settings เป็น Manual”
    • “Proxy host name” ให้กรอก “IP” ของ “Burp”
    • “Proxy port” ให้กรอก “port” ของ “Burp”
  5. ให้ใช้ “Web Browser” ของ “Android” เพื่อดาวน์โหลด “Certificate” ของ “Burp” android-pining5
    • โดยเข้าไปที่ http://192.168.0.12:1234
    • จากนั้นคลิก “CA Certificate”
  6. เมื่อโหลดมาตัว “cacert.der” จะอยู่ในโฟลเดอร์ “Download” จะต้องเปลี่ยนนามสกุลไฟล์จาก .der เป็น .cer เสียก่อนซึ่งสามารถทำได้ผ่านโปรแกรมเช่น “ES File Explorer” android-pining6
  7. จากนั้นติดตั้ง “cacert.cer” โดยไปที่ “Settings > Security > Install from device storage” ถ้าไม่ติดตั้ง “Pin Lock” ตัวระบบจะบังคับให้ตั้ง “Pin Lock” ของเครื่อง android-pining7
  8. ทดสอบดักข้อมูลผ่าน “Burp” โดยเปิดโปรแกรมบน “Android” ถ้าโปรแกรมมีการเขียนดัก “Certificate Pining” โปรแกรมอาจจะแจ้ง “Error” ต่าง ๆ หรือ ไม่สามารถใช้งานโปรแกรมได้ หรือโปรแกรมค้างและเด้งออกหน้าจอเป็นต้น
  9. ให้ติดตั้ง Android Cydia Substrate android-pining8
  10. เข้าไปในโรปแกรม “Cydia Substate” จากนั้นคลิก “Link Substrate Files”
  11. จากนั้นติดตั้ง Android SSL Trust Killer android-pining9
  12. เมื่อลงโปรแกรมเสร็จสิ้นให้ทำการ Restart จากเมนูในโปรแกรม “Cydia Substrate” android-pining4
  13. จากนั้นลองใช้งานโปรแกรม “Android” อีกครั้งโดยดักจับข้อมูลผ่าน “Burp” จะสามารถดักจับข้อมูล HTTPs ได้ android-pining3

เพิ่มเติม

สามารถดาวน์โหลดโปรแกรม “Android-SSL-TrustKiller” ได้ที่ https://www.dropbox.com/s/s542oprdjmlzbdc/Android-SSL-TrustKiller.zip?dl=0

ใส่ความเห็น