บทนำ (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)
- เครื่อง “Android” ต้อง “Root” เสียก่อน
- ทดลองดักจับข้อมูลโดยโปรแกรม “Burp” สามารถดาวน์โหลดได้จาก (http://portswigger.net/burp/download.html)
- จากนั้นเปิดโปรแกรม “Burp” และเปิดการใช้งาน Proxy server จากเมนู (Proxy > Options) ให้มีเครื่องหมายถูกที “Running” ตาม “IP address” และ “Port” ที่กำหนดไว้ดังรูป
- จากนั้นตั้งค่า “Wifi” ที่เครื่อง “Android” ให้ชี้ไปยัง “Burp” จากตัวอย่าง (2) “IP” คือ “192.168.0.12” และ “Port” คือ “1234” โดย
- เลือกที่ “Wifi
- เลือก “Modify network config”
- เลือก “Show advanced options”
- เลือก “Proxy settings เป็น Manual”
- “Proxy host name” ให้กรอก “IP” ของ “Burp”
- “Proxy port” ให้กรอก “port” ของ “Burp”
- ให้ใช้ “Web Browser” ของ “Android” เพื่อดาวน์โหลด “Certificate” ของ “Burp”
- โดยเข้าไปที่ http://192.168.0.12:1234
- จากนั้นคลิก “CA Certificate”
- เมื่อโหลดมาตัว “cacert.der” จะอยู่ในโฟลเดอร์ “Download” จะต้องเปลี่ยนนามสกุลไฟล์จาก .der เป็น .cer เสียก่อนซึ่งสามารถทำได้ผ่านโปรแกรมเช่น “ES File Explorer”
- จากนั้นติดตั้ง “cacert.cer” โดยไปที่ “Settings > Security > Install from device storage” ถ้าไม่ติดตั้ง “Pin Lock” ตัวระบบจะบังคับให้ตั้ง “Pin Lock” ของเครื่อง
- ทดสอบดักข้อมูลผ่าน “Burp” โดยเปิดโปรแกรมบน “Android” ถ้าโปรแกรมมีการเขียนดัก “Certificate Pining” โปรแกรมอาจจะแจ้ง “Error” ต่าง ๆ หรือ ไม่สามารถใช้งานโปรแกรมได้ หรือโปรแกรมค้างและเด้งออกหน้าจอเป็นต้น
- ให้ติดตั้ง Android Cydia Substrate
- เข้าไปในโรปแกรม “Cydia Substate” จากนั้นคลิก “Link Substrate Files”
- จากนั้นติดตั้ง Android SSL Trust Killer
- เมื่อลงโปรแกรมเสร็จสิ้นให้ทำการ Restart จากเมนูในโปรแกรม “Cydia Substrate”
- จากนั้นลองใช้งานโปรแกรม “Android” อีกครั้งโดยดักจับข้อมูลผ่าน “Burp” จะสามารถดักจับข้อมูล HTTPs ได้
เพิ่มเติม
สามารถดาวน์โหลดโปรแกรม “Android-SSL-TrustKiller” ได้ที่ https://www.dropbox.com/s/s542oprdjmlzbdc/Android-SSL-TrustKiller.zip?dl=0