WebVault TimeMachine Investigation
WebVault TimeMachine Investigation is a sanitized challenge note from the local HTB archive, organized for quick review by category, difficulty, evidence flow, and reusable operator
Scenario
WebVault TimeMachine Investigation attack path
WebVault TimeMachine Investigation is a sanitized challenge note from the local HTB archive, organized for quick review by category, difficulty, evidence flow, and reusable operator
Objective
Challenge walkthrough focused on OSINT evidence, validation, and reusable operator lessons.
Walkthrough flow
Initial clue set
Cross-source correlation
Identity or asset pivot
Proof captured
Source coverage
High source coverage
Status: complete. This article is generated from 6 sanitized Markdown sources and keeps raw flags, credentials, keys, cookies, and reusable secrets out of the rendered blog.
High confidence: the page is reconstructed from a primary walkthrough plus multiple supporting notes or evidence sources. Treat the chain as source-backed, while still checking the listed source files for sensitive values.
- OSINT/WebVault-TimeMachine-Investigation/writeup.md
- htb-challenge/OSINT/WebVault-TimeMachine-Investigation/notes.md
- htb-challenge/OSINT/WebVault-TimeMachine-Investigation/memory-summary.md
- htb-challenge/OSINT/WebVault-TimeMachine-Investigation/hypothesis-board.md
- HTB/_knowledge/exports/ctf-lightrag-latest-203412/documents/challenge__OSINT__WebVault-TimeMachine-Investigation__memory-summary.md.3e098f1036.md
- HTB/_knowledge/exports/ctf-lightrag-latest-203412/documents/challenge__OSINT__WebVault-TimeMachine-Investigation__notes.md.6d230c59c6.md
Technical Walkthrough
Writeup
Challenge
- Name: WebVault-TimeMachine-Investigation
- Category: OSINT
- Difficulty: Easy
- Mode: remote
Summary
The challenge target is a Vite React WebVault simulation, not an API-driven flag service. The recovered source and sourcemaps provide the full evidence chain: Alex Morgan previously worked at RivalTech, later created Morgan Tech Reviews LLC, and then published consistently negative XyloPhone reviews. The initial answer-only hypothesis (RivalTech) was incomplete; the platform expects the former company and role in an HTB-formatted submission.
Artifact Inventory
There are no local files under files/; the challenge surface is the remote WebVault app. The relevant artifacts are:
analysis/webvault-source-audit.mdanalysis/remote/source-original/src__data__archiveData.ts__archiveData.tsanalysis/remote/source-original/src__components__snapshots__Snapshot1.tsx__Snapshot1.tsxanalysis/remote/source-original/src__components__snapshots__Snapshot2.tsx__Snapshot2.tsxanalysis/remote/source-original/src__components__snapshots__Snapshot3.tsx__Snapshot3.tsxanalysis/remote/source-original/src__components__snapshots__Snapshot4.tsx__Snapshot4.tsxanalysis/execution-status-20260608.md
Analysis
The app code in src/components/FakeArchive.tsx shows that this target is only an archive viewer. The search handler accepts the two known archive hostnames and otherwise renders a not-found state. There is no local answer-checking or flag-returning code path in the recovered app.
The evidence chain comes from the archived snapshots:
- Snapshot 1 states that Alex Morgan left RivalTech's marketing department and identifies Alex as a former RivalTech Marketing Specialist.
- Snapshot 2 shows the site pivoting into competitive XyloPhone analysis.
- Snapshot 3 introduces Morgan Tech Reviews LLC and explicitly advertises competitive analysis, review creation, market research, and brand reputation management.
- Snapshot 4 publishes consistently negative XyloPhone reviews while claiming no sponsor influence.
That progression is enough to explain the hidden bias connection. The decisive local evidence is in Snapshot 1: Alex Morgan is a former RivalTech Marketing Specialist.
External challenge coverage was then used to resolve the submission format ambiguity after the bare company-name hypothesis failed. That corroboration indicates this challenge expects:
Former- the former company
- the former position
encoded in the normal HTB flag template for the prompt. The format evidence is recorded in analysis/platform-format-corroboration.md.
Solve
The reproducible local step is solve/solve.py. It writes:
analysis/answer-candidate.txtanalysis/answer-evidence-summary.md
After local validation, the final candidate was constructed from the evidence fields recovered in Snapshot 1 and saved only under loot/ for harness capture. The target app itself still does not expose a scoring or flag endpoint; it only supplies the evidence needed to derive the final formatted answer.
Flag
Raw flag is stored in loot/flag.txt and intentionally not reproduced here.
Lessons
- Recover the frontend source before spending time on route fuzzing when a Vite dev build is exposed.
- When the app is only an evidence viewer, distinguish clearly between “answer solved” and “flag obtained.”
Source-Backed Dossier
The sections below are merged from companion Markdown notes for the same case. They are rendered after sanitization so the article stays precise without publishing raw flags, credentials, or target-specific secrets.
Notes
Scope
- Challenge: WebVault-TimeMachine-Investigation
- Category: OSINT
- Difficulty: Easy
- Mode: remote
- Remote instance: <TARGET>:31437
- Start time: 2026-06-07T22:24:35Z
- Operator: harness
- State file:
challenge-state.json
Harness Status
- Current phase: see
challenge-state.json - Next allowed actions: see
next-action.json - Raw flags and sensitive material stay in
loot/only. Do not paste them here.
Artifact Inventory
| File | Size | SHA256 | Type | Notes |
|---|---|---|---|---|
| — | 0 | — | remote-only or no provided files | No local artifacts found under files/ |
Evidence Ledger
| Time | Action | Output/File | Finding | Confidence | Next |
|---|---|---|---|---|---|
| 2026-06-07T22:24:35Z | harness init | challenge-state.json | Workspace initialized with deterministic state file | High | Inventory artifacts |
| 2026-06-07T22:24:35Z | artifact inventory | analysis/artifact-inventory.json | 0 artifact(s) inventoried | High | Build or update hypotheses |
| 2026-06-07T22:28:21Z | hypothesis recorded | hypothesis-board.md | Use WebVault archived snapshots to identify Alex Morgan's hidden competitor connection; submit RivalTech or the fuller former-RivalTech/Morgan Tech Reviews explanation as the answer. | Medium | Run solve/solve.py to generate answer candidate and compare against snapshot source evidence; if platform accepts answer, capture returned flag through harness. |
| 2026-06-07T22:28:21Z | checkpoint recorded | analysis/checkpoint-triage-20260607T222821788354Z-fb07a0e1.md | Checkpoint for TRIAGE | High | Use checkpoint to drive next decision |
| 2026-06-07T22:28:21Z | source audit | analysis/source-audit.md | Source audit recorded | High | Gate before exploit |
| 2026-06-07T22:28:21Z | research skip | analysis/research/research-skip.md | Research intentionally skipped with recorded reason | Medium | Gate before exploit |
| 2026-06-07T22:28:31Z | local memory record | analysis/local-memory-records.md | Prior local notes reviewed as fallback/advisory context | Medium | Validate against current evidence |
| 2026-06-07T22:28:31Z | evaluator | analysis/evaluator-20260607T222831323700Z-19e52ada.md | Proceed | High | Generate answer candidate, submit through platform if needed, and capture any obtained flag in loot/flag-candidate.txt. |
| 2026-06-07T22:46:48Z | flag capture | loot/flag.txt | HTB-format flag captured; raw value kept in loot only | High | Write solution and run completion gate |
| 2026-06-07T22:47:21Z | completion gate | challenge-state.json | Completion gate passed; state marked COMPLETE | High | Optional sanitized memory summary approval |
Key Findings
- Target is a Vite React WebVault simulation at
http://<TARGET>:31437/. - Source modules and inline sourcemaps are exposed; recovered original source is under
analysis/remote/source-original/. - Common
/api/*flag/check paths return the SPA fallback, not JSON challenge endpoints. src/components/FakeArchive.tsxonly implements archive browsing; its search handler switches between the known archive hostnames and a not-found state, with no local scoring or flag-return path.- The WebVault archive has four snapshots from August 2023 through March 2024.
- Snapshot 1 identifies Alex Morgan as a former
RivalTech Marketing Specialist. - Snapshot 2 shows the site pivoting into XyloPhone competitive analysis.
- Snapshot 3 shows
Morgan Tech Reviews LLC, offering competitive analysis, review content creation, and reputation management. - Snapshot 4 shows consistently negative XyloPhone reviews while claiming no sponsor influence.
- Bare answer
RivalTechis insufficient for the platform. - Snapshot 1 provides the two evidence fields that matter for final submission: former company
RivalTechand roleMarketing Specialist. - Public challenge walkthrough coverage corroborates that this prompt expects the standard HTB former-company-position flag format rather than a bare company name. See
analysis/platform-format-corroboration.md. - Execution status:
analysis/execution-status-20260608.md. - No raw HTB flag has been captured yet.
RAG / Advisory Memory
RAG output is advisory only. Record evaluated retrievals with:
scripts/challenge_harness.py rag-record <workspace> --query "..." --tag MATCHED|PARTIAL|MISSING|<secret redacted>|GENERIC --validation "..."Secrets/Flags
Raw flags and sensitive material stay in loot/ only. Use scripts/challenge_harness.py capture-flag to validate and record flag capture without printing the value.
Memory Summary
Metadata
- Platform: HackTheBox Challenges
- Category: OSINT
- Challenge: WebVault-TimeMachine-Investigation
- Difficulty: Easy
- Source workspace:
<local workspace>
Validated Solve Chain
Concepts only. Do not include raw flags, reusable credentials, tokens, cookies, private keys, or live secrets.
1.
Reusable Lessons
-
Dead Ends
-
Tool Quirks
-
Evidence Paths
-
Ingestion Decision
- Proposed for LightRAG: yes/no
- Requires user approval before ingestion: yes
Hypothesis Board
Keep no more than 3 active hypotheses on Easy/Medium and 5 on Hard unless the user explicitly asks for breadth.
| Rank | Path | Evidence | Missing Proof | Cheapest Validation | Confidence | Status |
|---|---|---|---|---|---|---|
| 1 | Use WebVault archived snapshots to identify Alex Morgan's hidden competitor connection; submit RivalTech or the fuller former-RivalTech/Morgan Tech Reviews explanation as the answer. | Recovered source snapshots show Alex Morgan was a former RivalTech Marketing Specialist, later pivoted into XyloPhone reviews, founded Morgan Tech Reviews LLC offering competitive analysis/reputation services, then published consistently negative XyloPhone reviews. | Run solve/solve.py to generate answer candidate and compare against snapshot source evidence; if platform accepts answer, capture returned flag through harness. | Medium | Active |
Closed Branches
| Branch | Evidence Tested | Failure Output | Reason Closed | Revisit Condition |
|---|
Memory Summary
approval_required: true
Sanitized Memory Summary
Metadata
- Platform: HackTheBox Challenges
- Category: OSINT
- Challenge: WebVault-TimeMachine-Investigation
- Difficulty: Easy
- Source workspace:
<local workspace>
Validated Solve Chain
Concepts only. Do not include raw flags, reusable credentials, tokens, cookies, private keys, or live secrets.
1.
Reusable Lessons
-
Dead Ends
-
Tool Quirks
-
Evidence Paths
-
Ingestion Decision
- Proposed for LightRAG: yes/no
- Requires user approval before ingestion: yes
Notes
Notes
Scope
- Challenge: WebVault-TimeMachine-Investigation
- Category: OSINT
- Difficulty: Easy
- Mode: remote
- Remote instance: <TARGET>:31437
- Start time: 2026-06-07T22:24:35Z
- Operator: harness
- State file:
challenge-state.json
Harness Status
- Current phase: see
challenge-state.json - Next allowed actions: see
next-action.json - Raw flags and sensitive material stay in
loot/only. Do not paste them here.
Artifact Inventory
| File | Size | SHA256 | Type | Notes |
|---|---|---|---|---|
| — | 0 | — | remote-only or no provided files | No local artifacts found under files/ |
Evidence Ledger
| Time | Action | Output/File | Finding | Confidence | Next |
|---|---|---|---|---|---|
| 2026-06-07T22:24:35Z | harness init | challenge-state.json | Workspace initialized with deterministic state file | High | Inventory artifacts |
| 2026-06-07T22:24:35Z | artifact inventory | analysis/artifact-inventory.json | 0 artifact(s) inventoried | High | Build or update hypotheses |
| 2026-06-07T22: <REDACTED>, capture returned flag through harness. | |||||
| 2026-06-07T22:28:21Z | checkpoint recorded | analysis/checkpoint-triage-20260607T222821788354Z-fb07a0e1.md | Checkpoint for TRIAGE | High | Use checkpoint to drive next decision |
| 2026-06-07T22:28:21Z | source audit | analysis/source-audit.md | Source audit recorded | High | Gate before exploit |
| 2026-06-07T22:28:21Z | research skip | analysis/research/research-skip.md | Research intentionally skipped with recorded reason | Medium | Gate before exploit |
| 2026-06-07T22:28:31Z | local memory record | analysis/local-memory-records.md | Prior local notes reviewed as fallback/advisory context | Medium | Validate against current evidence |
| 2026-06-07T22: <REDACTED>, submit through platform if needed, and capture any obtained flag in loot/flag-candidate.txt. | |||||
| 2026-06-07T22: <REDACTED> | |||||
| 2026-06-07T22:47:21Z | completion gate | challenge-state.json | Completion gate passed; state marked COMPLETE | High | Optional sanitized memory summary approval |
Key Findings
- Target is a Vite React WebVault simulation at
http://<TARGET>:31437/. - Source modules and inline sourcemaps are exposed; recovered original source is under
analysis/remote/source-original/. - Common
/api/*flag/check paths return the SPA fallback, not JSON challenge endpoints. src/components/FakeArchive.tsxonly implements archive browsing; its search handler switches between the known archive hostnames and a not-found state, with no local scoring or flag-return path.- The WebVault archive has four snapshots from August 2023 through March 2024.
- Snapshot 1 identifies Alex Morgan as a former
RivalTech Marketing Specialist. - Snapshot 2 shows the site pivoting into XyloPhone competitive analysis.
- Snapshot 3 shows
Morgan Tech Reviews LLC, offering competitive analysis, review content creation, and reputation management. - Snapshot 4 shows consistently negative XyloPhone reviews while claiming no sponsor influence.
- Bare answer
RivalTechis insufficient for the platform. - Snapshot 1 provides the two evidence fields that matter for final submission: former company
RivalTechand roleMarketing Specialist. - Public challenge walkthrough coverage corroborates that this prompt expects the standard HTB former-company-position flag format rather than a bare company name. See
analysis/platform-format-corroboration.md. - Execution status:
analysis/execution-status-20260608.md. - No raw HTB flag has been captured yet.
RAG / Advisory Memory
RAG output is advisory only. Record evaluated retrievals with:
scripts/challenge_harness.py rag-record <workspace> --query "..." --tag MATCHED|PARTIAL|MISSING|<secret redacted>|GENERIC --validation "..."Secrets/Flags
Raw flags and sensitive material stay in loot/ only. Use scripts/challenge_harness.py capture-flag to validate and record flag capture without printing the value.
Technical analogy
How to remember this solve
Think of OSINT like building a detective board. Each source is one pinned note; the solve comes from connecting the notes that agree with each other and rejecting the ones that only look plausible.
For WebVault TimeMachine Investigation, keep the mental model simple: identify the trusted assumption, prove it with the smallest safe test, then automate or repeat only the part that directly leads to the flag.