哈萨克斯坦如何对所有 HTTPS 流量执行 MITM 攻击?

信息安全 tls 证书 中间人 证书颁发机构
2021-08-08 07:09:11

哈萨克斯坦现在有针对 HTTPS 流量的 MITM

但是要使 MITM 工作,除了安装证书之外,还必须有人代理请求,对吗?ISP 会扮演这个角色吗?

假设我想连接到 Facebook。代理会欺骗 Facebook 的证书吗?这是如何运作的?

在 MITM 方案下访问 Facebook 并从浏览器查看证书,MITM 证书是否可见?

1个回答

这是如何运作的?

他们似乎使用了中间 SSL Bump 代理

  • 首先,它作为透明代理工作,这意味着它将所有HTTPS流量静默重定向到SSL Bump 代理服务器
  • 您必须安装并接受代理的证书颁发机构证书才能使其工作。
  • 完成后,每个 SSL 连接都会从您的主机到SSL Bump 代理,并使用即时生成的证书来复制真实的证书属性。看看![KazakMitm 来自 https://bugzilla.mozilla.org/show_bug.cgi?id=1567114 (并关心证书颁发者和有效性时间戳的开始)
  • 然后,代理伪装成目标网站(Facebook)来接收您的请求,
  • 它将您的请求(假装自己)复制到真实网站
  • 它从真实网站接收答案。
  • 现在,代理能够存储请求和/或响应(如果这样做的话)。
  • 然后它将答案转发到您的浏览器。

ISP 会扮演这个角色吗?

可能是的,但它可能位于交通离开该国之前的任何地方。

MITM 证书是否可见?

是的,因为这些证书大多是即时生成的,请查看“Validity Not before ”(在这种情况下大约在请求前 1 天)和“ Certificate Issuer ”(在这种情况下:No data而不是DigiCert Inc)。

要检查这一点,请访问不同的网站并检查每个证书。如果您总是看到相同的Issuer,并且对于您到达的每个站点,您总是会看到Not before与您的第一个请求相同的时间间隔...

拿一些参考资料:Google 的发行人是Google Trust Services,Facebook 使用DigiCert Inc等等……拿你自己的参考资料。

对于您熟悉的网站(即您知道是否以及何时可以更新 SSL 证书),您可以使用它fingerprints来验证证书。

该怎么办

转到浏览器的config/preference-> security->show/manage SSL certificatesdelete/drop/untrust不需要的证书(在这种情况下,搜索No dataor KZ)。

当然,一旦删除,您将无法通过网络访问互联网!

您可能会尝试使用一些 VPN(公共或私有),但我不知道如何处理 HTTP(s) 以外的其他连接在官方代理系统管理员看到您的加密流之前,即使是通过 HTTP(s) 的 VPN也可以工作......

您可以通过其他方式(卫星、无线电频率、专用线...)连接到 Internet。

当您连接到此网络时,请使用替代硬件并注意您的活动。

关于图片:

这张图片是在https://bugzilla.mozilla.org/show_bug.cgi?id=1567114找到的,并编辑为下划线

  • 蓝色:在顶部,图片日期,我想在连接和屏幕截图附近。在右边,Not before它似乎在屏幕截图前 24 小时才存在。(我假设整个图片是在最后一个证书屏幕截图后几分钟完成的,这是在连接后几秒钟完成的,但我不确定。)
  • 橙色:certificate issuer左侧的 - 是真正的发行人,右侧No data是可疑的!
  • 红色:这个标记在我编辑之前已经存在 - 你可以看到KZ 而不是US,但这个字段也可能是伪造的!

因此,确保在完全不同的域上不使用相同的证书颁发机构是一个很好的指示。(IE:如果您在访问 Microsoft 时看到与 Google 或 Facebook 相同的发行人,那就有问题了!)