[รีวิว] eMAPT 2025 - Mobile Penetration Testing Certification ที่ข้อสอบเปลี่ยนไปหลังจากที่ผมกดซื้อคอร์ส!
English version of this article can be found here
ต้องเกริ่นก่อนว่า ตั้งแต่เข้ามาทำงานสาย Cybersecurity มา Mobile เป็นสายที่ผมแตะน้อยที่สุด อยู่มาวันหนึ่งเกิดความคิดขึ้นมาว่า อยากศึกษาเรื่อง Pentest Mobile เพิ่มมากขึ้น เลยเริ่มหาข้อมูล ศึกษาเพิ่มเติมไปเรื่อย ๆ จนไปเจอว่า มี Cert ตัวนึงที่รุ่นพี่ในบริษัทหลายคนสอบกัน แถมมีพี่เขียนรีวิวไว้ให้อ่านด้วย Cert ที่ว่าก็คือ eMAPT ของ INE Security พอผมไปอ่านรีวิวและดูรายละเอียดเพิ่มเติมก็พบว่า แนวข้อสอบเดิมเป็น Lab-based คือเขียนโค้ดเพื่อเจาะแอปภายใน 7 วัน ก็คิดในใจว่า น่าจะสอบสบาย ๆ ชิว ๆ เพราะเคยเขียน Android App มาบ้าง ลองเรียนสักพักน่าจะทำข้อสอบได้ เลยไปขออนุมัติทีม Lead เพื่อจะซื้อ Course เพื่อสอบ eMAPT และเมื่อได้รับอนุมัติก็ไปกดซื้อเลย ซึ่งโชคดีมากที่ตอนนั้นตัว Certificate ลดราคา เหลือแค่ 399 USD จากราคาเต็ม 599 USD ซึ่งแพ็กเกจที่ได้มาคือ คอร์สเรียน 3 เดือน พร้อม Voucher สอบ eMAPT และแล้วความบันเทิงก็เริ่มขึ้น
จาก eMAPT ตัวเก่า → eMAPT 2025 ตัวใหม่
วันถัดมาหลังจากซื้อเสร็จ ผมเข้าไปดู Exam Outline อีกที พอกดรีเฟรชหน้าเว็บเท่านั้นแหละ ปรากฏว่าทุกอย่างเปลี่ยน หน้าเว็บเปลี่ยนใหม่ Exam Outline เปลี่ยนใหม่หมด พอเข้าไปดูรายละเอียดการสอบก็เจอว่า ข้อสอบใหม่จะเริ่มใช้วันที่ 10 กรกฎาคม 2025 แปลว่า INE เปลี่ยนรูปแบบข้อสอบแบบยกเครื่องเลย จากเดิมที่ให้เวลา 7 วันในการเขียนแอปเพื่อ Exploit แอป → กลายเป็น สอบ Multiple Choice 45 ข้อ + Lab จริงอีก 2 ข้อ ภายใน 12 ชั่วโมง ผ่านระบบของ INE (ใครเคยสอบ Certificate ของทาง INE จะคุ้นระบบนี้) ตอนนั้นในหัวคือ "ชิบหายละ ผิดแผนหมด" ดูทรงแล้วน่าจะใช้เวลาเตรียมตัวนานกว่าเดิมแน่ ๆ ซึ่งไม่ใช่แค่ข้อสอบเท่านั้นที่เปลี่ยน ตัวคอร์สก็เปลี่ยนใหม่ทั้งหมด โดยถ้าอิงจากเนื้อหาในวิดีโอในคอร์ส ก็เห็นว่าได้อัดช่วงเดือน พฤษภาคม 2025 นี่เอง สดใหม่มาก เพิ่งผ่านมาไม่กี่เดือนเอง ถือว่า Up-to-date สุด ๆ
เนื้อหาที่น่าสนใจของ eMAPT
สิ่งที่ผมชอบในคอร์ส eMAPT คือ เค้าไม่ได้สอนแค่เทคนิคเจาะแอป แต่จะสอนให้เรามองมุมมองของ Attacker จริง ๆ โดยตัวคอร์สจะปูพื้นฐานตั้งแต่ให้เราเข้าใจ Architecture ของ Mobile App (ทั้งฝั่ง Android และ iOS), Common Vulnerabilities และ Tools ที่ใช้จริงในการทำ Mobile Pentest ไม่ว่าจะเป็น Dynamic/Static Analysis, Frida, Burp, Objection, รวมไปถึงการ Reverse APK และตัวคอร์สยังอิงตาม OWASP Mobile Top 10 เป็นหลัก ซึ่งช่วยให้เรามองภาพรวมได้ว่า ช่องโหว่แบบไหนที่เจอบ่อย และควรป้องกันยังไง ทั้งฝั่ง Client และ Server จากที่กล่าวมาข้างต้น จุดที่คอร์สนี้ให้ความสำคัญมากที่สุดคือ คอร์สพยายามปลูกฝัง Mindset ให้เรา คิดเหมือนแฮกเกอร์ แต่ทำงานเหมือนมืออาชีพ คือเราต้องเข้าใจวิธีโจมตี แต่ก็ต้องรู้ด้วยว่าควรป้องกันยังไงให้เหมาะสมกับระบบในองค์กร
รูปแบบการสอบ
การสอบทาง INE จะให้เราทำบน Debian VM (Emulator) ซึ่งข้างในนั้น จะมี Tools พื้นฐานให้ และมี Mobile Emulator พร้อม APK ที่เป็นโจทย์ติดตั้งมาให้แล้ว และแน่นอนครับ VM นี้ไม่สามารถต่อเน็ตได้
ข้อสอบทั้งหมด 45 ข้อ เป็นแบบ Multiple Choice + Text Field แบ่งออกเป็น 3 หมวดใหญ่ ๆ คือ
-
General 19 ข้อ
เป็นโจทย์เกี่ยวกับสถานการณ์สมมติ และพวก Methodology ต่าง ๆ เช่น แอป A เจอว่ามี Password ฝังอยู่ในโค้ด เราควรแนะนำยังไง ตัวโจทย์จะมีความยาวพอสมควรและต้องอ่านละเอียด ยิ่งข้อไหนอ่านครั้งแรกแล้วไม่เข้าใจก็ต้องวนอ่านซ้ำ ซึ่งเสียเวลาเยอะพอสมควร
-
Static Analysis 10 ข้อ
ใน VM จะมี Folder Static อยู่โดยข้างในนั้นจะมีไฟล์โค้ดอยู่ โดยคำถามจะถามเกี่ยวกับช่องโหว่ของโค้ดนั้น เช่น มีไฟล์โค้ดเกี่ยวกับ Weak Crypto ตัวโจทย์อาจจะถามว่า โค้ดจุดไหนคือช่องโหว่เป็นต้น ซึ่งถ้าไม่เคยเขียน Android App หรือไม่เคย Decompile Mobile App มาก่อน ส่วนนี้อาจยากเพราะบางทีดูโค้ดแล้วรู้สึกว่ามันก็ปกติ ทำให้ต้องใช้เวลาหาข้อมูลเพิ่มในระหว่างการสอบ
-
Dynamic & API Analysis 16 ข้อ
มี Lab ที่เป็น APK ติดตั้งใน Emulator ให้แล้วทั้งหมด 2 แอป โดยตัวโจทย์จะถามเกี่ยวกับช่องโหว่ หรือข้อมูลในแอปที่ให้มา ซึ่งเราก็จะต้องทำทั้ง Dynamic & Static Analysis และ API Pentest
รีวิวการสอบ
ส่วนของการรีวิวการสอบ ความคิดเห็นส่วนตัวของผม ส่วนแรกที่เป็น General Question นั้นไม่ยากมาก แต่เราต้องแม่นพวก Threat Modeling และ Methodology ต่าง ๆ พอสมควร และสามารถนำความรู้นั้นมาวิเคราะห์เพื่อตอบคำถามในเคสต่าง ๆ ได้
ส่วนที่ 2 ที่เป็น Static Analysis นั้นถ้าหากเราไม่เคยเขียน Android App มาก่อน หรือไม่เคย Decompile Mobile App มาก่อน ส่วนตัวคิดว่าจะค่อนข้างยากเพราะอาจจะจับจุดไม่ได้ หรือไม่เข้าใจในช่องโหว่นั้นที่โจทย์ถาม ซึ่งในตอนสอบ ผมก็มีบางข้อที่อ่านโค้ดไปก็คิดในหัวว่า "ก็ปกติเปล่านะ ไม่เห็นมีช่องโหว่เลย" ซึ่งก็ใช้เวลาพอสมควรในการ Research เพิ่มในตอนนั้นเลย ซึ่งถ้าเราอ่านหรือศึกษามามากกว่านี้ คิดว่าจะง่ายขึ้นมาก
ส่วนสุดท้ายเราต้อง Pentest APK ทั้ง 2 แอป ผมจะแบ่งเป็น 2 ส่วนคือ Dynamic Analysis และ API Pentest ในส่วนแรก ผมย้ำเลยว่าจำเป็นต้องทำ Dynamic Analysis เป็น คือเขียน Frida Script หรือใช้ Objection ได้ ถึงจะสามารถทำ 2 แอปนี้ได้ ซึ่งใน VM มี Frida และ Objection ให้ ซึ่งถ้าหากเราไม่สามารถทำ Dynamic Analysis ได้ เราก็จะไม่สามารถทำ API Pentest ในแอปต่อได้ ส่วนที่ 2 API Pentest ส่วนตัวคิดว่าถ้าเราเคยทำ Pentest Website หรือเคยเล่น CTF มาก็น่าจะพอทำได้ เพราะส่วนใหญ่จะเป็นช่องโหว่ที่พบเจอได้บ่อย ๆ ไม่ซับซ้อน
สุดท้ายสิ่งที่สำคัญที่สุดคือ ระหว่างที่เราสอบควรหมั่นจดสิ่งที่ทำไป หรือจดสคริปต์ ผลลัพธ์ต่าง ๆ ออกมาด้วย เพราะด้วยการที่เราต้องทำให้ VM ของทาง INE ซึ่งในบางครั้งถ้าหากเรารันอะไรหนัก ๆ หรือไปทำอะไรแปลก ๆ มันอาจจะ Crash ได้ และสิ่งที่เราทำมาใน VM Session นั้นก็จะหายไปทั้งหมด ต้อง Start VM ใหม่เริ่มกันใหม่ทั้งหมด ซึ่งถ้าเราไม่จดคำสั่ง หรือ Script ออกมา แล้ว VM Restart นี่มีน้ำตาเล็ดแน่
eMAPT Certificate ที่ได้รับหลังสอบผ่าน : https://certs.ine.com/90fd4d98-aacc-42bc-b9b9-7b7e1a4e8b3c
ข้อแนะนำในการสอบ
หัวข้อนี้จะพูดถึงทั้งการเตรียมตัวก่อนสอบ และเทคนิคเล็ก ๆ น้อย ๆ ที่ช่วยให้ทำข้อสอบได้ดีขึ้นครับ ถ้าหากเราเรียน Course จบหมดแล้ว สิ่งที่ผมจะแนะนำต่อมาเลยคือ เข้าไปลองเล่น Lab ที่เค้าเตรียมไว้ให้ ลองเขียน Script Bypass หรือใช้ Tools ที่ไม่เคยใช้มาก่อนให้เราคุ้นเคย เช่น เขียน Frida เพื่อ Bypass Function ในแบบต่าง ๆ ลองหลาย ๆ วิธีดู อีกอย่างที่สำคัญมาก ๆ คือ ต้องเข้าใจช่องโหว่ใน OWASP Top 10 ให้ดี อย่างน้อยควรจะดูออกว่า Output แต่ละแบบนั้นมีโอกาสเป็นช่องโหว่อะไรได้บ้าง
พอถึงเวลาสอบจริง แนะนำว่าให้วางแผนล่วงหน้า แบ่งเวลาให้ชัด เพราะข้อสอบค่อนข้างยาว ถ้าไม่วางแผนก่อนอาจเสียเวลาเยอะ และระหว่างทำโจทย์ อย่าลืมจดให้ละเอียดที่สุดเท่าที่จะทำได้ ด้วยการที่เราต้องทำข้อสอบใน VM ของทาง INE ซึ่งในบางครั้งถ้าหากเรารันคำสั่งเยอะไป หรือรันคำสั่งอะไรหนัก ๆ ก็อาจจะทำให้ระบบ Crash ได้ ซึ่งจะทำให้สิ่งที่เราทำมาใน VM Session นั้นหายไปทั้งหมด ต้อง Restart VM ใหม่และเริ่มกันใหม่ทั้งหมด ดังนั้นการที่เราจดบันทึกให้ละเอียดไม่ใช่แค่กัน VM Restart แต่เวลาเรากลับมาไล่ดู จะได้ไม่หลงว่าทำถึงไหนแล้ว หรือลืมอะไรไปบ้าง
Vulnerable Application Lab ที่แนะนำ
- https://github.com/hax0rgb/InsecureShop
- https://github.com/dineshshetty/Android-InsecureBankv2
- https://github.com/satishpatnayak/AndroGoat
- https://github.com/t0thkr1s/allsafe
- https://mas.owasp.org/crackmes/
สรุป
โดยรวมแล้ว eMAPT เป็นคอร์สที่เหมาะมากสำหรับคนที่อยากเริ่ม Mobile Pentest แบบเข้าใจพื้นฐานจริง ๆ โดยเฉพาะคนที่มีพื้นฐาน Pentest เว็บหรือเคยเล่น CTF มาก่อน ซึ่งคอร์สนี้ไม่ได้เน้นแค่เทคนิคเจาะแอป แต่โฟกัสที่ Mindset ของคนทำ Pentest จริง ๆ คือเราต้องเข้าใจว่าคนโจมตีคิดยังไง แล้วจะป้องกันยังไงให้เหมาะสมกับระบบจริง ไม่ใช่แค่เจาะได้เฉย ๆ