
The 2016 SANS Holiday Hack Challenge Write-Ups (Part 2/5)
Incognito Lab
หลังจากที่ผ่าน 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
Feb
25
2021
Incognito Mode EP1
สำหรับใน EP 1 นี้ได้คุณพรสุข มาบรรยายในหัวข้อ Thailand's Cyber
READ MORE

ARTICLES
Jan
27
2021
Difference between Single-stage Ransomware and Multi-stage Ransomware
องค์กรที่มีแผนรับมือ(Incident Response) กรณีการโจมตีของ Ransomware Attack ต้องเริ่มมาทบทวนแผนกันใหม่นะครับเนื่องจากรูปแบบการโจมตีของ attackers มีชั้นเชิงที่จะบีบบริษัทหรือองค์กรที่ตกเป็นเหยื่อมากยิ่งขึ้น
READ MORE

ARTICLES
Jan
27
2021
VA/Pentest Service FAQs
บทความนี้อยากทำให้ผู้อ่านได้เข้าใจถึง VA/Pentest Service ซึ่งเป็น Service หลักของ Incognito Lab
READ MORE