Automated solver for OverTheWire: Bandit wargame (Levels 0 to 33)
- 🔐 Automatically inputs saved passwords via
sshpass - 📜 Stores logs to
/tmp/bandit-auto-solver/logs/YYYY-MM-DD.log - ✅ Saves passwords to
~/.bandit_pass/bandit## - 🛠 Supports CLI options (
--level,--connect-only,--no-interactive,--quiet,--test,--dry-run) - ⚙️ Makefile with commands to connect, run, auto, test, clean
bandit-auto-solver/
├── plugins/ # Helper plugin scripts
├── bandit-auto.zsh # Sequential runner from level 0 to 33
├── bandit-levels.json # JSON configuration with per-level commands, descriptions, and hints
├── bandit.zsh # Single-level executor with password auto-login
├── LICENSE # MIT License file
├── Makefile # run/auto/test/clean commands
├── README.md # This file
# Connect only one level
make connect
make connect level={number}
# Run one level interactively
make run
make run level={number}
# Run all levels from 0 to 33
make auto
# Test
make test
# Clean stored passwords and logs
make clean-
Make sure you have
jqinstalled- macOS:
brew install jq - Redhat:
sudo yum install jq - Ubuntu:
sudo apt install jq
- macOS:
-
Make sure you have
sshpassinstalled- macOS:
brew install sshpass - Redhat:
sudo yum install sshpass - Ubuntu:
sudo apt install sshpass
- macOS:
This tool is for educational use only. Do not use sshpass with sensitive systems.
Passwords are stored in plaintext in ~/.bandit_pass/.
This project is licensed under the MIT License by gaulim.