allyshka/pwngitmanager
GitHub: allyshka/pwngitmanager
针对网站.git目录泄露场景的轻量级渗透工具,通过仅下载索引文件实现按需、隐蔽地浏览和获取目标仓库中的敏感文件。
Stars: 109 | Forks: 22
## PwnGitManager
### 概述
这款 git 管理器可在渗透测试过程中提供帮助。当你在企业外围(例如公司网站上)发现公开的 .git 仓库时,接下来你会怎么做?我想大概是通过 git-ripper 脚本下载其中的所有文件。但这并不总是必要的,因为仓库可能非常庞大,而你通常只需要其中的某些文件,例如配置文件。此外,向服务器发送的大量请求(在下载对象时)可能会触发 IDS。
针对这些情况,我编写了这个工具。它仅下载仓库的 index 文件,接下来你可以搜索文件和路径,然后只下载和查看你需要的内容。

### 安装
目前你不需要特殊的依赖。当然,如果你需要使用 telegram bot,只需 **python 3** 和 *python-telegram-bot* 即可。
### 使用
如果你使用的是 Windows,请先安装 **pyreadline**
```
pip install pyreadline
```
该工具可以在两种模式下运行:*interactive*(交互模式)和 *command*(命令模式)
#### interactive 模式:
```
python3 pwngit.py
URL not specified. Run in interactive mode.
> use snoopdogg.com
Valid scheme not found in url. Using http instead.
Working with http://snoopdogg.com repository
Downloading index file (http://snoopdogg.com/.git/index) ...
```
你可以使用带有 *http* 或 *https* 协议的 URL。你可以添加指向 git 的路径(例如:http://example.com/path/to/.git),或者,如果 git 文件夹位于 web 根目录下,你可以使用简短的 URL(例如:example.com)
```
Commands:
help show this info
ls [dir] list files in repository path
get get, save and show file by path or mask. Ex.: get *.ini
find find by file names. Ex.: find *.sql
search find by folder name. Ex.: search wp-content
exit|quit|e|q exit to select repository mode
```
你可以使用 [TAB] 键来自动补全路径。所有获取的文件将按照它们在仓库中的实际路径保存在 data// 文件夹中。
#### command 模式:
在此模式下,你可以直接在命令行中使用 **-c/--command** 标志发送命令。
```
python3 pwngit.py -c
python3 pwngit.py example.com -c "get wp-config.php"
```
#### 代理:
你可以使用 **-p/--proxy** 标志设置代理。格式为 **http(s)://127.0.0.1:8080**。由于保持最低依赖要求的限制,目前尚不支持 Socks5。
### Telegram bot
安装 **python-telegram-bot** 并将 telegrambot.py 中的 [TOKEN_HERE] 替换为你从 BotFather 获取的 token。
```
pip install python-telegram-bot
python3 telegrambot.py
```
向 bot 发送 help 即可查看完整的命令列表
### 待办事项
- ~~添加通过通配符获取文件的功能。例如 ```get application/*.cfg```~~
- ~~添加下载整个仓库文件的命令~~
- ~~添加代理支持~~
- 添加多线程下载
- 添加 .git 目录列表检测
- 添加用于存储仓库数据的数据库
- 添加 pack 文件检测
### 致谢
非常感谢 Sean B. Palmer 开发的 [gin](https://github.com/sbp/gin) 工具。其中的 index 文件解析函数正是借鉴自该项目。
标签:.git目录利用, IDS绕过, Python, Telegram机器人, Web安全, 交互模式, 代码示例, 企业安全, 低频请求, 信息泄露, 敏感文件提取, 数字取证, 数据分析, 数据展示, 数据泄露, 文件下载, 无后门, 目标探测, 索引解析, 红队, 网络安全审计, 网络资产管理, 自动化脚本, 蓝队分析