Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Annexes

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.

Overview

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 ~/current symlink for quick navigation.
    • Extracts template.zip (if exists) from base directory into new project.
  • 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).

Shell Environment

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.

Dependencies

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, nikto, enum4linux-ng, onesixtyone
  • Resources: seclists (Expects /usr/share/seclists for wordlists)
  • Editors: vscode (fallback: typora, vnote)
  • Shells: msfvenom

Usage

Check the script source for implementation details.

Usage:
  init [--force] [--no-relink] <name>     Create standard project
  pen  [--force] [--no-relink] <name>     Create pentest project (zip template)
  link <name>                             Link existing project to ~/current
  list                                    List projects (* = current)
  edit                                    Open current project in editor
  check                                   Captures current enviro → logs/checkpoints/
  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 → logs/term/
  hist                                    Save full scrollback → logs/term/
  scan [--udp] <ip> [name]                Deep nmap + smart follow-ups
  webenum <host:port|url> [flags]         Run web discovery tools (standalone)
  sync <ip>                               Sync time to DC, otherwise set-ntp true
  rdp <ip> <user> <pass>                  Quick xfreerdp with dynamic res
  rev <type> [lhost] <port>               Generate reverse shell / payload string
  rev list                                List available shells, payloads and options

Options:
  --force      Reuse existing directory
  --no-relink  Create project without changing ~/current
  --udp [-u]   Add top-1000 UDP scan (with scan command)

About

A personal Bash workflow script for managing pentest projects

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages