Hexordia Weekly CTF Challenge 2024 - Week 1 Writeup
Recently, Hexordia has started a new weekly CTF challenge and I have signed up to join the challenge. The following is my writeup for the week 1 challenges:
iOS - Crewmates are Sus (15 marks)
What is Chad's user ID for the multiplayer social game?
The terms "Crewmates" and "Sus" used in the question name suggests to the popular multiplayer social game "Among Us"
From iLEAPP "Application State report" page, Among Us (com.innersloth.amongus) was installed and the sandbox path for Among Us can be found at
/private/var/mobile/Containers/Data/Application/AE23352D-C47B-43D9-87A7-6141653955A2 |
iOS - Apocalist Now (25 marks)
What is the timestamp of the last crossed out entry?
FORMAT: YYYY-MM-DD HH:MM:SS
The term "last crossed out entry" suggested we could be possibly looking for a checklist/notepad application
Using Magnet AXIOM, an app with package name "com.ztnstudio.notepad" had some application history and had an app snapshot that contains crossed out checklist entries:
Then it comes down to the question of locating the database that contained the checklist/notepad data. I have extracted the app directory and have used grep on WSL to look for the term "Preppy" by issuing the command:
grep -r "Preppy" * |
The reason for using the term "Preppy" is the app snapshot reveals a potential list named "Preppy practice". Turned out there is only an exact hit of "Preppy" for a binary file "/data/data/com.ztnstudio.notepad/files/default.realm":
So it would appear that this app utilized Realm database technology. This "default.realm" could be opened with Realm Studio. Upon opening "default.realm" in Realm Studio, a class named "ChecklistItem" caught my attention.
On further inspection, it would appear that "id" column seemingly corresponded to an Epoch timestamp in milliseconds and "checkItemCrossedOut" column indicated whether an item has been crossed out as implied by its name. After sorting "id" in descending order, the first item with "checkItemCrossedOut" with a value of "true" is "Learn to can". It is noteworthy that this "Learn to can" item was also present and crossed out in the app screenshot.
The "id" value of "Learn to can" was "1703720188280" and it could be converted into the timestamp value of 2023-12-27 23:36:28, which was also the flag to this question.
Android - Karma's a relaxing thought (25 marks)
When was the user upvoted?
(Format: YYYY-MM-DD HH:MM:SS)
The terms "Karma" and "upvoted" suggested we should be looking for Reddit. In case you haven't used or heard of Reddit, here is a quick primer to break into this subject by Reddit user u/jgoga:
We would then start by looking at Reddit app databases, they could be found at "/data/data/com/reddit/frontpage" directory. There were a couple of files that had my attention, namely "reddit_db_anonymous" and "reddit_db_NarrowEcho136". On the surface of it, "NarrowEcho136" seemingly looks like a Reddit user ID.
If a search was performed for "NarrowEcho136" on Reddit, we could see such a user still exists on Reddit and this user had a Cake Day of "Dec 26, 2023" and 1 Post Karma.
Comments
Post a Comment