检测SSL中间人攻击:识别HTTPS流量是否被解密

本文介绍了一种使用PowerShell脚本Detect-SSLmitm检测SSL中间人攻击的方法,帮助企业员工和渗透测试人员识别HTTPS流量是否被公司代理解密,重点关注未解密的网站以提升C2通信成功率。

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

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

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

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

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

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

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

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

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

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

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


注意:封面图片链接为示例,实际使用时需替换为有效且可访问的HTTP/HTTPS链接。

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