Review การสอบ รวมถึงแนะนำถึงการเตรียมตัวสำหรับการสอบ สำหรับ eMAPT — Mobile Application Penetration Tester
สวัสดีครับ วันนี้เราจะมา review การสอบ รวมถึงแนะนำถึงการเตรียมตัวสำหรับการสอบ สำหรับ eMAPT — Mobile Application Penetration Tester
ทำความรู้จักกับ Disassembly และ Decompilation กันเถอะ !
โดยก่อนที่จะไปเรื่อง review การสอบ มาทำความรู้จักกับ Disassembly และ Decompilation
- Disassembly
จะเป็นการใช้ apktool หรือ tool ที่สามารถแปลง application ให้กลายเป็น .smali ซึ่ง key ของอันนี้จะเป็นการที่สามารถนำมา modified หรือ patch app ซึ่งสามารถนำกลับไป reassembly เป็น app ใหม่ได้
ตัวอย่าง
DoLogin.smali — onCreate
- Decompilation
จะเป็นการใช้ jadx หรือ tool ที่สามารถแปลง application ให้กลายเป็น .java ซึ่งไว้สำหรับทำความเข้าใจได้ง่ายกว่า .smali แต่ไม่สามารถนำกลับไปเป็น app ใหม่ได้
ตัวอย่าง
DoLogin.java — onCreate
eMAPT — eLearnSecurity Mobile Application Penetration Tester
eMAPT เป็น certificate ที่จะทดสอบเราว่าสามารถหาช่องโหว่ของ mobile application เป้าหมาย ซึ่งเป็นเฉพาะในส่วนของ Android โดยทำ decompilation เพื่อแปลง app มาให้กลับเป็น .java เพื่อทำการอ่าน code ว่ามีการทำงานอย่างไรและมีช่องโหว่ที่สามารถโจมตีได้ที่ไหน และมี key หลักที่จำเป็นต้องสร้าง mobile application ขึ้นมาเพื่อโจมตีช่องโหว่เหล่านั้น
Skills ที่จำเป็นสำหรับการสอบครั้งนี้ คือ MASPT
โดยในส่วนของ eMAPT นั้นต้องการสกิลที่จะใช้ในการทำ Mobile Application Security and Penetration Testing นั้นมีดังต่อไปนี้
- Mobile Application Penetration Testing
- Mobile Application Reverse Engineering
- Mobile Application Static & Dynamic Analysis
- Android & iOS Security Internals (สำหรับ iOS ยังไม่มีความจำเป็นกับการสอบครั้งนี้)
- Custom Attacking Mobile Application Development
eMAPT Exam Guide
Certificate ของ eLearnSecurity Mobile Application Penetration Tester นั้นเป็นการแสดงว่าผู้ที่ทำการทดสอบนั้นมีความรู้
เป็น professional ด้าน cyber security หรือไม่ รวมถึงบอกได้ว่าผู้ทดสอบนั้นสามารถทำ pentest กับ real-world mobile app ได้จริง
ในส่วนของ prerequisites ที่ผู้ทดสอบจำเป็นต้องใช้ในการสอบนั้นมีดังต่อไปนี้
- Letters of engagement and the basics related to a penetration testing engagement
- Android applications architecture, security mechanisms and components
- Vulnerability assessments of mobile applications
- Performing Android application reverse engineering and algorithm analysis
- Encryption/decryption algorithms
- Performing manual exploitation
ผู้ทดสอบยังจำเป็นต้องมีความรู้ในส่วนของ knowledge domain ที่ต้องมีดังต่อไปนี้
- Information Gathering
- Reverse engineering Android applications
- Exploit Android vulnerabilities
- Applied security principles
- Logic flaws
- Exploit development for Android environments
- Encryption and cryptography
- Identify vulnerable implementations
Source: https://elearnsecurity.com/wp-content/uploads/exam-guides/pdfs/eMAPT%20Exam%20Guide.pdf
เกี่ยวกับ eMAPT
ควรซื้อช่วงไหน
eMAPT จากช่วง black friday 2023 นั้นยังมีให้เห็นว่ามีลดราคา 50% ต่างจากตัวของ eWAPT โดยในส่วนที่ซื้อนี้จะเป็นเพียงแค่ voucher เพื่อทำการสอบ certificate ซึ่งไม่ได้มีให้เรียนโดยราคาอยู่ที่ 200 usd หรือ ช่วงอื่น ๆ ที่ไม่ใช่ black friday บางทีก็มีลดราคาเช่นกัน แต่โดยปกติแล้วถ้าในด้านการลดราคาจะมีการลดราคา voucher เยอะที่สุดในช่วง black friday หรือก็คือช่วงเดือน พฤศจิกายน ของทุกปี โดยสามารถตามข่าวผ่านช่องทาง social ต่าง ๆ เพื่อเช็คดูประวัติช่วงลดราคาของ certificate นี้ได้ หรือถ้ามี coupon code ตามเทศกาลอื่น ๆ ก็จะสามารถลดราคาได้เช่นกัน
ตัวอย่างการลดราคาในปี 2023 นี้
สามารถซื้อได้ที่ไหน
สามารถซื้อได้ที่ INE Security (eLearnSecurity)
Source: https://security.ine.com/certifications/emapt-certification/
หลังซื้อแล้วต้องสอบทันทีหรือไม่
ไม่จำเป็นต้องสอบทันที แต่ระยะเวลา voucher นั้นต้องใช้ภายใน 6 เดือนหลังจากที่ได้มีการซื้อมา โดยเราสามารถเลือกวันที่ต้องการสอบได้เลยโดยไม่ต้องทำการจอง
ระยะเวลาการสอบ
หลังจากเริ่มการสอบไป เราจะมีเวลาทำ 7 วัน ในการทำการทดสอบเท่านั้น ให้ทำการอัพโหลดไฟล์ส่งให้เรียบร้อยเมื่อทำเสร็จ
ไม่ต้องทำ Report !!!!!
eMAPT นั้นส่งเป็น source code และ ไฟล์ .apk จึงไม่จำเป็นต้องทำ report แล้ว
ถ้าสอบตกต้องซื้อใหม่หรือไม่
สามารถทำการสอบซ่อมต่อจากเดิมฟรีได้ 1 ครั้ง โดยหลังจากที่ส่ง source code และ ไฟล์ .apk ไปรอบแรก ระยะเวลาการรอตรวจจะอยู่ประมาณ 2–4 สัปดาห์ (ส่วนใหญ่ 2 สัปดาห์) หรือ อาจมากกว่านั้น และจะมีการขึ้นผลว่าเราผ่านหรือไม่ผ่านแต่จำเป็นต้องกดเปิดดูโดยถ้าเราไม่ผ่าน ทางคนตรวจจะมีการส่ง hint เล็กน้อยว่าเราอะไรไปหรือยังไม่เรียบร้อยในส่วนไหน แล้วเราต้องทำการสอบซ่อมต่อจากเดิมอีก 7 วัน ทันทีให้เสร็จถ้ามีการเปิดดูผลสอบแล้ว
การเตรียมตัวสำหรับการสอบ
INE Security Premium Subscription
โดยทาง INE Security ได้มี course ที่เป็นในส่วนของการเรียน Mobile Application Penetration Testing แต่จำเป็นต้อง subscription ซึ่งจะแตกต่างกับ eWPT ที่ซื้อเป็น bundle แล้ว จะได้ premium 3 เดือนให้เรียนด้วย
โดยราคาสำหรับการซื้อ Subscriptions มีราคาตามนี้
โดยสามารถเข้าไปดูได้ที่ Source: https://my.ine.com/CyberSecurity/learning-paths/eec5479e-a8d1-4803-817f-c016bb528639/mobile-application-penetration-testing-professional
Lab สำหรับปูทางพื้นฐานที่แนะนำ
1. DIVA (Damn insecure and vulnerable App)
เป็น lab ที่ปูพื้นฐานเกี่ยวกับช่องโหว่ที่พบได้บ่อยบน mobile application
โดยมีเนื้อหาที่เน้นอยู่ที่ 5 หัวข้อ
- Insecure Logging
- Hardcoding Issues
- Insecure Data Storage
- Input Validation Issues
- Access Control Issues
Link: https://github.com/payatu/diva-android
2. InsecureBankv2
เป็น lab ที่จำลอง app ธนาคารสมัยก่อนว่ามีช่องโหว่ประมาณไหนบ้าง โดยมีช่องโหว่จำนวนค่อนข้างหลากหลายและไว้ปูพื้นฐานสำหรับสร้าง application มาโจมตีช่องโหว่
- Flawed Broadcast Receivers
- Intent Sniffing and Injection
- Weak Authorization mechanism
- Local Encryption issues
- Vulnerable Activity Components
- Root Detection and Bypass
- Emulator Detection and Bypass
- Insecure Content Provider access
- Insecure Webview implementation
- Weak Cryptography implementation
- Application Patching
- Sensitive Information in Memory
- Insecure Logging mechanism
- Android Pasteboard vulnerability
- Application Debuggable
- Android keyboard cache issues
- Android Backup vulnerability
- Runtime Manipulation
- Insecure SDCard storage
- Insecure HTTP connections
- Parameter Manipulation
- Hardcoded secrets
- Username Enumeration issue
- Developer Backdoors
- Weak change password implementation
Link: https://github.com/dineshshetty/Android-InsecureBankv2
3. MASTG Hacking Playground
เป็น lab จากทาง OWASP เลย ในส่วนนี้จะเป็นช่องโหว่ที่พบเจอใน real world pentest กันค่อนข้างเยอะ แต่สำหรับช่องโหว่พื้นฐานก็มีอยู่เหมือนกัน
Link: https://github.com/OWASP/MASTG-Hacking-Playground
Tool
1. Apktool
เป็นที่ไว้สำหรับ Disassemble, Assemble application เพื่อให้ได้ .smali ออกมา แล้วสามารถทำการแก้ไขและ build application กลับขึ้นมา
Link: https://apktool.org/
2. Jadx
ไว้สำหรับการ decompile app เป็น java แบบที่สามารถนำ code มาอ่านได้
Link: https://github.com/skylot/jadx
3. AndroidStudio
เป็น tool ที่จำเป็นที่สุดแล้วสำหรับการทำครั้งนี้
- เป็นที่สร้าง project เพื่อ test หรือ build application ขึ้นมา
- สามารถใช้สร้าง emulator สำหรับ api level ต่าง ๆ หรือ target sdk ที่ต้องการ (หรือสามารถใช้งานเป็นเครื่องที่เรามีได้ แต่แนะนำว่าให้ build emulator เพราะสำหรับ eMAPT แล้วมีการกำหนด target sdk ที่ต้องการไว้อยู่)
Link: https://developer.android.com/studio
Conclusion
จบกันไปสำหรับบทความนี้ครับ หวังว่าทุกท่านจะได้ประโยชน์ในการเตรียมตัวสำหรับสอบ eMAPT ในครั้งนี้ ซึ่งเป็น certificate ที่เหมาะสำหรับคนที่ต้องการสอบสำหรับ mobile penetration tester skill
Happy Hacking!