你被监控了吗?检测SSL中间人攻击
作者:Carrie Roberts
你的雇主是否在监控你工作电脑上的所有敏感网络浏览信息?很可能。但如何确认?
企业通常会部署SSL解密代理以更好地保护资产安全——这是你入职时就同意的条款(至少在使用公司网络和管理设备时)。不过你可能想知道:哪些HTTPS流量会被解密?哪些不会?例如,企业可能为避免法律风险,不会解密银行网站(含密码信息)或政府网站(.gov)的流量。
为此,我开发了PowerShell脚本Detect-SSLmitm(下载链接),用于检测外部服务器的HTTPS连接是否被解密。渗透测试人员尤其需要关注未解密的站点——若流量未被解密,通过域前置(Domain Fronting)等技术建立C2通信的成功率会更高。
脚本原理是通过对比证书哈希值判断是否存在中间人解密。感谢**@malcomvetter**提出的改进建议,例如通过比对中间证书减少误报。
使用示例
运行方式非常简单(如下图): ![检测结果示例] 输出显示,仅usbank.com和whitehouse.gov站点未被解密。
自定义配置
- 编辑脚本添加目标测试站点
- 在确认无SSL解密的网络环境中运行
Get-GoldenHashes
函数更新黄金证书哈希列表 (注意:若在解密环境中生成哈希会导致误报)
Carrie是BHIS的常驻客座作者,我们非常欢迎她的贡献!
延伸学习
Carrie的课程推荐:
- 《攻击模拟工具:Atomic Red Team与CALDERA实战》
- 《PowerShell信息安全应用》
(支持直播/虚拟课堂及点播学习)