这些天来实际执行 MITM 攻击是多么容易

信息安全 网络 攻击 中间人
2021-08-29 10:10:10

我正在使用的网站使用 HTTP 来检索页面。在页面中,他们要求您输入信用卡详细信息,然后通过 HTTPS(到另一台服务器)。他们声称这足够安全(因为似乎没有任何敏感信息未经加密传输)并且乍一看可能看起来如此。

使用简单的 MITM 攻击,攻击者可以通过添加一个事件侦听器来修改网页 JS,该事件侦听器在提交表单时将卡片详细信息发布到攻击者服务器(具有所有卡片详细信息)。用户和服务器不会注意到任何奇怪的事情,并且事务可以成功完成。我对这种情况的理解是否正确?真的不安全吗?

而且,MITM 攻击是不是很难执行,还是只需最少的黑客攻击就可以实现?比较公共 Wifi、家庭 Wifi 和有线互联网时如何?

抱歉有些宽泛,我将不胜感激一些见解或链接

2个回答

我会尽力回答您问题的各个方面,但请记住,这是一个包含许多复杂细节的广泛主题。

第一件事:

他们声称这足够安全(因为似乎没有任何敏感信息未经编码传输)

语义校正——你想要的词是未加密的,不是未编码的。编码意味着数据很容易可逆,并且加密是为了防止攻击者将加密数据反转回原始值。

使用简单的 MITM 攻击,攻击者可以通过添加一个事件侦听器来修改网页 JS,该事件侦听器在提交表单时将卡片详细信息发布到攻击者服务器(具有所有卡片详细信息)。用户和服务器不会注意到任何奇怪的事情,并且事务可以成功完成。我对这种情况的理解是否正确?真的不安全吗?

您对 HTTPS 站点的理解并不完全正确。由于数据是加密的,您的 MITM 将无法对流量进行任何更改。请记住,加密发生在受害者和网站之间——您的 MITM 代理对加密没有任何控制权。因此,它看到的只是加密数据——这使得动态编辑和插入恶意代码变得不可能。但是,对于 HTTP 站点,您的理解是正确的。MITM 攻击者能够操纵流量,包括注入恶意脚本。

有一种称为 SSLstrip 的攻击,其中攻击者 MITM 通过将用户降级为 HTTP(将 https:// 更改为 http://)来进行 HTTPS 加密。这是因为受害者浏览器认为攻击者是网站,而网站认为攻击者是受害者。现在大多数网站都通过包含 HSTS 标头来防止这种情况,该标头告诉浏览器仅通过 HTTPS 访问该站点。这里有一篇关于这种攻击的更强大且相当非技术性的文章:https ://avicoder.me/2016/02/22/SSLstrip-for-newbies/

而且,MITM 攻击是不是很难执行,还是只需最少的黑客攻击就可以实现?比较公共 Wifi、家庭 Wifi 和有线互联网时如何?

MITM 非常容易执行。所有 wifi 流量都被广播 - 这意味着附近的任何嗅探设备都可以读取您的流量。如果您通过公共/未加密的 wifi 通过 HTTP 连接到页面,您可以假设您发送和接收的任何信息都是公开的 - 只需要附近的攻击者使用天线以明文形式读取所有信息。为了通过让流量流过它们来执行真正的 MITM,攻击者可以使用 WiFi pineapples 或 aircrack-ng 等技术来强制用户连接到他们的 wifi 网络。

您可能听说过 WPA/WPA2 wifi 加密。这是 wifi 加密的当前标准 - 如果您使用 WPA2 连接到您的家庭路由器,您可以有理由相信外部攻击者无法拦截您的数据。WEP 已经过时了很长时间 - 不要相信 WEP 加密可以保证您的连接安全。每当您连接到开放(未加密)网络时,请记住这一点 - 您的笔记本电脑/手机通常会在您连接之前警告您这一点。

通过有线互联网连接更难拦截/mitm,因为您没有为整个社区广播您的流量。为了破坏这个网络,攻击者必须以某种方式访问​​它——通过物理访问网络端口、安装在主机或路由器上的恶意软件等。当攻击者可以访问网络时,他们必须利用通过 ARP 中毒或 HSRP 欺骗等攻击进行访问。这些攻击只是 MITM 流量 - 网络上的任何人仍然可以嗅探(读取,但不能更改)流量,但请记住 HTTPS 流量仍然是加密的,无法读取。

即使在安全的“https”连接上也可能发生 MITM 攻击。如果窃听者在初始交换中截获了公钥,他可以解密来自该密钥所有者的后续消息,并使用他自己的公钥将这些消息转发给任何其他不知情的接收者。这对于通信的发起者以及任何回复的接收者都是如此。只要攻击者在中间,截获消息,他就可以在监控消息内容后,使用自己的公钥将发送者的消息转发给接收者。为了缓解这个问题,现代 Web 浏览器包含一个可信第三方列表,可以验证给定的公钥是否为特定实体所有。这适用于 Web 服务器,但通常不适用于 Web 浏览器的人类用户,他们不会