恶意软件可以更改浏览器访问的网站吗?

信息安全 网络钓鱼
2021-08-25 00:50:37

我今天在安全演讲中听到(我没有机会提问):

演讲者提到,他观察到(2 年前)给定计算机上可能存在的恶意软件的行为是,当用户通过浏览器访问合法 URL 时,恶意软件会更改需要访问的 URL;所以地址栏中的 URL 保持不变,但访问的页面现在是恶意的。

有人可以告诉恶意软件如何实现这一目标,或者今天这是否可能?恶意软件是否以某种方式拦截了浏览器发送的请求?

3个回答

有几种方法可以实现这一点:

  • 作为代理工作或直接连接到浏览器(如浏览器扩展)的恶意软件可以更改站点本身的内容,即仍然会访问原始站点,但内容将在传输过程中更改或在浏览器内部更改脚本注入或类似的。这种恶意软件通常用于注入广告。
  • 通过更改 DNS 设置,它将返回主机名的攻击者控制的 IP 地址,而不是真实的 IP 地址。这样,到这些主机的所有流量都会流向攻击者,然后攻击者可以提供不同的内容。可以在计算机本身甚至路由器上更改 DNS 设置。在后一种情况下,本地网络中的所有系统都会受到影响。有关详细示例,请参阅https://nakedsecurity.sophos.com/2012/10/01/hacked-routers-brazil-vb2012/
  • 否则,受感染的中间盒(路由器、防火墙、代理)也可用于更改或重定向流量。

我还遇到过拦截 DNS 请求并为 nslookup 等实用程序返回正确结果的 rootkit,但对浏览器的 IP 不同。

另一种可能性是恶意软件修改您的 /etc/hosts 文件(或 C:\Windows\System32\Drivers\Etc\Hosts 文件)。我最近没看到那么多,可能是因为它太容易检测和预防了。

当然,它非常常见,并且是所有高级现代商业恶意软件功能集的标准部分,并且自 ZeuS 的第一个版本以来一直很普遍。通过合法 URL 访问的页面通常会部分或完全即时修改。

它通常通过注入浏览器进程和挂钩 WinAPI 系统调用来实现,其中包含原始 HTTP 请求和响应数据。如果您有兴趣,本文包含 ZBot 的挂钩 API 调用的完整列表。

当然,注入进程意味着恶意软件通常应该针对特定的浏览器版本。恶意软件作者通常会列出他们的产品可以注入的浏览器及其版本,并且通常会在目标浏览器更新后立即更新他们的恶意软件(如果他们想保持市场领先地位)。

ZeuS、它的各种修改、SpyEye 和大多数其他具有“浏览器注入”功能的机器人都有一个非常有趣的功能:一个小的内置“解析和替换语言”用于他们的配置文件,允许恶意软件用户轻松配置更改特定页面的 HTTP 响应。

这种语言是基本的文本替换内容:可以为要修改的响应指定 URL 或 URL 掩码,然后给出替换块列表,每个替换块指定要插入的一些数据(“正文”);其后插入“正文”的原始响应中的数据和/或应在其插入“正文”的原始响应中的数据。

用这种“语言”编写的配置,称为“injects”或“webinjects”,是它们自己的实际市场。针对银行或在线支付系统的编写良好的“webinjects”,带有自己编写良好的管理网络面板,可以卖到几百美元。

正如您正确指出的那样,这主要用于网络钓鱼。但是,它与常规网络钓鱼的不同之处在于更难识别。它也经常用于广告和点击欺诈。