每个网站上的 SSL 损坏

信息安全 证书 中间人
2021-09-07 01:29:55

我的一个朋友打电话给我,说她家人访问的每个网站都有不受信任的 SSL 证书。在她家中的任何一台计算机上,HTTPS 都被破坏了,Firefox 或 Chrome 要求为试图访问的站点添加一个例外。

我怀疑建立她的网络的“IT”人也建立了 MITM。一旦我这周去她家,我就可以做更多的调查。

我的问题是我将如何检测 MITM?我的猜测是比较可以通过不同网络连接到同一站点的机器上的证书。

4个回答

在这种情况下,我要做的第一个检查是查看浏览器为什么认为证书不受信任。

最有可能的情况(因为它是您朋友正在使用的每个站点)是浏览器中提供的证书是由不受信任的证书颁发机构颁发的。

如果单击错误消息,应该可以看到颁发 CA 的人是谁。例如,在下面的证书上,颁发者是 Comodo

证书

这应该会给你一个很好的线索来了解正在发生的事情。如果它作为一个已知的防病毒提供商出现,那么正如@vilican 所说,它可能只是配置错误的软件,而不是恶意软件。

一旦你检查过了,假设你还没有解决它,我的下一站将是浏览器和/或操作系统的代理设置。如果这里设置了代理,请取消设置,看看是否会影响问题。

假设您通过这两个没有解决方案,下一步将考虑网络上的路由器/防火墙拦截 SSL 流量的可能性。您可以通过将新机器添加到网络(您知道没有问题)来检查是否开始收到 SSL 证书警告。如果这是问题所在,您需要与有权配置路由器的人交谈。同样,它可能是一个安全功能,而不是真正的恶意......

我曾经遇到过类似的问题。计算机上的日期设置不正确 - 比当年晚一年,这导致所有证书都发出此类消息。

首先检查一个简单,容易的事情。

我的问题是我将如何检测 MITM?

最简单的方法是从您的网络向 DNS 解析器查询某个站点的 IP,然后在某处写入实际 IP。然后在您朋友的网络上进行相同的查询。如果 IP 不同,是时候看看你的朋友使用的是什么递归解析器了。好的开始是在路由器(DHCP 服务器)中搜索,它除了分配 IP 外,还会告诉计算机 DNS 服务器。第二个位置是网络中的每台计算机 - 接口中的静态 DNS 服务器。

如果相同,请检查您朋友的杀毒软件。我知道 Avast 有扫描 HTTPS 网页的功能。关键是它用自己的证书替换了 HTTPS 证书,如果您不将根安装为受信任的,则所有 HTTPS 连接都将不受信任。

罗里在这里有正确的答案,但我想补充更多。我试图将它挤进评论中,但它太大了,所以我发布了一个答案。

检查发行者是识别 MITM 的最简单方法,尽管正如 Rory 所指出的那样,MITM 可能不是中间的恶人,安全软件可以做到这一点。

关于检查颁发者,我会使用 Firefox 来获取证书信息。如果 Firefox 不接受颁发者 CA,并且 CA 安装在本地计算机上,我会说它的 MITM 并从操作系统证书存储中删除证书。Firefox 嵌入了自己的受信任 CA 存储,并且不信任操作系统存储。然而,透明地修改 Firefox 的受信任 CA 存储也是微不足道的,因此它不是一种保证检查的方法。

在带有WFP之类的 Windows 上,可以在不修改操作系统上的任何设置的情况下设置 MITM,这使得用户很难清楚地识别转移背后的源软件。WinDivert就是这样一个库的一个例子,它使得在不改变任何可观察的配置值的情况下设置类似 MITM 的东西变得微不足道。但是,连接到 WFP 需要创建一个签名的驱动程序。

因此,为了也捕获这些攻击,您可以通过两个查询从具有管理员权限的控制台检查已安装/正在运行的服务和驱动程序:

要安装/运行服务:

sc query

要安装/运行驱动程序:

driverquery

请注意,这只有助于清楚地确定是否有东西在本地拦截 HTTPS 流量。识别和清理任何责任是完全不同的事情。