pwndrop
自部署红队文件托管服务,支持 HTTP/WebDAV
⭐ 2.3k JavaScript GPL-3.0
✓ 解决什么问题
解决红队在评估过程中需要快速部署文件托管服务器的问题。传统方法(如 python -m SimpleHTTPServer)缺乏扩展性,无法自定义 URL、屏蔽文件、伪造类型或自动处理 HTTPS 证书。Pwndrop 将这些功能集成在一个独立的二进制中,安装后即可使用。
✓ 最适合
最适合红队评估中的 payload 分发、钓鱼文件托管、私密文件临时共享;需要快速搭建隐蔽且可自定义的 HTTP/HTTPS/WebDAV 文件服务器场景。
✗ 不适合
不适合作为长期公共文件存储服务(如 CDN);不适合高并发生产环境;不适合对文件版本控制有需求的场景。
快速上手
bash
1. 下载并执行安装脚本(自行审查代码后运行)
curl https://raw.githubusercontent.com/kgretzky/pwndrop/master/install_linux.sh | sudo bash
2. 确保域名 A 记录指向服务器 IP,然后访问 https://yourdomain.com/pwndrop(默认秘密路径)授权浏览器
3. 登录后台(https://yourdomain.com/),创建管理员账号,修改秘密路径为更安全的值 项目详情
Pwndrop 是专为红队评估设计的自部署文件托管服务。它支持通过 HTTP、HTTPS 和 WebDAV 协议快速共享文件,并具备以下核心特性:
- 拖拽上传与即时分享:上传后自动生成下载链接,无需手动配置目录结构。
- 自定义下载 URL:为每个文件设置独立的短链接,不影响原始文件名。
- 伪装文件:可指定一个伪装文件替代原文件返回,用于绕过检测。
- 自动重定向:根据请求伪造文件扩展名(如
.exe→.txt)。 - MIME 类型控制:自定义响应头的 Content-Type,改变浏览器行为。
- 自动 HTTPS 证书:后台自动申请并续期 Let’s Encrypt 证书,无需手动干预。
- 内置 DNS 服务器:可作为权威 nameserver 响应任何子域的 A 记录,便于域名劫持。
- 安全后台管理:通过自定义秘密路径访问,需用户名/密码登录。
- 安装简单:一行命令即可完成安装并作为守护进程运行。
其设计目标是替代传统的 python -m SimpleHTTPServer 或 nginx 临时文件托管,并提供更灵活、更隐蔽的文件分发方案。前端使用 Vue.js + Bootstrap(无需 npm/webpack),后端用 Go 语言实现 REST API 和本地数据库管理。