引言
本文提出"混淆博弈"概念,描述渗透测试中为绕过企业签名检测机制而对文件进行反复混淆的繁琐过程。开源工具Skyhook通过自动化网络过滤混淆和文件托管步骤,显著提升操作效率,同时提供隐蔽化文件渗出功能。
重要警示:非隐私工具
尽管采用加密算法,但需注意:
- 密钥明文暴露于Web界面及客户端IndexedDB
- 混淆流程≠端到端加密(E2EE),最终仍以明文落盘
- 仅针对边界防御机制有效,不增强传输文件机密性
技术架构解析
双服务设计
-
管理服务(Admin Service)
- 独立HTTPS服务运行于React界面
- 账户管理/混淆器配置(YAML底层)
- 动态生成含随机路径的传输链接
-
传输服务(Transfer Service)
- 基于WebAssembly实现浏览器端混淆算法:
1 2
// 支持算法类型 AES | Base64 | Blowfish | Twofish | XOR
- 文件分块处理(默认1MB/块)
- IndexedDB存储下载块数据
- 基于WebAssembly实现浏览器端混淆算法:
核心功能演示
混淆器配置
通过管理界面可叠加多种算法(示例配置XOR密钥"secret"):
|
|
文件传输过程
-
下载流程
- 请求路径/REST参数实时混淆
- Burp捕获示例:
1 2
POST /aXBkY...== HTTP/2 Body: U2FsdGVkX1+71jO...
-
上传流程
- 浏览器切片处理+实时混淆
- 服务端顺序解混淆重组
实战效果
- 在真实渗透测试中实现100%绕过IDPS检测
- 支持GB级文件传输(MD5校验保障完整性)
- 推荐部署模式:
1
docker run -p 65535:65535 -p 8443:8443 skyhook-demo
附录A:演示环境搭建
使用Chrome浏览器访问:
- 管理端:
https://127.1:65535
- 传输端:
https://127.1:8443
启动时需从stdout获取管理员凭证。