The 2016 SANS Holiday Hack Challenge Write-Ups (Part 2/5)

หลังจากที่ผ่าน Part 1: A Most Curious Business Card กันมาแล้ว ในบทความนี้จะเป็นส่วน Part 2: Awesome Package Konveyance ครับ
Part 2: Awesome Package Konveyance
สำหรับใน Part นี้ มี 2 คำถาม ที่เราจะต้องหาคำตอบให้ได้ คือ
- What username and password are embedded in the APK file ?
- What is the name of the audible component (audio file) in the SantaGram APK file ?
หลังจากที่ผ่าน Part แรกไป ได้ไฟล์ SantaGram_v4.2.apk** มา ใน Part 2 นี้ต้องเอาไฟล์ที่ได้มาหาข้อมูลกันต่อครับ ในเกมส์ 8 bits นั้น มี NPC ที่เป็น Elf อยู่หลายตัว หาก Click ไปที่ NPC ในแต่ละตัวก็จะบอก Hint ที่เป็นประโยชน์ในการไขปริศนาอยู่ **(โดยเฉพาะ Link ไปยัง Resources บนเว็บต่าง ๆ นี่เป็น Hint ที่ดีมากครับ) ใน Part 2 นี้ก็เช่นกัน มี NPC ที่บอก Hint ของ Part นี้อยู่
มาเริ่มกันที่ข้อแรกเลยครับ..
- เดินไปที่ Workshop (ต้องไต่บันไดเลยเมฆขึ้นไป) เข้าไปข้างในแล้วไปที่ห้องทางขวาซึ่งจะเป็น Train Station จากนั้นจะพบกับ NPC ตัวหนึ่งชื่อว่า "Shinny Upatree" NPC ตัวนี้จะให้ Hint ถึงวิธีการ Extract และ Decompile ไฟล์ apk ครับ
- การที่จะสามารถหา Credential ที่ฝังอยู่ในไฟล์ apk ได้นั้น เราจะต้องทำการ Decompile ไฟล์ apk กลับมาเป็น JAVA Source code ก่อนแล้วจากนั้นจึงหา Credential ใน Source code อีกที ซึ่ง Tools ที่ใช้ในการ Decompile ก็มีมากมาย และที่ Shinny Upatree แนะนำคือ JadX** แต่ใน Write-Ups นี้จะใช้เป็น **dex2jar นะครับ โดยวิธีการของการ Decompile คือ Tool จะทำการ Decompile ไฟล์ .dex (ซึ่งอยู่ใน apk อีกที ) กลับไปเป็นไฟล์ .jar ในภาษา JAVA
- Dowload dex2jar แล้วใช้คำสั่ง "d2j-dex2jar.bat** " เพื่อ Decompile ไฟล์ apk และจะได้ผลลัพธ์ออกมาเป็นไฟล์ "**SantaGram_4.2-dex2jar.jar"
- ใช้ JD-GUI ในการทำ Reverse engineer เพื่อดู Source Code ในไฟล์ SantaGram_4.2-dex2jar.jar** โดยเมื่อเปิดขึ้นมาแล้ว ก็ค้นหา Keyword ด้วยคำว่า "password" เลยครับ เผื่อว่าจะเจออะไรดี ๆ และแล้วก็เจอจริง ๆ ด้วย..
จากการค้นหาคำว่า "password" จะเห็นว่าเจออยู่ในหลายที่ด้วยกันครับ แต่หากสังเกตใน northpolewonderland.santagram จะพบอยู่ 3 ที่ คือ SignUp.class, SplashScreen.class และ **b.class - เข้าไปดูที่ SplashScreen.class ก็จะเจอ Username และ Password ที่ตามหาอยู่ครับ (ใน b.class ก็เช่นเดียวกัน แต่ใน SignUp.class ไม่มีอะไร เป็นแค่ชื่อตัวแปรตัวหนึ่งเท่านั้น) ซึ่งก็คือ Username : guest** และ Password : **busyreindeer78
หลังจากหาคำตอบของข้อแรกได้แล้ว ก็ไปต่อข้อถัดไปกันเลยครับ
- ขั้นตอนต่อไปคือการหาไฟล์ audio ที่อยู่ใน apk ซึ่งจาก Hint ของ Shinny Upatree ได้บอกว่าไฟล์ apk นั้นเป็นแค่ไฟล์ zip ซึ่งสามารถ Extract ออกมาได้ และเพื่อที่จะสำรวจข้างในไฟล์ apk ว่ามีไฟล์ audio ที่เราตามหาอยู่หรือไม่ ก็ต้อง Extract ออกมาครับ ซึ่งอาจจะใช้ Tools เช่น Winzip หรือ 7zip ก็ได้เช่นกัน
- เมื่อ Extract ออกมาแล้ว จึงทำการค้นหาไฟล์ audio ใน Directory "/res**" (Directory ต่าง ๆ ใน res ใช้เก็บอะไรบ้าง ดูได้จากที่นี้ครับ https://developer.android.com/guide/topics/resources/providing-resources.html) ซึ่งเป็นโฟลเดอร์ที่ใช้เก็บ Resources ต่าง ๆ ที่ใช้ภายใน Application เช่น รูปภาพ หรือไฟล์เสียง ก็จะพบไฟล์ audio ที่ชื่อ discombobulatedaudio1.mp3 อยู่ใน Directory "**/res/raw" นั้นเองครับ
Summary
- What username and password are embedded in the APK file ?
Answer** guest: **busyreindeer78 - What is the name of the audible component (audio file) in the SantaGram APK file ?
Answer discombobulatedaudio1.mp3
Resources
- https://en.wikipedia.org/wiki/Dalvik%5F%28software%29
- https://github.com/pxb1988/dex2jar
- http://jd.benow.ca/
- http://www.willhackforsushi.com/presentations/gitd-hackfest.pptx
- https://developer.android.com/guide/topics/resources/providing-resources.html
จบกันไปแล้วนะครับกับ Part 2 และใน Part ต่อ ๆ ไป ก็จะมีความซับซ้อนและยากขึ้นตามลำดับ ( แต่ก็สนุกและท้าทาย ? ) และ Hint ของ NPC ในแต่ละตัวนั้นมีประโยชน์ค่อนข้างมากครับ ทำให้รู้ทิศทางที่ควรจะทำในการแก้โจทย์ได้
แล้วพบกันใหม่ในตอนต่อไป Part 3: A Fresh-Baked Holiday Pi ครับ ?
บริการของเรา
ให้เราช่วยดูแลความปลอดภัยให้คุณ
หากท่านสนใจและต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับบริการของเรา สามารถนัดหมายเพื่อพูดคุยผ่านเว็บไซต์ได้ทันที ทีมงานยินดีให้คำปรึกษาและตอบทุกข้อสงสัยอย่างเต็มที่
Up Next

ARTICLES
Apr
19
2025
Hermes React Native Reverse Engineering - Part 1: Understanding the Fundamentals (Thai Version)
ในปัจจุบันการพัฒนา mobile application ขึ้นมา มีแนวโน้มไปในทางที่มีการใช้งาน framework ที่เป็น cross-platform ทำให้เขียน code แค่ครั้งเดียว แต่สามารถ build เพื่อให้ใช้งานได้บนหลาย platform และเทคนิคการทำ reverse engineering, static analysis, dynamic analysis ในแต่ละ framework นั้นแทบจะแตกต่างกันโดยสิ้นเชิง ซึ่งการที่จะสามารถเข้าใจการทำงานของ application และหาจุดอ่อน/ช่องโหว่ทาง security ให้พบนั้น จำเป็นที่จะต้องรู้การทำงานภายในของแต่ละ framework และปัญหานี้ในปัจจุบัน (และอนาคต) เป็นความท้าทายพอสมควรสำหรับ security researcher เนื่องด้วยเทคโนโลยีมีการพัฒนาอย่างรวดเร็ว ทำให้เครื่องมือและความรู้เกี่ยวกับการวิเคราะห์ security ของ app นั้นตามไม่ทัน
READ MORE

ARTICLES
Mar
02
2021
DEF CON China 1.0 Badge Hacking
เมื่อวันที่ 31 พฤษภาคม 2562 ทางทีมงานได้มีโอกาสไปร่วมงาน DEF CON China 1.0 งาน DEF CON China 1.0 เป็นงานที่ถูกจัดขึ้นที่ประเทศจีนเป็นครั้งที่สอง
READ MORE

ARTICLES
Mar
02
2021
The basic of developing iOS Tweak (Part 1/4)
หลาย ๆ คน คงเคย jailbreak iOS กันมาบ้าง และแน่นอนเมื่อ jailbreak แล้วก็ต้องเคยใช้พวก Tweak ทั้งหลายในการปรับแต่ง iOS กันตามใจชอบ หรือบางคนก็ jailbreak เพื่อใช้ application เถื่อน ใช้แล้วเคยสงสัยกันไหมครับว่าจริง ๆ แล้วพวก Tweak ทั้งหลาย ถูกพัฒนาขึ้นมาอย่างไร? ทำงานอย่างไร?
READ MORE

