🥡 The Stolen Szechuan Sauce — DFIR Case 001 · Solved

2026-06-26 · DFIR Madness Case 001 (Albert Hui & Josiah Wu question set) · solved from disk + RAM only, both hosts · derived end-to-end from the artifacts — no walkthrough consulted · evidence staged & processed on homelab node .180 (~/szechuan/)

▸ New here? The 20-second story (plain language)
Confirmed breach. External RDP into the DC (194.61.24.102, 2020-09-19 03:22 UTC) → Meterpreter coreupdater.exe injected into spoolsv.exe, C2 to 203.78.103.109:443 (Thailand) → service + Empire-registry persistence → full NTDS credential theft → lateral DC→Desktop via stolen domain-admin → secret files read & the sauce exfiltrated → "Beth's secret" deleted, replaced with a decoy, and the decoy timestomped. C2 still live at acquisition.
2
hosts compromised
2
malicious IPs
2
malware kits
4
persistence footholds
6/9
passwords cracked
26/26
questions answered
⏱ Clock provenance — read this before any timestamp. All disk / EVTX / memory timestamps are stored in UTC; this dashboard quotes UTC as ground truth. The victim VMs' clock is mis-set to Pacific (UTC−7 / PDT) while the org is physically in Colorado (UTC−6 / MDT) — so the host's wall-clock reads ~1 h off the "network" narration. The analysis box (.180) is HKT (UTC+8); any istat output shown was converted by −8.
evidence
  • SYSTEM\ControlSet001\Control\TimeZoneInformation → TimeZoneKeyName = Pacific Standard Time, ActiveTimeBias = 420 (=UTC−7, daylight). Bias 480 (UTC−8) standard.
  • Scenario page states the org is in Colorado, September → UTC−6. Net-vs-host skew is therefore ~1 h — exactly the documented "game-ism".

① Core Questions (1–13)

1. OS of the Server? — Windows Server 2012 R2 Standard (Evaluation), build 9600 (NT 6.3); it is the Domain Controller CITADEL-DC01, domain C137.local.
evidence
  • volatility3 windows.info: NtMajorVersion 6 / NtMinorVersion 3, NtProductLanManNt (=DC role), build 9600.
  • SOFTWARE\Microsoft\Windows NT\CurrentVersion → ProductName=Windows Server 2012 R2 Standard Evaluation, InstallationType=Server.
  • SYSTEM\…\ComputerName → CITADEL-DC01; NTDS domain = C137.local.
2. OS of the Desktop? — Windows 10 Enterprise (Evaluation), build 19041 (v2004); workstation DESKTOP-SDN1RPT.
evidence
  • volatility3 windows.info: NtMajorVersion 10, Major/Minor 15.19041, NtProductWinNt.
  • SOFTWARE\…\CurrentVersion → EditionID=EnterpriseEval, InstallationType=Client, build 19041.
3. Local time of the Server? — Pacific Standard Time, active offset UTC−7 (PDT) — mis-configured vs the org's true UTC−6. See the clock card above.
4. Was there a breach? — Yes — confirmed by ≥5 independent artifacts (external RDP, injected Meterpreter, Empire persistence, live C2, credential + data theft).
5. Initial entry vector? — External RDP to the internet-exposed DC. Successful interactive RDP as C137\Administrator from 194.61.24.102 at 2020-09-19 03:22:37 UTC — 90 s before the malware was dropped.
evidence & the brute-force caveat
  • Microsoft-Windows-TerminalServices-LocalSessionManager/Operational EID 21 (session logon): 03:22:37Z · C137\Administrator · 194.61.24.102; disconnect (24) 03:52:46Z; reconnect 03:56:04Z. This log survived the Security-log blackout.
  • Brute-force = inferred, not log-proven: the DC Security.evtx contains only 1 failed logon (4625) and no type-10 RDP — because the log's last event is 01:23:23Z (right after a 01:22:38 reboot) and the entire attack (03:2x–03:5x) falls in that blackout. RDP exposed straight to the internet + a sudden external admin logon is consistent with credential brute-force/stuffing; the failed-attempt storm simply isn't in the on-disk window.
6. Was malware used? — Yes — two kits: Meterpreter (coreupdater.exe → injected into spoolsv.exe) and PowerShell Empire (registry stager).
sub-questionanswer
i. malicious processcoreupdater.exe (DC PID 3644, session 2; ran 03:56:37–52Z) + the injected spoolsv.exe (DC PID 3724 / Desktop PID 2188) holding the live C2
ii. IP that delivered payload194.61.24.102 (dropped it over the RDP session); second-stage pulled from C2 203.78.103.109
iii. C2 IP203.78.103.109 : 443
iv. on diskC:\Windows\System32\coreupdater.exe (7168 bytes) — on both hosts
v. first appearedDC 2020-09-19 03:24:06–12Z; Desktop 03:40:00Z
vi. capabilitiesMeterpreter: full C2, file transfer, process injection/migration, pivot, credential theft; Empire: PowerShell post-exploitation. Runs as LocalSystem.
vii. easily obtained?Yes — Metasploit/msfvenom + PowerShell Empire are free & open-source
viii. moved?Yes — the same binary was redeployed DC→Desktop (lateral)
ix. persistence?Yes, on BOTH hosts — see below
evidence (memory injection, C2, persistence)
  • Injection — vol3 malfind on DC spoolsv.exe PID 3724: multiple PAGE_EXECUTE_READWRITE regions with MZ headers; one starts 4D 5A 41 52 55 48 89 E5 ("MZARUH…") = the Meterpreter x64 reflective-loader stub.
  • C2 — vol3 netscan: DC 10.42.85.10:62613 → 203.78.103.109:443 ESTABLISHED (owner coreupdater PID 3644); Desktop 10.42.85.115 → 203.78.103.109:443 ESTABLISHED ×2. It is the only non-RFC1918 C2 in the capture.
  • Persistence #1 (service) — SYSTEM\…\Services\coreupdater: Start=2 (auto), ImagePath=C:\Windows\System32\coreupdater.exe, ObjectName=LocalSystem — identical on both hosts.
  • Persistence #2 (Empire registry) — SOFTWARE\…\Run\coreupdate = powershell -nop -w hidden -c "iex([…]FromBase64String((Get-Item 'HKLM:Software\9sEoCawv').GetValue('45SVAG2o')))"; the decoded blob is an Empire launcher (GzipStream+base64 scriptblock). On both hosts.
7. Malicious IPs involved? — 194.61.24.102 (external RDP attacker) and 203.78.103.109:443 (C2; Thailand-based per scenario).
8. Did the attacker access other systems? How / when / data? — Yes — the Desktop (DESKTOP-SDN1RPT, 10.42.85.115). How: RDP as C137\Administrator from the DC (10.42.85.10) using stolen domain-admin creds. When: 2020-09-19 03:36:25 UTC. Data: full domain credential DB (NTDS) dumped; secret files read.
evidence
  • Desktop TerminalServices-LocalSessionManager EID 21: 03:36:25Z · C137\Administrator · source 10.42.85.10 (the DC). Disconnect 03:52:13Z.
  • Confirmed by coreupdater.exe appearing on the Desktop at 03:40:00Z (MFT $SI/$FN) and the same C2 beacon in Desktop RAM.
9. Network layout? — Domain C137 / C137.local, subnet 10.42.85.0/24. DC CITADEL-DC01 = .10; workstation DESKTOP-SDN1RPT = .115. RDP exposed to the internet; external attacker 194.61.24.102; C2 203.78.103.109.
10. Architecture changes (immediate)? — Pull RDP off the internet → VPN + MFA / RD-Gateway; segment the DC; deploy EDR; egress-filter to kill the C2; centralize logs to a SIEM so host-side blackouts don't blind the investigation.
11. Steal the Szechuan sauce? Time? — Yes — C:\FileShare\Secret\Szechuan Sauce.txt opened by the attacker at 2020-09-19 03:32:21 UTC. Recipe recovered in full.
evidence + the recipe
  • …\Administrator\…\Recent\Szechuan Sauce.lnk mtime 11:32:21 HKT = 03:32:21Z (shortcut written when the file was opened).
  • Contents: ¼ cup low-sodium soy sauce · 2 tbsp maple syrup/brown sugar · 1 tbsp cornstarch · 1 tbsp chili-garlic sauce · 1 tbsp rice vinegar · ½ tsp Chinese 5-spice · ½ tsp red-pepper flakes · ½ tsp garlic powder · ½ tsp ground ginger — "From gimmesomeoven.com".
12. Other sensitive files accessed? Times? — Yes — SECRET_beth.txt opened 03:32:13Z (then deleted & replaced); PortalGunPlans.txt, NoJerry.txt in the same share; and the entire domain credential store (ntds.dit).
evidence
  • Administrator Recent LNKs: SECRET_beth.lnk 03:32:13Z, Beth_Secret.lnk / Secret.lnk 03:35:07Z.
  • ntds.dit + SYSTEM hive yielded all domain NT hashes (see B6).
13. Last known contact with the adversary? — The C2 channel was still ESTABLISHED at acquisition — DC RAM captured 2020-09-19 04:39:59 UTC, Desktop RAM 05:10:39 UTC; attacker RDP last reconnect 03:56:04Z. The attacker was still interactive when imaged.

② Attack timeline (UTC · 2020-09-19 unless noted)

time (UTC)eventsource
01:22:38DC reboots; Security log goes dark 01:23:23 (Desktop 01:24:08) — the blackout windowRAM / EVTX
03:22:37RDP into DC as C137\Administrator from 194.61.24.102 (initial access)TS-LSM
03:24:06–12coreupdater.exe dropped on DC System32$MFT
03:29:40spoolsv.exe (PID 3724) — Meterpreter injection targetRAM pslist
03:32:13 / 03:32:21Attacker opens SECRET_beth.txt then the Szechuan Sauce recipeLNK
03:34:27SECRET_beth.txt deleted to Recycle Bin$I file
03:34:56Decoy Beth_Secret.txt created ($FN); $SI then timestomped → 2020-09-18 23:33:54$MFT
03:36:25Lateral RDP DC→Desktop as C137\Administrator from 10.42.85.10Desktop TS-LSM
03:40:00coreupdater.exe dropped on Desktop System32$MFT
03:56:04–52Attacker RDP reconnect to DC; coreupdater process runs (PID 3644), C2 beaconTS-LSM / RAM
04:39:59 / 05:10:39DC then Desktop RAM acquired — C2 still ESTABLISHEDRAM SystemTime

③ Bonus Questions (B1–B8)

B1. CIS / SANS controls that would have prevented this? — CIS v8 #4 (secure config — no internet-facing RDP), #6 (access control / MFA), #5 (account mgmt — kill the weak passwords), #8 (centralized audit logs), #10 (malware defenses / EDR), #13 (network monitoring to catch the C2). MFA + no-public-RDP would have directly stopped the initial access.
B2. Major architecture improvement? — Remove RDP from the internet entirely; place behind VPN + MFA or an RD Gateway; segment the DC from general workstations.
B3. Policy / control improvements? — Enforce a strong password policy (P@$$w0rd, Jessica@1 cracked instantly), MFA everywhere, least-privilege (no day-to-day domain-admin), centralized logging/SIEM, EDR, and egress filtering.
B4. Users who logged onto the DC? — C137\Administrator (interactive/RDP), plus network (type-3) logons from .115 as ricksanchez, mortysmith, Administrator.
B5. Users who logged onto the Desktop? — Local Admin, ricksanchez, mortysmith (and defaultuser0 during OS build).
B6. Passwords for the domain users? — Dumped all NT hashes from ntds.dit (impacket secretsdump), cracked 6/9 against rockyou (pure-Python MD4):
accountpasswordNT hash
C137\Administrator (RID 500))&Denver8910e63d3f2c9924bae49241cff847e405
local AdministratorP@$$w0rdf56a8399599f1be040128b1dd9623c29
jerrysmith!BETHEYBOO12!bc51f858ccacc9db408c0ba511d5d639
mortysmithJessica@1dc8b282b8f4e1dd3c5f95fd491ff6d8d
bethsmithRedWine1!b9cc9177094af2e17b413a0cbf63fac2
birdman(dimension5150)944055b77ebe7d6fd80f24b5fce634fb
ricksancheznot in rockyou746447f27820a9d863eea94d176cc135
summersmithnot in rockyou26b2cc706093c4fa46e0519ec5feaeaf

krbtgt & machine-account hashes also recovered (omitted; random). ricksanchez/summersmith would need a rules/mask attack.

B7. Recover the file about Beth's Secret — original name & contents?
evidence (Recycle Bin recovery)
  • Recovered from $Recycle.Bin\S-1-5-21-…-500\$RU2L112.txt (the deleted data) — content "Earth beth is the real beth."
  • Companion $IU2L112.txt metadata → original path C:\FileShare\Secret\SECRET_beth.txt, deleted 2020-09-19 03:34:27Z. Corroborated by the SECRET_beth.lnk Recent shortcut.
B8. What file was timestomped? — C:\FileShare\Secret\Beth_Secret.txt — the decoy. Its $STANDARD_INFORMATION times were backdated ~4 h and the sub-seconds zeroed, while $FILE_NAME reveals the true creation.
attributeCreatedtell
$SI (shown to users)2020-09-19 07:33:54.000000000 (host)backdated + zeroed µs = stomped
$FN (true)2020-09-19 11:34:56.970445 (host) = 03:34:56Zreal creation, sub-second intact
evidence + why the others are clean
  • istat on the decoy: $SI ≪ $FN by ~4 h and $SI µs = all-zero — the classic Metasploit/Empire timestomp double-signature.
  • The other three secret files (NoJerry.txt, PortalGunPlans.txt, Szechuan Sauce.txt) have matching $SI/$FN with non-zero sub-seconds → not stomped. The legit binary coreupdater.exe was also not stomped on either host ($SI = $FN), which is how we know the stomp was deliberate and targeted at the decoy.

④ Extra Questions (not in the original CTF)

Other artifacts revealing how evidence was collected? — Yes — FTK Imager.exe (running from E:\) is visible in DC RAM (PID 2840), matching the client interview ("FTK Imager Lite + Redline Collector"). The 01:22 reboot + Security-log blackout is the acquisition/IR footprint, not attacker log-clearing (no 1102 event exists).
How many times did the attacker log in? — ≥2 external RDP connections to the DC from 194.61.24.102 (initial 03:22:37Z + reconnect 03:56:04Z after a 03:52 disconnect), plus 1 lateral RDP DC→Desktop (03:36:25Z).
Identify the outlier login without prior IOCs (frequency analysis)? — Group RDP sessions by source: all historical sessions are internal (WIN-E0PO207ERMD, host-local). Exactly one source — 194.61.24.102 — is external and appears only on 2020-09-19; it's the lone outlier and the lead.
What files did the attacker open (LNK artifacts)? — From Administrator's Recent shortcuts: Szechuan Sauce.txt, SECRET_beth.txt, Beth_Secret.txt, and the Secret folder (03:32–03:35Z).
Multiple sources of persistence within the malware? — Yes — (1) auto-start service coreupdater, (2) HKLM Run-key Empire PowerShell stager coreupdate, (3) in-memory Meterpreter migrated into spoolsv.exe — all replicated on both hosts (≈4 footholds total).

⑤ Indicators of Compromise (IOCs)

typevaluerole
IP194.61.24.102external RDP source (initial access)
IP:port203.78.103.109:443Meterpreter C2 (both hosts)
fileC:\Windows\System32\coreupdater.exeMeterpreter service binary (7168 B)
servicecoreupdater (auto, LocalSystem)persistence #1
registryHKLM\SOFTWARE\…\Run\coreupdate → HKLM\Software\9sEoCawv\45SVAG2oEmpire persistence #2
processinjected spoolsv.exe (RWX + MZ "MZARUH")migrated Meterpreter
▸ Methodology & toolchain (for the curious / the next analyst)
Verdict: a complete, evidence-backed reconstruction — internet-exposed RDP → Meterpreter + Empire → domain-wide credential theft → DC→Desktop lateral → recipe & secret exfil → deletion, decoy, and timestomp to cover tracks, with the C2 still live at capture. All 13 core + 8 bonus + 5 extra questions answered, each traceable to a specific artifact.