Bypass Certificate Pinning on a Flutter-based iOS App

ไม่กี่ปีที่ผ่านมาผมกับทีมได้มีโอกาสทดสอบความปลอดภัยให้กับแอปที่ถูกพัฒนาด้วยเฟรมเวิร์ค Flutter เราติดปัญหาเรื่องการ bypass certificate pinning เพราะตอนนั้นยังแทบไม่มีบทความหรือ research เกี่ยวกับการ penetration test แอปที่เขียนด้วย Flutter เลย แต่ยังโชคดีที่ project lead ของผมเค้าไปหาวิธีมาจนได้จาก blog ของ NVSIO (https://blog.nviso.eu/2020/06/12/intercepting-flutter-traffic-on-ios/). แต่พอมาเร็ว ๆ นี้ผมเริ่มรู้สึกกลับมาติดปัญหาเรื่องนี้อีกครั้ง วันนี้จะพามาดูวิธีที่ผมใช้เพื่อ bypass certificate pinning ของ iOS app ที่เขียนด้วย Flutter กัน

อ่านเพิ่มเติม

ตั้งค่า Proxy ของ เครื่องโทรศัพท์ Android โดยใช้คำสั่ง

เมื่อต้องการตั้งค่า Proxy เพื่อดักจับข้อมูลของเครื่องโทรศัพท์ android แล้วบางทีเราต้องการปลดค่า และตั้งใหม่ วนไปแบบนี้ อาจเกิดความลำบากในการตั้งซ้ำ ๆ เป็นประจำ วิธีการดังกล่าวอาจช่วยลดระยะเวลาการตั้งค่าเพื่อนำไปสู่การทดสอบที่ง่ายขึ้น

อ่านเพิ่มเติม

How to setup Frida for Android Studio Emulator (AVD)

สำหรับการใช้งาน Android Virtual Device (AVD) ในงาน Penetration Test นอกจากการ Root AVD แล้วยังมีการติดตั้ง Frida Server บน AVD อีกด้วย ในบทความนี้จะกล่าวถึงขั้นตอนการการติดตั้ง Frida Server บน AVD ที่ได้ทำการ Root เป็นที่เรียบร้อยแล้ว How to root Android Studio Emulator (AVD) with Magisk รวมถึงการติดตั้ง Frida Client ที่เครื่อง Host ที่เป็น Windows

อ่านเพิ่มเติม

Flutter – TLS Certificate Pinning Sample

TLS Certificate Pinning ช่วยทำให้แอปสามารถตรวจสอบได้ว่าบริการ TLS/SSL ที่กำลังจะเชื่อมต่อนั้นเป็นเป็นบริการที่รันอยู่บน server เดียวกันกับที่แอปรู้จักไหม เพื่อป้องกันการดัก traffic ด้วย proxy ในเบื้องต้นก่อน (ความเป็นจริงแล้วการ implement security control ฝั่ง client side มันย่อมมีแนวโน้มว่าจะถูก bypass ได้ แต่ทำไว้ยังดีกว่าไม่ทำเลย) หลายครั้งที่ต้องเรสประเด็นว่าแอปไม่มีการตรวจสอบ TLS certificate ของบริการ TLS/SSL ที่ตัวมันต้องเชื่อมต่อยิ่งเป็นแอปที่มีความสำคัญพวก financial app แล้วยิ่งต้องถูกกำกับด้วยข้อบังคับต่าง ๆ นานา ผู้พัฒนาแอปจึงจำเป็นที่ต้องพัฒนาแอปให้สอดคล้องกับข้อบังคับเหล่านั้น

อ่านเพิ่มเติม

How to root Android Studio Emulator (AVD) with Magisk

ในปัจจุบัน Android Virtual Device (AVD) ที่มากับ Android Studio ยังไม่มีฟังก์ชันเปิด/ปิดการ Root เครื่องเหมือน Android Emulator ตัวอื่นๆ และ AVD ที่สร้างขึ้นมาจะเป็นแบบ Non-Root โดยบทความนี้จะกล่าวถึงขั้นตอนการ Root AVD โดยใช้ Magisk

อ่านเพิ่มเติม