Academy Central
----
Weather

scripts/

Helper scripts for the HITCON 2026 Mini Cyber Range writeup. Most need secrets via env vars — never hardcode/commit tokens.

ScriptTrackPurposeEnv
hibp_check.sh1Check emails vs Have I Been PwnedHIBP_API_KEY (or use the website)
mailpit_find_phish.js1Browser-console: list senders, flag homoglyph phish, extract URLsrun in the Mailpit lab tab
urlscan_first_scan.sh1Earliest urlscan scan → web-server name+versionURLSCAN_API_KEY (optional)
rpc_harness.shanytRPC submit + verify (submission.completed); single / dictionaryTRAPA_JWT
service_name_wordlist.txt2Candidate service names for rpc_harness.sh dict (low odds — prefer host recon)
byo_remediate.sh4Idempotent hardening of the Helpdesk host (run on the box as sre)run on host
tokensink_solver.py5Oracle solver skeleton (PRNG + seed recovery + framed answer)run on trap-client; pwntools/pyte

Common usage

export TRAPA_JWT='<paste Bearer token from DevTools>'   # do NOT commit

# check a task's completion
./rpc_harness.sh check
# submit a single answer
./rpc_harness.sh answer 'Apache'
# dictionary (last resort; a unique service name is not practically brute-forceable)
./rpc_harness.sh dict service_name_wordlist.txt

Override the target task by exporting ZONE_ID, TRACK_ID, MISSION_ID, TASK_ID (defaults target Track 2's "Malicious Service Name"). Discover IDs with track.getZoneTrackMissionsBySlug (see ../architecture.md). </content>

More in this folder