Installation Guide
Requirements
- Python 3.8+
- Linux/macOS (Windows via WSL)
- Exegol (recommended) or Kali Linux
Optional Dependencies
| Component | For | Install |
|---|---|---|
| Anthropic API | Claude AI | pip install anthropic |
| Sliver | C2 integration | Sliver GitHub |
| Impacket | AD modules | Pre-installed in Exegol; pip install impacket on Kali |
| Nmap | Enumeration | Pre-installed in most distros |
Quick Install
Exegol (Recommended)
# Inside an Exegol container:
cd /opt/my-resources/tools/uwu-toolkit
./install-exegol.sh
The Exegol installer:
- Skips system packages (Exegol has everything)
- Installs Python packages (
prompt_toolkit,rich,requests,pyyaml,fastmcp,donut-shellcode) - Creates symlinks in
/opt/tools/bin/and~/.local/bin/ - Creates
~/.uwu-toolkit/directory structure - Generates shell integration script
Kali / Debian
git clone https://github.com/p3ta00/uwu-toolkit.git
cd uwu-toolkit
./install-kali.sh
The Kali installer:
- Installs system packages via apt (
python3-pip,tmux,nmap,smbclient,jq,rlwrap, etc.) - Installs Python framework packages
- Installs pentesting CLI tools (
impacket,certipy-ad,bloodyad,netexec,bloodhound) - Installs SecLists if not present
- Creates symlinks in
~/.local/bin/ - Creates
~/.local/share/potatoes/and~/.local/share/ligolo-ng/directories
Generic / Manual
git clone https://github.com/p3ta00/uwu-toolkit.git
cd uwu-toolkit
./setup.sh
# Or run directly without setup
python3 uwu
After any install method, run from anywhere:
uwu
Exegol Integration
UwU Toolkit is designed to work seamlessly with Exegol containers.
Recommended Setup
- Install Exegol:
pip install exegol - Start an Exegol container:
exegol start htb full - Set the container globally:
uwu > setg EXEGOL_CONTAINER exegol-htb
How It Works
When a module needs tools not installed locally (e.g., GetUserSPNs.py), it automatically:
- Detects the Exegol container
- Runs commands inside the container via
docker exec - Returns output to UwU Toolkit
Auto-Detection
If EXEGOL_CONTAINER is not set, UwU Toolkit will:
- Search for running containers starting with
exegol- - Use the first match found
- Prompt if multiple containers are running
Configuration
First Run
On first run, UwU Toolkit creates:
~/.uwu-toolkit/
├── config.json # Framework settings
├── globals.json # Global variables
├── permanent.json # Permanent variables
├── var_history.json # Variable history
├── command_history # Readline history
├── engagement.db # SQLite engagement database
├── dashboard_events.json # Dashboard events
├── loot/ # Collected loot
└── sessions/ # Session data
Essential Global Variables
Set these once and they persist across sessions:
# Target information
uwu > setg RHOSTS 10.10.10.100
uwu > setg DOMAIN corp.local
uwu > setg USER administrator
uwu > setg PASS Password123!
# Your attack machine
uwu > setg LHOST 10.10.14.50
uwu > setg LPORT 4444
# Exegol container
uwu > setg EXEGOL_CONTAINER exegol-htb
# Claude AI (optional)
uwu > setg ANTHROPIC_API_KEY sk-ant-api03-...
Permanent Variables
Permanent variables have the highest priority and survive uwu-clear globals:
uwu > setp WORKING_DIR /workspace
uwu > setp LHOST 10.10.14.50
Config File Options
Edit ~/.uwu-toolkit/config.json:
{
"modules_path": "/path/to/uwu-toolkit/modules",
"gosh_default_port": 8000,
"php_default_port": 8080,
"nc_use_rlwrap": true
}
Claude AI Setup
To enable the Claude AI assistant:
- Get an API key:
- Visit console.anthropic.com
- Create an API key
- Set the key:
uwu > setg ANTHROPIC_API_KEY sk-ant-api03-your-key-here - Verify:
uwu > claude status - Use:
uwu > claude mode # Interactive mode uwu > claude ask "question" # Quick question uwu > claude analyze ./code # Analyze code
Sliver C2 Setup
Install Sliver
# Download latest release
curl https://sliver.sh/install | sudo bash
# Or manually
wget https://github.com/BishopFox/sliver/releases/latest/download/sliver-server_linux
wget https://github.com/BishopFox/sliver/releases/latest/download/sliver-client_linux
chmod +x sliver-*
Import Client Config
# Generate operator config on server
sliver-server > new-operator --name p3ta --lhost 10.10.14.50
# Import on client
sliver-client import ./p3ta.cfg
Use in UwU Toolkit
uwu > sliver start # Start server
uwu > sliver connect # Connect client
uwu > sliver status # Check status
Troubleshooting
Module Not Found
# Reload modules
uwu > reload
# Reload all modules and discover new ones
uwu > reload all
# Check module path
uwu > show modules
Exegol Not Detected
# List running containers
docker ps | grep exegol
# Set manually
uwu > setg EXEGOL_CONTAINER exegol-htb
Tools Not Found
Most tools should be in Exegol. If running locally:
# Add tool directories to PATH
export PATH=$PATH:~/.local/bin:/opt/tools/bin
# Or let UwU Toolkit use Exegol
uwu > setg EXEGOL_CONTAINER exegol-htb
Permission Denied
# For nmap SYN scans, etc.
sudo uwu
# Or use Exegol (runs as root inside container)
Updating
cd /path/to/uwu-toolkit
git pull origin main
Configurations and history are preserved in ~/.uwu-toolkit/.
Uninstalling
# Remove symlinks
rm ~/.local/bin/uwu ~/.local/bin/uwu-dashboard ~/.local/bin/uwu-clear
# Remove config (optional)
rm -rf ~/.uwu-toolkit
# Remove source
rm -rf /path/to/uwu-toolkit