// HackTheBox  ·  writeup

WorkFromHome

HackTheBox Medium
DFIR

Scenario

Wowza Enterprise (Wowza Inc.) engaged an IR team to investigate a workstation belonging to employee Otello John after the desktop wallpaper was changed to a questionable image. The IT team provided initial context: all internal sites use AD-integrated SSO, RDP is enabled (misconfiguration — policy prohibits remote access), Windows Defender was disabled during the incident window, and systeminfo was observed crashing on the machine. The incident timeframe is bounded by Otello’s last login on 28 May 2025.

Evidence was collected via KAPE using SANS_TRIAGE, CertUtil, and StartupFolders targets, producing:

Local accounts: wowzaadmin (local admin), otello.j (victim user).


Methodology

Phase 1 — Credential Harvesting via Phishing

The KAPE SANS_TRIAGE target collects browser artifacts. Opening C:\Users\otello.j\AppData\Local\Google\Chrome\User Data\Default\History in DB Browser for SQLite reveals 43 URL entries. The victim used Chrome rather than the default Edge browser. Internal Wowza services were accessed at wowzainc.co.th. Entry 35 is the pivot point: the user clicked a link in a company email at http://mail.wowzainc.co.th/inbox/email_content1.html (titled “Important Update”) which redirected to a typosquatted login page — http://login.wowzalnc.co.th/logon.php. The legitimate domain is wowzainc.co.th; the phishing domain substitutes ln for in. Because the internal site uses AD SSO, the attacker captured domain credentials. The same browser history also shows visits to freehackingtool.com — attacker tool downloads that came later but confirm the same browser session. The WebKit timestamp for the phishing visit converts to 2025-05-25 10:36:42 UTC.

Phase 2 — RDP Initial Access

With harvested credentials the threat actor authenticated remotely. All workstations in the environment had RDP enabled despite policy prohibiting it — a misconfiguration highlighted in the initial IT briefing. Security.evtx (2.1 MB — significantly larger than other event logs, last modified 28 May 2025 10:42 PM) is parsed with EvtxECmd.exe -f Security.evtx --csv output --csvf security.csv and opened in Timeline Explorer. Filtering for Event ID 4624 with Logon Type 10 (RemoteInteractive) and user otello.j shows two successful logons from a Kali Linux host at 192.168.189.129:

Phase 3 — Sensitive File Discovery

With GUI access via RDP the attacker browsed the victim’s filesystem. The AutomaticDestinations JumpList folder (C:\Users\otello.j\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\) is examined with JumpList Explorer. Three recent file entries appear after the second logon, including a PowerPoint on the victim’s desktop:

C:\Users\otello.j\Desktop\Working\Proposal to CFO.pptx

The Windows Recent folder also shows shortcuts to Script, Working, The Internet, and Wowza Budgeting — confirming the attacker was browsing work-related content.

Phase 4 — Privilege Escalation Discovery

The Chrome download history (downloads table in the History SQLite database) shows three files downloaded from freehackingtool.com:

SeManageVolumeExploit.exe is a public PoC that abuses SeManageVolumePrivilege — a Windows privilege allowing volume-level FSCTL operations. The exploit enables the privilege, opens a handle to \\.\C: with SYNCHRONIZE | FILE_TRAVERSE, then sends FSCTL_SD_GLOBAL_CHANGE to replace the Administrators SID (S-1-5-32-544) with the Users SID (S-1-5-32-545), granting any user in the Users group full write access to the C drive. Event ID 4672 (special privilege assignment) was not recorded for this privilege, suggesting it was already assigned to the account.

Phase 5 — LOLBIN Download Cradle (certutil)

The attacker attempted to download PrintConfig.dll directly via Chrome from http://freehackingtool.com/tools/PrintConfig.dll. The downloads table shows received_bytes = 0 and interrupt_reason = 41. Chrome’s download_interrupt_reason_values.h maps code 41 to “Browser Shutdown” — the attacker closed the browser before the download completed (or Safe Browsing blocked it and the browser was shut down).

Because the direct download failed, the attacker fell back to certutil.exe as a download cradle — confirmed by the CertUtil KAPE target. The CryptnetUrlCache\MetaData folder at C:\Users\otello.j\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData\ contains metadata files for each URL fetched; one entry decodes to http://freehackingtool.com/tools/PrintConfig.dll, confirming certutil downloaded it successfully.

The USN Journal ($J) was parsed alongside the MFT using MFTECmd.exe -f $MFT --csv output --csvf mft.csv -m $J to include parent paths. Filtering for PrintConfig.dll shows the file was created in C:\Users\otello.j\Downloads\ at 2025-05-28 12:45:37.

Phase 6 — DLL Replacement for SYSTEM Shell (PrintNotify COM Abuse)

The SeManageVolumeExploit gave the attacker write access to C:\Windows\System32\spool\drivers\x64\3\. The attack technique involves replacing the legitimate Printconfig.dll at that path with a malicious Meterpreter DLL, then triggering it to load by instantiating the PrintNotify COM object (CLSID {854A20FB-2D44-457D-992F-EF13785D2B51}) via PowerShell:

$type = [Type]::GetTypeFromCLSID("{854A20FB-2D44-457D-992F-EF13785D2B51}")
$object = [Activator]::CreateInstance($type)

This is confirmed in the PowerShell Console Host history at C:\Users\otello.j\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt.

USN Journal timeline for PrintConfig.dll:

TimeEvent
12:45:37Malicious DLL created in C:\Users\otello.j\Downloads\
12:47:06Legitimate C:\Windows\System32\spool\drivers\x64\3\Printconfig.dll deleted
12:47:40Malicious DLL renamed and moved to the spool path

Windows Defender (re-enabled during evidence collection) queried the DLL via cloud at 2025-05-28 15:19:28 and detected it as Trojan:Win64/Meterpreter.E, removing it at 2025-05-28 15:19:35. The SHA1 hash logged by Defender: 916564984e38f8bb91921cd4e40b64156a72142b.

Phase 7 — Second DLL + VBScript Persistence

A second DLL — tzres.dll — was also downloaded from freehackingtool.com using certutil (executed under the SYSTEM account obtained via the PrintNotify shell). The MFT shows it was written to C:\Windows\System32\wbem\tzres.dll at 2025-05-28 12:54:23. Windows Defender did not detect this file.

The persistence mechanism exploits a known DLL hijack: when systeminfo is run, the WMI provider host wmiprvse.exe attempts to load tzres.dll from C:\Windows\System32\wbem\ — a path that doesn’t normally contain this file. Placing a malicious DLL there causes it to execute under the NT AUTHORITY\Network Service account each time systeminfo is triggered.

To automate the trigger, the attacker moved a.vbs (downloaded earlier) to the Global Startup folder:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\a.vbs

The VBS content:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd.exe /c systeminfo", 0, False

The file was hidden using the hidden attribute at 2025-05-28 12:56:11 (confirmed via BasicInfoChange event in the USN Journal) so it would not appear in Explorer without “Show hidden items” enabled.

Phase 8 — Wallpaper Defacement

The PowerShell Console Host history also contains the wallpaper command executed immediately after the PrintNotify COM object was instantiated:

reg add "HKCU\control panel\desktop" /v wallpaper /t REG_SZ /d "C:/Users/Public/Pictures/gg.bmp" /f

The image gg.bmp was downloaded via certutil (under SYSTEM) to C:\Users\Public\Pictures\gg.bmp. The registry write was captured in PowerShell Script Block Logging (Event ID 4104) at 2025-05-28 12:59:30. Opening the BMP reveals a hacker stock-photo with the text: “HACKED BY ANARCHY”.

Phase 9 — Victim Returns

Security event log filtered for Event ID 4624 with Logon Type 2 (interactive/local) and user otello.j shows the victim logged back into the workstation at 2025-05-28 15:04:41 — approximately two and a half hours after the attacker’s second RDP session — and discovered the altered wallpaper, triggering the IR engagement.


MITRE ATT&CK

TechniqueIDDescription
Phishing: Spearphishing LinkT1566.002Typosquat login page sent via internal email lure
Valid AccountsT1078Stolen AD credentials used for RDP authentication
Remote Services: RDPT1021.001Attacker initial access and post-exploit activity via RDP
File and Directory DiscoveryT1083Attacker browsed victim’s work folder, accessed PowerPoint
Abuse Elevation Control MechanismT1548Volume management privilege exploited for C drive access
Signed Binary Proxy Execution: CertutilT1218Certutil used as download cradle to bypass Safe Browsing
Hijack Execution Flow: DLL Side-LoadingT1574.001Legitimate DLL deleted, replaced with malicious version
Command and Scripting Interpreter: VBScriptT1059.005VBScript executed to load second malicious DLL
Boot or Logon Autostart ExecutionT1547VBScript placed for persistence, hidden from GUI
Impair DefensesT1562.001Windows Defender disabled during attack window
Internal DefacementT1491.001Desktop wallpaper changed as attacker calling card

Defender Takeaways


Identify the phishing URL that the user clicked on, resulting in credential harvesting.
Click flag to reveal http://login.wowzalnc.co.th/logon.php
When did the threat actor gain access to the victim's computer via RDP for the first time?
Click to reveal answer 2025-05-27 11:59:57
The threat actor accessed several sensitive files on the victim's work-related folder. What is the full path of the PowerPoint presentation file opened by the attacker?
Click flag to reveal C:\Users\otello.j\Desktop\Working\Proposal to CFO.pptx
The threat actor discovered a privilege that allows specific volume-level management operations and could be exploited to get full control over the C drive. What is this special privilege?
Click to reveal answer SeManageVolumePrivilege
What is the name of the executable downloaded by the threat actor to exploit previously found privilege?
Click flag to reveal SeManageVolumeExploit.exe
What is the full URL from where the threat actor tried to download a DLL file?
Click to reveal answer http://freehackingtool.com/tools/PrintConfig.dll
The malicious DLL file was not successfully downloaded, as the download was interrupted by the safe browsing safety feature. Research Browser forensics and find the description of the interrupt reason that caused the download to be disrupted.
Click flag to reveal The user shut down the browser
Since the download was not successful from the browser directly, which LOLBIN did the threat actor use to download this file successfully?
Click to reveal answer certutil.exe
When was the malicious DLL file successfully downloaded using this LOLBIN?
Click flag to reveal 2025-05-28 12:45:37
To gain System privileges, the threat actor replaced an existing DLL with the same name. What is the original path of the legitimate DLL?
Click to reveal answer C:\Windows\System32\spool\drivers\x64\3\Printconfig.dll
The threat actor removed the legitimate DLL before replacing it with the malicious DLL. When was the legit DLL deleted?
Click flag to reveal 2025-05-28 12:47:06
When was the malicious DLL detected as malware?
Click to reveal answer 2025-05-28 15:19:35
The threat actor initiated a Windows component to load this DLL. What is the CLSID of this component?
Click flag to reveal {854A20FB-2D44-457D-992F-EF13785D2B51}
What is the name of the service/object associated with this CLSID?
Click to reveal answer PrintNotify
What is the SHA1 hash of the malicious DLL file?
Click flag to reveal 916564984e38f8bb91921cd4e40b64156a72142b
A Second DLL file was downloaded from the same malicious domain. Where was it downloaded on the filesystem?
Click to reveal answer C:\windows\system32\wbem\tzres.dll
When was this DLL downloaded on the system?
Click flag to reveal 2025-05-28 12:54:23
The threat actor downloaded a VBScript for command execution to facilitate the DLL execution of the second malicious DLL. What is the full path of this script after it was moved to a new location?
Click to reveal answer C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\a.vbs
What is the full command that the script is configured to execute?
Click flag to reveal cmd.exe /c systeminfo
The threat actor configured the VBS script to be hidden from the Windows GUI (File Explorer). When was this attribute set on the file?
Click to reveal answer 2025-05-28 12:56:11
Which process loads the previously identified DLL with this command? The command executed by the VBS script ultimately facilitates loading and execution of the Second malicious DLL, providing persistence and execution capabilities to the attacker.
Click flag to reveal wmiprvse.exe
The threat actor downloaded an image file to change the desktop wallpaper. What is the full path of this file?
Click to reveal answer C:\Users\Public\Pictures\gg.bmp
The threat actor then proceeded to change the desktop wallpaper of the compromised user to the newly downloaded image. Find the time when the wallpaper was altered?
Click flag to reveal 2025-05-28 12:59:30
When did the victim user log in to their workstation after the compromise?
Click to reveal answer 2025-05-28 15:04:41
What is the message on the new wallpaper?
Click flag to reveal HACKED BY ANARCHY