Crown Wars
Take root. Claim the crown. Hold it.
The loop
- Register SSH key, claim a slot
ssh -i your_key -p 2300 [email protected]- Get root via any primitive below
crown-claim kothN <primitive-slug>- Hold the throne · +1/min while active
- Get dethroned · take it back
Primitives
Multiple routes to root. Core routes are always open; escalation routes unlock as the round runs. What each one is — and how it works — is yours to find. That's the game.
Run crown-claim with no args on the box to list the slugs it accepts; pass the one you used. One-liners live in the in-arena cheat sheet.
Scoring
| Crown via known primitive | + market value at grab time |
| Hold the throne | +1 / min (active only) |
| Generic patch | +3 |
| Patch the path you got hit with | +5 |
| First crown via a new slug | +50 (once per slug, global) |
Market: every primitive starts the round at its base value (10–18). Each grab via a path drops its price by 2 (floor: 2). Price is locked at grab time. Resets on round close.
Crown decay
After 5 min on the throne, your score starts bleeding 30% per minute. Patch the path you got hit with (+5) to reset the timer. Or pray the Guard heals you.
Escalation
After 5 min of an active king, the arena opens a fresh escalation primitive (60s warning). Up to 3 per round, ~3 min apart. Watch the exploit market on the arena page — new slug = the king's reign just got shorter.
King's Guard · asymmetric defender
Pure browser play, no SSH needed. One slot per round, first-come-first-served, opens only after the first crown grab. Sits with the king against attackers.
| 🔒 lockdown · 1/round | freeze a primitive 3min — no crowns score |
| 👁 eye · always on | live syscall feed across all slots |
| 💚 heal · 1/round | reset king's decay → 5min grace |
| passive scoring | ½ king's active hold-seconds / min |
Drift mode (mutating arena)
The arena mutates every round. SUID binaries are renamed AND relocated — same primitive, different name and path. The exploit vector itself rotates too: a wrapper accepts exactly one input shape per round and silently ignores the rest. Memorize the chain, not the name.
Each round also plants a decoy SUID binary. Looks exploitable; isn't. Touching it logs your uid and argv to a file the Guard's Eye reads — naive attackers get burned. strings a binary before you trust it.
Everything you need for this round — current names, dirs, and the active signature — is in /etc/breachlab-drift. Read it once, enumerate with find / -perm -4000, then craft.
Live audit feed
Every syscall the king makes streams live to /battles/koth. Captured outside the arena via host-namespace strace — king-as-root cannot disable it. You ARE being watched while you sit on the throne.
Round cycle
30-minute clock starts on the first crown grab, not when the arena opens. Until then: standing by, you can ssh in, look around, prep. After close: container force-recreated, primitives reset, prices reset, drift reshuffles. SSH keys persist.
Daily challenge
A 3-step climb to root on your own private box — clear each step to unlock the next; fastest total time takes the crown. Same box for every player worldwide, shared leaderboard, resets 00:00 UTC. See /battles/koth/daily.
Fair play
Do anything to the box. Do nothing to deny the box. Hardening, patching, killing attackers mid-exploit, booby-trapping — game. Locking everyone out so you alone sit on the throne — not.
✓ allowed
- Patch the path you got hit with
- Kill specific exploit PIDs mid-run
- Booby-trap files attackers might run
- Read auth.log, ps, w
✗ not allowed · watchdog enforced
- Kill-on-login loops · killing other ops' shells on sight
- Fork bombs · OOM bombs · disk fill
- Killing sshd · iptables-blocking SSH
- Bricking critical files (chmod 000 /bin/bash, /etc/passwd…)
Trigger = round forfeit + force-recreate. Repeat = manual ban.
─ other
- No attacks on platform, host, or other tracks
- No sharing private keys
- Arena escape · platform vulns → DM @ato in Discord
Command reference
| crown-claim <slot> <slug> | claim throne (run as root) |
| cat /etc/breachlab-drift | this round's alias, dir, signature |
| find / -perm -4000 | enumerate SUID binaries (drift) |
| stat /root/.crown | current king (owner field) |
| cat /var/log/auth.log | watch other ops |
| w · ps auxf | who else is on the box |