Tuesday 3 May 2022

Magnet Summit 2022 Virtual CTF - Android

Magnet Forensics recently concluded their Virtual CTF for the Magnet Summit 2022. 

Participants were provided with the following three images to process prior to the start of the Capture-the-Flag (CTF) challenge, as well as a trial key for the newly launched AXIOM 6.

  1. Pixel image containing what appears to be a full file system extraction of a Pixel 3 running Android 9;
  2. HP Image containing a full disk image of a Windows 11 system; and
  3. Google Takeout image of the account used in the CTF, rafaelshell24@gmail.com.

The questions for the CTF are split into three sections, and the write-ups for each section is as follows: 

  1. Windows
  2. Android
  3. Egg Hunt

Android

Processing

For this section of the questions, answers can either be found in the Pixel Android image, Google Takeout image, or both. I processed the Pixel image as an Android image and the Google Takeout image as a Google Warrant Return using AXIOM Process 6.0. Alternatively, one can also unzip the Takeout image and re-zip the internal 'Takeout' folder to process as a Google Takeout image.

Additional processing includes using Alexis Brignoni's ALEAPP for the Pixel image, and unzipping the Takeout image for the raw files.

Questions

1. If you are looking for an image, it was probably deleted

How many emojis were used in the first snapchat received by the User (5 points)

Using the Pixel image, I sorted the decoded Snapchat messages by their Message ID and counted the number of emojis in the first message.

Answer: 9


2. ooo so popular!

What snapchat account sent the User the most messages? (5 points)
From the decoded Snapchat messages, the only account that appears to have sent the user any message was TeamSnapchat.

Answer: teamsnapchat

3. BurgLARProof

What Live Action Role Play armor was the user building? (5 points)
I searched the Pixel image for 'larp' based on the hint in the question and noted a Google search for 'larp shield diy' in the Chrome Web History. Similar results can probably be found from the Takeout image.

Answer: shield

4. Your charIoT awaits

What was the MAC address of the first IoT device connected? Format: XX:XX:XX:XX:XX:XX (5 points)
Since IoT devices generally connect via Bluetooth, my initial answer was the first connected Bluetooth device ordered by timestamp but got that wrong. Looking in the data/misc/bluedroid/bt_config.conf source file reveals that the first Bluetooth MAC address belonged to a Moto 360 DF00 smartwatch without any associated timestamp.

Answer: d0:5f:b8:33:df:00

5. ID Please

What was the ICCID for the SIM card used with this device? (5 points)

Both AXIOM and ALEAPP provides the answer easily under SIM card information.

Answer: 89148000007077222152

6. Never-ending

Podcasts can seem like they drag on forever, how long was Rafael's longest Podcast? HH:MM:SS (10 points)
I did a search for 'podcast' in the Pixel image and found that the longest podcast belonged to data\media\0\Android\data\com.google.android.googlequicksearchbox\files\Podcasts\Downloads\1644732498240_dcd660b73c8070f8ef7d846c3caf4c20.m4a for 12923.17 seconds. To get the duration in the required format easily, I used AXIOM's Media Preview feature to obtain the length of the audio file.
Answer: 03:35:23

 

7. Keep on Moving

When is Next Vegas Show? Format MM/DD (10 points)

The answer for this is found in the Takeout image's Google Keep note.

Answer: 02/17

8. Snap Your Fingers

What is the username of the last friend added to the user's Snapchat? (10 points)

From the Pixel image, sort by added timestamp if using ALEAPP, or by the ID in the Friends table if using AXIOM.

Answer: angie_frank07


9. Starting over

What day was the device factory reset? Format YYYY/MM/DD (10 points)

I solved this using ALEAPP's 'Factory Reset' artifact, which takes from the last modified timestamp of the data/misc/bootstat/factory_reset file.

Answer: 2022/01/14


10. Last 4

What were the last four digits of the Visa used to purchase the User's most-used video game? (10 points)

Sadly this question took me longer than a ten points question should have. I solved this question while looking at the user's emails for another question, and saw the email receipt for the user's purchase of Minecraft from Mojang Studios containing the redacted Visa card number.

Answer: 1815

Note: On hindsight, it should have occurred to me that the video game mentioned in the question was Minecraft based on the user's web history and the laptop image, which would have narrowed down the search much earlier.


11. Expired Milk

What was the earliest expiration date for the user's guest wifi account? (10 points)

While looking through the user's emails in the Takeout image, I chanced upon some receipts for guest account on ChamplainGuest Wi-Fi. Sorting by the delivered date, we find the earliest expiration from the email on January 25, 2022.


Answer: 01-28-2022 17:01

 

12. Water Water Everywhere

What is the zip code of the location that the image of the water was taken? (10 points)

Since the question asked about the location of an image that was taken, I filtered for pictures with geolocation data and found an image matching the description in the DCIM folder. 

Searching the GPS location of the image (N44°28'38.21" W73°13'16.78") in Google Maps gives us the address 'Boardwalk, Burlington, VT 05401, USA'.

Answer: 05401


13. Hash it out

What hashing algorithm was used for Bumble's email confirmation email? (25 points)

This was the second last question that I solved, as I wasn't sure what the question was asking for initially. To complicate matters further, the question had a two attempts lockout and I accidentally used up one attempt by submitting the answer for a different question in my haste. 😣

Thankfully I chanced upon  Metaspike's post on Leveraging DKIM in Email Forensics, which explains how the DomainKeys Identified Mail (DKIM) standard is used to hash and sign email messages for authentication. The key fields we're looking for are the 'a' and 'bh' tags, which indicates the algorithm used as well as the hash of the message body in Base64 form.

Searching the Takeout image for Bumble's confirmation email we see the following DKIM signature (note that the same email from the Pixel image does not contain email headers):

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bumble.com;	s=m23uiy45; t=1643426166;	bh=V3+2oOZB6HbkzkEiTrdR0NeR62otQLWBIfR2P9UzXU8=;	h=Date:To:Reply-to:From:List-Unsubscribe:Subject;	b=WurAJYPzlsFL631+GC/fMVQ50Vj/W/voKOuiqlFt+4b71ElwkMacpcbqw/Q5KUTpA	 fNx+dGHh5KnQ+a68HZmxQpjnfwnLiseCkByIWDdvdWa/QzEEqFXtH20uXJ0ddWkfLN	B19hRtFcq92sRrBb6F5SDLyArVQqGLHXvcHs7Reo=

The algorithm is 'rsa-sha256' which uses SHA256 for calculation of the hash value. We can also try to guess the hash type from the 'bh' value in CyberChef.

Answer: sha256


14. So Tasking

What is the status of the Go grocery shopping list? (25 points)

This was a fairly easy 25 points from AXIOM processed results of the Takeout image, under the 'Cloud Google Tasks' category. Or parse it manually from 'Takeout\Tasks\Tasks.json' in the Takeout zip file.

Answer: needsAction


15: Surviving a Snake Bite

What is the name of the YouTube channel that hosts the video that was watched at 10:30 PM EST on Feb 1st? (25 points)

Initially I tried searching for YouTube web history in the Pixel image but there was no entry for Feb 1st at the indicated time. Manually looking through the unzipped Takeout files, I noticed there was a folder for 'YouTube and YouTube Music' and found the entry on Feb 1st at 10:30 PM EST in the watch-history.html file:

Answer: PythonMC


16: All Trail Blazer

How many miles were left until Stowe Pinnacle? Format: X.X (50 points)

Once again, another question that had me stumped as I dived into databases and configuration files for the All Trails application in the Pixel image. I had almost given up hope, thinking that I misunderstood the 'All Trail' hint, until I reviewed the processed pictures with keyword filter 'alltrails' and found the answer. I guess the question maker did not want the 50 points to come easy, as the Optical Character Recognition (OCR) plugin for AXIOM failed to pick up on 'Stowe Pinnacle' in the image.

Answer: 3.6


17: A Recent Trick

What is the name of Step 5: Step 4 -? (50 points)

This question sent me on a wild goose chase watching videos of magic tricks to find out what were steps 4 & 5. 😂 Noting that the search results for keyword 'trick' in the Takeout image had an additional Google Search artifact for 'larp shield', I followed the link in the search results to Instructables and found the answer.

Answer: Ca-chunk!

Note: While scrolling through the images in the Pixel image for other questions, I chanced upon an image that looked like a screenshot of the Instructables page. Looking at the artifact source, I realized this was a snapshot of recent apps in Android task switcher (similar to iOS SplashBoard snapshots) and a much faster solution would have been to reference the 'Recent Activity' category (data/system_ce/0/recent_tasks) in ALEAPP.


18: Bee Sweater

What famous cartoon from the mid 1900s did the user watch a snippet of? (50 points)

Since the user watched a snippet of a cartoon, my first instinct was to search for YouTube history but hit a dead end on that front. Theorizing that the answer should be in video form and that it might have been cached on the system, I reviewed AXIOM results for videos from the Pixel image and finally found a likely match in the Bumble app cache, which ties in with the 'bee' (bumblebee) in the question name.

Answer: Peanuts


19: Seeing Through the Trees

What was the last street that Google told the user to turn on to on the way to Sugarbush Mountain? (50 points)

Since this question relates to Google directions, I started with the Pixel image and searched for 'Sugarbush' in map view. Unfortunately my brain wasn't working too well with the stress of the CTF and I mistook the pin in the results as the destination and tried various visible street names as potential answers. Thankfully there was no lockout for this question. 

Reviewing activity from the Takeout image, I found a search for directions to 'Sugarbush Resort' and tried to locate the resort in Google Maps, I tried both street names near the resort and chanced upon the answer.

Answer: Forest Dr

Note: Perhaps a less trial-and-error method to solve this would be ALEAPP's Google Maps Voice Guidance report, where the last audio clip in data/data/com.google.android.apps.maps/app_tts-cache instructed the user to turn right onto Forest Drive.

Another method would be to use the link from the Takeout image's 'My Activity' direction search: https://www.google.com/maps/dir//Sugarbush+Resort,+102+Forest+Dr,+Warren,+VT+05674/@44.3020592,-72.9792802,10z/data=!3m1!4b1!4m8!4m7!1m0!1m2!1m1!1s0x4cb56d7b952c28bb:0x78dc5cf31c15ff36!2m1!7e2!3e0 with '44.3020592,-72.9792802' as the starting location and view the directions provided.

No comments:

Post a Comment

Magnet Summit 2022 Virtual CTF - Windows

Magnet Forensics recently concluded their Virtual CTF for the Magnet Summit 2022.  Participants were provided with the following three image...