Tech Forge

Exercises › Module 05

Triage Trap

An AI-assisted exercise on malware analysis, indicators of compromise, and incident reporting. Suggested time: about 40 minutes.

Goal

Use an AI assistant to generate a fictional malware analysis case file (a static analysis report, a sandbox run report, and an analyst's draft verdict), then turn it into an incident report with an Indicators of Compromise (IoC) list. You analyze documents, not malware: no samples are downloaded, opened, or run. Your real job is to catch what the draft verdict got wrong before it reaches the incident commander.

Safety rules

1 Generate the case file

Paste this into your AI assistant. It builds three fictional documents. Save the output before moving on.

You are helping me build a fictional training case for an ethical hacking class. Everything must be invented. Do not output malware code, scripts, macros, working commands, or real hashes. The client is 'Harborline Logistics', a fictional shipping company. The investigators are 'Northgate Response', a fictional incident response team. Use only .example domains and documentation IP addresses (192.0.2.x, 198.51.100.x, 203.0.113.x). Use obviously fake hashes made of repeating patterns (for example 9f3a9f3a...). No real companies, people, malware families, or products.

A finance clerk at Harborline opened an email attachment called 'InvoiceViewer.exe'. Create a malware analysis case file with three documents:

Document A, Static Analysis Report: file name, size, SHA-256 hash, file type (Windows Portable Executable), packer detection and entropy, notable imported functions, and 8 to 10 extracted strings (domains, file paths, registry paths).

Document B, Sandbox (Dynamic Analysis) Report: the SHA-256 hash of the file that was run, a timeline of 12 to 15 timestamped events covering processes started, files created, registry changes, scheduled tasks, and network connections, plus a short network summary table.

Document C, Analyst Draft Verdict: a one-page summary written by a junior analyst with a severity rating, an IoC list (hashes, domains, IPs, file paths, registry keys, task names), and recommended containment steps.

IMPORTANT: do not label, flag, or hint at these anywhere, and write them as normal details:
- The SHA-256 hash in Document B must differ from Document A in only the last 4 characters, and Document C must use the hash from Document A.
- In Document B, include a scheduled task named 'OneDriveSyncHelper' that runs a file from the user's AppData\Roaming folder every 30 minutes. Document C must not list this task anywhere.
- In Document B, include repeated HTTPS connections every 60 seconds to cdn-update.harborline-files.example (203.0.113.45). Document C must describe this as 'normal software update telemetry' and leave it out of the IoC list.
- Document C should also list one benign Windows process (svchost.exe running from C:\Windows\System32) as a malicious indicator.
- Everything else in the three documents should be accurate and consistent.

Tip: if the AI labels or flags any planted problem, ask it to regenerate without flags, or swap case files with a partner.

2 Have AI write the incident report

Ask the AI to turn the case file into a report for the incident commander.

Act as a senior malware analyst at Northgate Response. Using only Documents A, B, and C, write an incident report for the Harborline incident commander with these sections:
1) Executive summary in plain language.
2) Sample identification: file name and SHA-256 hash.
3) Behavior summary mapped to the malware lifecycle (delivery, execution, persistence, command and control, objectives).
4) Final IoC table: indicator, type, source document, and confidence.
5) Containment and eradication steps.
6) Detection recommendations for the security operations center.

Then rate your confidence in the overall verdict (High, Medium, or Low) and explain why.

Watch the hash, the persistence section, and the network section. The AI tends to trust the junior analyst's draft.

3 Review it yourself, then fix it

Do this review yourself before you trust the AI's report:

  1. Compare the SHA-256 hash in Document A with the one in Document B, character by character. Did the sandbox run the same file the static report describes? If not, what does that do to every dynamic finding?
  2. Read the sandbox timeline for persistence. Is there a scheduled task, Run key, or startup entry that the draft verdict and the AI report never mention? Is its name pretending to be something legitimate?
  3. Look at the network events. Connections at a fixed interval to the same host are a classic command-and-control (C2) beaconing pattern. Is it called "telemetry" anywhere?
  4. Check the IoC list for false positives. Is a normal Windows process from its normal folder listed as malicious? What happens if the security team blocks it?
  5. Stretch goal: for each problem, name the Module 05 analysis step that would catch it (file fingerprinting, scheduled task analysis, network traffic analysis, baseline comparison).

Then fill in the brackets and run:

Revise the Harborline incident report:
1) The sandbox report hash [Document B hash] does not match the static report hash [Document A hash]. State that the dynamic results describe a different file, mark all dynamic findings as unverified, and add a step to re-run the sandbox on the correct sample with a verified hash.
2) The sandbox shows a scheduled task [task name] running [file path] every [interval]. Add it to the IoC table as a persistence mechanism and add removal to the eradication steps.
3) The repeated connections to [domain and IP] every [interval] match command-and-control beaconing, not update telemetry. Add the domain and IP to the IoC table and add blocking and hunting steps.
4) Remove [benign process and path] from the IoC table and explain why it is a false positive.
5) Update the confidence rating and explain what changed.

Re-read the revision. The AI sometimes fixes the IoC table but leaves "telemetry" or the wrong hash in the executive summary.

Review checklist

Deliverables

Grading rubric (10 pts)

CriterionPts
Hash mismatch caught, with the impact on dynamic findings explained2
Disguised scheduled task identified as persistence and added to IoCs and eradication2
Beaconing identified as command and control, with domain and IP added and blocking steps2
False positive removed with a clear reason2
Corrected report is consistent end to end (summary, IoC table, steps, confidence)2
Answer key (spoilers: finish the exercise first)

What a correct submission shows

Why it matters

Common mistakes

Instructor variant (same answer for everyone)

Add this line to the Step 1 prompt:

Make the Document A hash end in 'c0de' and the Document B hash end in 'c0df'. Have the scheduled task run C:\Users\mreyes\AppData\Roaming\SyncHelper\synchelper.exe. Set the sandbox run time to 14:02 to 14:20 UTC.

Answer: the hashes differ (c0de vs. c0df); OneDriveSyncHelper runs synchelper.exe from AppData\Roaming every 30 minutes; cdn-update.harborline-files.example / 203.0.113.45 beacons every 60 seconds; svchost.exe from System32 is a false positive.

Join the Tech Forge community

Share your corrected incident report, compare which problems you caught, and get feedback from other learners on the Tech Forge Discord.

Join the Discord

Or scan the code with your phone: techforge.community/discord

QR code linking to techforge.community/discord