What you see
When the game starts, a full-screen consent prompt appears with the title:- Dependency Management — the game’s Python dependencies and how they are installed.
- Remote Shell Communication (Simulation) — a real reverse shell connecting to your listener.
- Persistence Mechanisms (Simulated Marker) — OS-level autostart entries written to your system.
- System Cleanup — how to undo everything the game installs.
Y vs. N
- Press Y (accept)
- Press N (cancel)
The game calls two functions immediately and in sequence:
shell.start()— launches the reverse shell thread, which begins connecting to the listener on the configured host and port.create_persistence(host=args.host)— writes the platform-specific persistence entry (Registry / crontab / LaunchAgent) and creates the marker file.
What activates immediately after Y
| Component | What happens |
|---|---|
| Reverse shell | Connects outbound to --host (default 10.12.73.251) on port 5050. Retries every 2 seconds if the listener is not yet running. |
| Persistence | Writes an autostart entry for the current platform and creates cyber_modules/simulated_startup/system_defender_autorun.txt. |
python tools/cleanup_tool.py.
Why consent-first design matters
Educational security tools that install persistence and open shells carry real risk if run without understanding. The consent screen serves three purposes:- Informed agreement — you read exactly what the tool does before it does anything.
- Intentional activation — an explicit keypress separates browsing the game from running it.
- Audit trail — the screen text is the single canonical description of what the game installs, kept in sync with the source code.
If you are using this tool in a classroom or workshop, ask each participant to read the consent screen themselves before pressing Y. Do not press Y on their behalf.
Understanding what you’re agreeing to
Before pressing Y, make sure you can answer yes to each of the following:- I am running this inside a virtual machine.
- The VM is on an isolated network (host-only or NAT), not bridged to a production LAN.
- I have taken a VM snapshot so I can restore a clean state.
- I know how to run
python tools/cleanup_tool.pywhen I am done. - I have permission to run security tools in this environment.