Case file #CHIMERA-99
Mission briefing
The incident
At 15:13:52 UTC the network IDS raised a high-severity alert: a single internal host had pushed more than two gigabytes through the corporate egress proxy in under ten minutes. By the time IT Operations picked up the page, the transfer had finished.
What left was the tape-out mask set for Project Chimera, CipherTech's prototype quantum processor. The obvious suspect is the engineer whose account ran the upload. The CISO doesn't think it's that simple.
Working theory from Security: an insider was physically inside the building, sat down at somebody else's machine and used it to get the data out. Prove it or disprove it. Then name them.
What you have
A forensic snapshot of every log source we could collect, merged into one SQLite database (ciphertech.db). Open it in the evidence console or in your own tools. The facility blueprint shows where every badge reader is.
log_sources — what produced each tableemployees — HR directoryaccess_profiles — which doors each profile opensaccess_cards — permanent badgestemp_badges — reception-issued temporary cardsdoor_logs — every badge swipeworkstations — asset inventorydhcp_leases — IP ↔ MAC over timeendpoint_events — EDR: logons, USB, processesids_alerts — Suricata alertsnetwork_flows — internal NetFlowproxy_logs — egress proxydns_logs — internal resolverfile_system — EDR file telemetryit_assets — hardware registerhelpdesk_tickets — ServiceDeskchat_logs — CipherChat messagesemail_metadata — message tracewitness_statements — HR interviewsYour objectives
- The machine. The
hostnameof the workstation the data was uploaded from. - The owner. The
usernameof the employee that workstation is assigned to. - The ghost. The
usernameof the person who was actually at the keyboard. - The exit. The
door_logs.idof the swipe where the ghost left the building after the theft. - The drop. The public IPv4 address of the server that received the data.
- The payload. The decoded file name of the archive that was stolen, including its extension.
Flag format
Join the six answers with underscores, in order, inside OPSEC{ }:
Made-up example: OPSEC{FIN-WS09_jdoe_asmith_123_192.0.2.10_q3-report.zip}.
The checker ignores upper/lower case, but every character counts. Submit on the flag page.
Field notes
Every answer is in the database, and every one has at least one plausible wrong answer next to it. If a single query gives you an answer, try to disprove it with a second log source before you trust it.
Hint 1 · Where to start
log_sources in full before you join any two tables.Hint 2 · Machines
Hint 3 · People
Hint 4 · Destinations
Hint 5 · Files
Trust no one. Verify everything.