利用Skyhook实现隐蔽文件传输 - 规避检测的技术解析

本文详细介绍了开源工具Skyhook如何通过多层混淆算法(AES/Base64/Blowfish/Twofish/XOR)实现文件传输的深度隐匿,包括其双服务架构设计、WebAssembly技术实现及对抗企业级IDS/EDR的实战效果。

引言

本文提出"混淆博弈"概念,描述渗透测试中为绕过企业签名检测机制而对文件进行反复混淆的繁琐过程。开源工具Skyhook通过自动化网络过滤混淆和文件托管步骤,显著提升操作效率,同时提供隐蔽化文件渗出功能。

重要警示:非隐私工具

尽管采用加密算法,但需注意:

  • 密钥明文暴露于Web界面及客户端IndexedDB
  • 混淆流程≠端到端加密(E2EE),最终仍以明文落盘
  • 仅针对边界防御机制有效,不增强传输文件机密性

技术架构解析

双服务设计

  1. 管理服务(Admin Service)

    • 独立HTTPS服务运行于React界面
    • 账户管理/混淆器配置(YAML底层)
    • 动态生成含随机路径的传输链接
  2. 传输服务(Transfer Service)

    • 基于WebAssembly实现浏览器端混淆算法:
      1
      2
      
      // 支持算法类型
      AES | Base64 | Blowfish | Twofish | XOR
      
    • 文件分块处理(默认1MB/块)
    • IndexedDB存储下载块数据

核心功能演示

混淆器配置

通过管理界面可叠加多种算法(示例配置XOR密钥"secret"):

1
2
3
4
obfuscators:
  - algorithm: XOR
    key: c2VjcmV0
  - algorithm: Base64

文件传输过程

  1. 下载流程

    • 请求路径/REST参数实时混淆
    • Burp捕获示例:
      1
      2
      
      POST /aXBkY...== HTTP/2
      Body: U2FsdGVkX1+71jO... 
      
  2. 上传流程

    • 浏览器切片处理+实时混淆
    • 服务端顺序解混淆重组

实战效果

  • 在真实渗透测试中实现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获取管理员凭证。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计