This is a project management script integrated with my personal Tmux and pentest workflows. It is public primarily to serve as a reference for others looking to grab code snippets or workflow ideas.
This is not a general purpose tool. It is hardcoded to my specific file structures and preferences. Do not run this blindly. Review the code and adapt the functions to fit your own environment.
The script acts as a central manager for engagement/project directories. It handles:
- Project Management:
- Creates base projects directory under
$HOME/Documents/projects. - Creates consistent directory structures (logs, loot, assets) and manages a
~/currentsymlink for quick navigation. - Extracts
template.zip(if exists) from base directory into new project.
- Creates base projects directory under
- Tmux Integration: Automates session creation, window layouts, and capturing pane history to log files.
- Pentest Automation: Wrappers for standard tasks like IP logging, file serving, and triggered scanning (nmap, nuclei, feroxbuster).
This is written in Bash for system level efficiency but is used daily within a Zsh environment. Depending on your shell configuration, minor adjustments may be required.
The script relies on the following tools to function correctly. Without them, specific functions will fail.
- Core:
tmux,zip,python3 - System:
sudo,ip(iproute2) - Visual:
flameshot - Recon:
nmap,feroxbuster,wapiti,enum4linux-ng,onesixtyone, - Resources:
seclists(Expects/usr/share/seclistsfor wordlists) - Editors:
vscode
Check the script source for implementation details.
Usage:
init [--force] [--no-relink] <name> Create standard project
link <name> Link existing project to ~/current
list List projects (* = current)
edit Open current project in editor
shot Flameshot → assets/ + link in notes.md
archive Zip current project → archive/
ip Show VPN IP (tun0 fallback eth0)
host <ip> <hostname> Add/update /etc/hosts entry
serve [port] Python HTTP server in ./tmp
scope <ip/range> Append to scope.txt
note <text> Append timestamped line to notes.md
tmux Launch pre-configured tmux layout
cap Save visible pane to logs/
hist Save full scrollback to logs/
scan [--udp] <ip> Deep nmap + smart follow-ups
sync Sync time to DC, otherwise set-ntp true
rdp <ip> <user> <pass> Quick xfreerdp with dynamic res
Options:
--force Reuse existing directory
--no-relink Create project without changing ~/current
--udp [-u] Add top-1000 UDP scan (with scan command)