Skip to content

mermehr/annexes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

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, wapiti, enum4linux-ng, onesixtyone,
  • Resources: seclists (Expects /usr/share/seclists for wordlists)
  • Editors: vscode

Usage

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)

About

A personal Bash workflow script for managing pentest projects

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages