บทนำ (Overview)
ในบทความนี้เราจะวิเคราะห์ถึงข้อมูลในหน่วยความจำ (Memory) ของโปรแกรมที่เขียนบน “iOS” กัน ซึ่งบางที่แล้วข้อมูลเช่น “username” “password” “OTP” “pincode” หรือ “session” เมื่อใช้งานเสร็จสิ้นก็ควรลบออกจากหน่วยความจำให้เรียบร้อย โดยบทความนี้จะใช้ Script ที่ชื่อ Fridump ในการดึงข้อมูลบน Memory ออกมาโดยเครื่อง iOS ไม่จำเป็นต้อง Jailbreak สามารติดตามวิธีการค้นหาโดยใช้ Cycript ได้จาก (How to find the sensitive information in memory)
ขั้นตอน (Steps)
- ติดตั้ง Frida ดังบทความต่อไปนี้
- สำหรับเครื่อง Jailbreak How to install Appmon on MACOS
- สำหรับเครื่องไม่ Jailbreak How to setup AppMon for a non jailbroken iOS device
- ติดตั้งโปรแกรมที่ต้องการทดสอบ สำหรับเครื่องไม่ Jailbreak จะต้องได้ไฟล์ ipa มาเสียก่อน (สามารถติดตามได้จากบทความ How to convert .app from Xcode to .ipa)
python ipa_installer.py -ipa DVIA.ipa
- ดาวน์โหลดโปรแกรม Fridump
git clone https://github.com/Nightbringer21/fridump.git
- จากโปรแกรมช่องโหว่ที่ติดตั้งให้เข้าไปที่หน้าต้องการดึงข้อมูลจาก Memory ตัวอย่างไปที่รายการ “Sensitive information in memory”
- จากนั้น Run คำสั่งดังนี้
//fridump.py โปรแกรม Fridump ที่ดาวน์โหลดมา //u เชื่อมต่อทาง usb //s จะบันทึกเป็น text ไฟล์ โดย Dump memeory ออกมาเป็น String ให้เราสามารถค้นหาอย่างสะดวก //r ใช้โหมด -read-only python fridump.py -u -s -r Gadget
- เมื่อเสร็จสิ้นให้ไปโฟลเดอร์ /dump ของ Fridump จะพบว่าไฟล์มากมาย
- เปิดไฟล์ string.txt แล้วค้นหา keyword สำคัญที่เกี่ยวกับรหัสผ่าน ได้ดังนี้
อ้างอิง