如何检测SSL中间人攻击?揭秘HTTPS流量解密监控

本文介绍如何使用PowerShell脚本Detect-SSLmitm检测企业网络中的SSL解密代理,识别哪些HTTPS连接被监控,哪些保持加密,帮助渗透测试人员寻找未解密的C2通道。

是否有人在监视你?检测SSL中间人攻击

当你使用工作电脑浏览互联网时,你的雇主是否在读取所有敏感信息?很可能。但你怎么能确定呢?

企业通常会在工作场所部署SSL解密代理,以更好地保护其资产免受攻击。这是你在开始为他们工作时同意的事情,至少在使用他们的网络和管理设备时是这样。即便如此,你可能会有兴趣了解他们解密了哪些HTTPS流量,哪些没有解密。例如,公司可能不希望承担访问你的银行信息(包括密码)或你在政府(.gov)网站上的私人信息的责任。因此,公司可能会配置其代理不解密某些网站的信息,而 readily解密或其他通信进行中间人攻击。

我开发了一个PowerShell脚本,可以确定你通过HTTPS连接到外部服务器的连接是否被解密。如果你恰好是渗透测试人员,你可能对未解密的网站特别感兴趣,因为如果流量未被解密,使用域前置等技术,你将有更好的机会将命令和控制(C2)连接带出网络。

该脚本名为Detect-SSLmitm,可在此处获取。感谢@malcomvetter提出编写此脚本的想法以及一些改进建议,例如比较中间证书以减少误报。

运行它非常简单,如下图所示:

在所示的输出中,usbank.com和whitehouse.gov网站是唯一未被解密的网站。

你可以编辑脚本以添加任何你喜欢的测试站点,然后运行“Get-GoldenHashes”功能以更新黄金哈希列表。

确保从已知不解密SSL流量的网络位置生成黄金证书哈希,否则会出现误报。

*Carrie经常为BHIS客座博文,我们非常高兴她这样做!

你可以从Carrie的课程中学到更多! 在这里查看: 攻击模拟工具:Atomic Red Team、CALDERA等 PowerShell for InfoSec 提供实时/虚拟和点播服务!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计