Featured image of post TryHackMe\u200a —\u200a Snapped Phish-ing Line Challenge Walkthrough

TryHackMe  —  Snapped Phish-ing Line Challenge Walkthrough

Phishing Analysis Using CyberChef and VirusTotal: Email Triage, URL Extraction, and Phishing Kit Analysis

Introduction:

Welcome to my weekly walkthrough! If you’ve stumbled across this blog while looking for a detailed guide to the Snapped Phish-ing Line blue team challenge from TryHackMe, you’re in the right place.

This scenario drops us into a quickly escalating incident at SwiftSpend Financial, where multiple users got hit with suspicious phishing emails and some even got hooked by the lure and submitted their credentials. Not good! Our job is to analyze the phishing emails, check out the attachments, determine how this phishing kit operates, and scope the affected users.

This challenge focuses heavily on phishing email analysis and incident triage fundamentals. To help us on our investigation we’ll pivot between tools like CyberChef, VirusTotal, and a few native utilities within the lab VM to inspect email headers, analyze malicious attachments, extract artifacts from a phishing kit, and identify attacker infrastructure.

What makes this challenge especially valuable is how it mirrors real-world workflows. I’ll walk through each step clearly, and by the end, you’ll have a solid understanding of how to approach similar investigations in the field. Sounds like fun, right? Let’s go!


Challenge Scenario:

As a member of the IT department at SwiftSpend Financial, you are responsible for assisting employees with technical concerns. What initially appeared to be a routine day quickly escalated when multiple employees across different departments reported receiving a suspicious email. Several users noted unusual characteristics in the message, and unfortunately, some had already submitted their credentials and were no longer able to access their accounts. With the potential for a wider compromise, the incident has been escalated for investigation. Your task is to analyze the available evidence, determine the scope of the attack, and uncover how the adversary operated.

Objectives

Analyze the provided email samples to identify key artifacts

Investigate phishing URLs to understand redirection

Retrieve and examine the phishing kit used in the attack

Use CTI tools to gather intelligence on the adversary

Analyze the phishing kit to uncover additional indicators


Questions 1 & 2: 

1. Begin reviewing the emails in the phish-emails folder on your desktop.

Which individual received the email regarding a Quote for Services Rendered?

2. What email address was used by the adversary to send the phishing emails?

Let’s kick off our investigation. Our first objective is to analyze the provided email samples and identify key artifacts. Open the phish-emails folder on the desktop of the THM VM. You’ll find several phishing email samples in this directory.

The first file to review is: Quote for Services Rendered processed on June 29 202 100132 AM.eml

This file contains the email header information needed to answer both Question 1 and Question 2.

Overview of the phishing artifacts Overview of the phishing artifacts

There are a couple of ways to approach this. We can open the .eml file in a mail client like Thunderbird, which is already installed on the VM, or we can rely on CyberChef to review the mail headers. CyberChef is also available from Desktop/Tools/CyberChef, or as a handy bookmark in the VM’s Firefox instance.

For this walkthrough, I’ll show both methods.

Thunderbird: Identifying the from and to addresses of the phishing email Thunderbird: Identifying the from and to addresses of the phishing email

CyberChef: Identifying the from and to addresses of the phishing email CyberChef: Identifying the from and to addresses of the phishing email

While this is a simple check, getting comfortable with mail headers that aren’t visible in a mail client’s simplified view is a helpful exercise as you build experience in phishing triage.

4f7feeac0a06ebe0ce7e6d69eb280948_MD5.png

Questions 3 & 4: 

3. Investigate the attachment in the email addressed to Zoe Duncan.

What is the root domain of the redirection URL found within the file?

4. Open the attachment in your VM web browser.

Which company is the login page impersonating?

Moving right along to Question 3 and Question 4, we’ll need to review a second phishing email from the phish-emails folder. This time, we’re looking for the one that’s addressed to Zoe Duncan: Group Marketing Online Direct Credit Advice - zoe.duncan@swiftspend.finance.eml

We’re interested in analyzing the attachment: Direct Credit Advice.html. For simplicity, let’s download the attachment directly from the message.

1ff59aeed16ee38912c85f6d44d2508d_MD5.png Thunderbird: Downloading the attachment for Zoe Duncan

Sure, we could simply open the attachment, but a more controlled way to assess the file is to use CyberChef to analyze it. Drag the malicious HTML attachment we downloaded from Thunderbird into a new input tab in CyberChef. While the file is readable as-is, we can speed up analysis by applying the Extract URLs operation. This parses the file and displays only URLs identified in the file, which simplifies review versus manually picking them out.

e838c26c11e07b3f5e75e3ca2131cf0f_MD5.png CyberChef: Extracting the URL from the phishing attachment

This approach allows us to quickly identify both the root domain and the URL used in the phishing attachment. It also gives a strong indication of which brand is being impersonated as the lure, even without visiting the phishing page directly.

Since Question 4 asks us to open the attachment, open it up to see how everything appears to the victim when rendered in the web browser. Right away we’ll see the obvious branding of the company the phishing kit is impersonating:

89c26205ebf9e7ab5c561ce662127971_MD5.png Firefox: The phishing landing page

7b9ee7846e9e0c6428a53738f7cd7f01_MD5.png

Questions 5 & 6: 

5. Let’s check if the attacker left any files exposed on the same website.

Navigate to the /data directory. What is the name of the archive file?

6. Download the phishing kit archive to your virtual environment.

Using the sha256sum command, what is the SHA256 hash of the file?

Now, this question might feel a bit confusing at first. You might be wondering how we’re able to access the URL, since the lab environment typically doesn’t allow full internet access. There’s a clue in the hosts file, which maps an IP address to the phishing domain, allowing us to access it within the lab environment.

64aeacb887b220f61835bfce6223083e_MD5.png Terminal: Checking the /etc/hosts file

So, jump back to Firefox and enter the URL we found in Question 3. From there, we just need to make a small adjustment to the phishing URL and append /data to it, to navigate to the directory where the .zip file is hosted.

8953908e6c7a1e9703238a6427d783db_MD5.png Firefox: The index of the /data subdirectory

Now that we’ve found it, we’ll download the archive, then use the sha256sum command from the terminal to calculate the SHA256 hash of the phishing kit.

16c90ee939d93d69dbd8ff017c60d5e6_MD5.png Terminal: Calculating the SHA256 hash of the phishing kit archive

By locating the file and grabbing the kit’s file hash, we can pivot and gather additional threat intelligence. This helps add context to the investigation and may reveal whether this kit has been observed in other campaigns. 

844f6d59b0941756c27bd844166232b6_MD5.png

Questions 7 & 8: 

7. Investigate the file hash from the previous question using VirusTotal (opens in new tab).

Aside from phishing, what other threat category is assigned to the ZIP archive?

8. Review the VirusTotal Details page for the phishing kit.

How many files are contained within the archive?

With the hash of the phishing kit in our hands, a solid next step is to identify what additional context and intelligence we can gather. For this task, we’ll use VirusTotal. Since the lab VM has limited internet access, this step requires a browser outside of the lab environment (like on your local machine).

Navigate to *VirusTotal* and paste the SHA256 hash from Question 6 into the search bar which lets us to check out the platform’s analysis results if the sample has already been submitted.

In this case, we’re in luck, the sample has already been analyzed so we don’t need to wait for the scanning to complete. Locate the Threat Categories section to determine how the file has been classified. Aside from phishing, there are two additional categories listed. We’re interested in the first of those categories to answer Question 7.

8e8e52b44228fe7c5a442c5e2070a2fb_MD5.png https://www.virustotal.com/gui/file/ba3c15267393419eb08c7b2652b8b6b39b406ef300ae8a18fee4d16b19ac9686

Next, we can review the high-level details about the archive’s contents, like the number of files contained in it. To do this, navigate to: Details → Bundle Info → Contents Metadata → Contained Files

This section shows how many files are packaged within the archive, which answers Question 8.

6d3431f53538e514883588dcac469907_MD5.png VirusTotal: Identifying the number of files contained in the archive

86a4a585eafcd6b74fae6f63623c8ec5_MD5.png

Question 9: Let’s see if the attacker has exposed any captured credentials.

What is the email address of the user who submitted their credentials more than once?

Next up, we’ll bounce back to Firefox to analyze the log file hosted on the phishing site. Navigate to the /data/Update365 directory of the phishing domain. There, we’ll find the log.txt file, which appears to contain credentials captured by the phishing kit.

7c20dc0616b336326cca1acf28f96d0b_MD5.png Firefox: Accessing the log.txt file on the phishing domain

Open log.txt. The file is fairly small, so we can quickly perform a manual review by looking for duplicate entries in the email field. 6690e680b6a9a9293195a7bdd125ac60_MD5.png Contents of the log file

In a real-world scenario, log files would likely be much larger. To work more efficiently, we can extract email addresses and identify duplicates using CyberChef. Copy the contents of the log file and paste them into CyberChef. From there, apply the Extract email addresses operation, followed by Sort, to quickly surface the duplicates. This approach helps scale the analysis by reducing those manual checks.

742669beba89daedbbbf08400f954cac_MD5.png CyberChef: Analyzing the contents of the log.txt file

Using either method, we’ve identified a single user who submitted their credentials more than once. This suggests the user attempted to log in repeatedly after the first submission.

Sounds like this user might need double the training :D

3da32652eb31025070d91c60762ee785_MD5.png

Question 10: Extract the phishing kit archive and locate the submit.php file.

What email address is used by the adversary to collect compromised credentials?

To answer Question 10, extract the phishing kit ZIP file that we downloaded in Question 6 and locate the submit.php file found at:

/home/damianhall/Downloads/Update365/office365/Validation/submit.php

Once you’ve got it, drop the file into CyberChef. As before, we can use the Extract email addresses operation to quickly identify any email addresses embedded in the script.

74fa7a9924e36b79ab43432371bac518_MD5.png CyberChef: Extracting email addresses from submit.php

In this case, there is only a single result. This strongly suggests we’ve identified the address used by the attacker to collect the compromised credentials.

287c1c76b710adf89279ff7e2573597a_MD5.png

Question 11: Return to the phishing URL and locate the flag.txt file.

Using CyberChef (opens in new tab) to decode the flag, what is the secret value?

Finally, we’ve made it to the grand finale, which has us searching the phishing site for flag.txt. Since we don’t have enumeration tools like DirBuster or OWASP ZAP available in the VM, we’ll take a manual approach to hunt for the flag.

A logical starting point is to revisit the directories we already know exist, such as:

  • /data
  • /data/Update365
  • /data/Update365/office365

From there, we can try appending flag.txt to these paths.

a72bd41afefbf4362c4a93a4d893e584_MD5.png Firefox: Locating the flag.txt file through manual enumeration

Hey, that worked! We’ve found the flag. One last hurdle remains: the contents of the file appear to be obfuscated…

No problem. We just need to do some light decoding using CyberChef.

Copy the contents of flag.txt into a new input window in CyberChef and apply the From Base64 operation. This gets us closer, but the output still isn’t readable. Next, add the Reverse operation to reveal the final flag.

5c24f8bf9cceb8428ff4eacd6e43721c_MD5.png CyberChef: Decoding the obfuscated flag

Nice job! Now let’s wrap up this investigation.

13a5e547e5f5b0df36c8506a0978dd37_MD5.png


Conclusion:

0d7987d4708d67157a7519515afcdb49_MD5.png

How fun was that! A big thank you to TryHackMe for another awesome challenge.

This investigation gave us a practical look at how phishing campaigns operate and can be triaged, from the initial email lure all the way through credential harvesting and exposed attacker infrastructure.

Along the way, we reviewed email headers, analyzed malicious attachments, identified attacker-controlled infrastructure, and even dug into a phishing kit to uncover how credentials were being collected. Each step built on the last, which made the investigation feel both structured and realistic. What I liked most about this challenge is how closely it mirrors real-world workflows and gives a small peek behind the curtains of the kit.

One of the biggest takeaways for me is how effective CyberChef can be during investigations. Even for relatively simple tasks like extracting URLs, parsing email addresses, or decoding content, CyberChef significantly speeds up analysis. Instead of manually picking through data, we’re able to quickly isolate what matters and move on to the next lead. Small efficiency gains like that add up quickly, especially in larger investigations.

Thanks for working through this investigation with me. Hopefully this walkthrough helps you get past a stumbling block or gives you a few ideas you can apply in your own analysis.

Remember, cybersecurity is a team sport, and we’re in this together! Until next week’s challenge — stay curious and be safe out there.

897587ce48e9f9feb186cdd21a12ccdd_MD5.png


Tools & References:

Challenge Link: https://tryhackme.com/room/snappedphishingline

VirusTotal: https://www.virustotal.com/

CyberChef: https://gchq.github.io/CyberChef/

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy