导航首页 » 营销推广

超百万终端感染“幽灵插件”,黑客可操控搜索结果

背景

奇安信威胁情报中心在终端侧运营过程中发现了一个规模巨大并且能够劫持受害者Google 搜索内容和劫持电商链接等恶意行为的境外黑客团伙,基于 PDNS 数据发现该团伙从 2021 年开始活跃,并且恶意域名在 OPENDNS 的 top 1m 列表中,全球受影响的终端至少百万级别。

URL

活跃时间

overbridgenet.com/jsv2/offer_combo_v6

2021-05-10至2023-04-15

overbridgenet.com/jsv8/offer

2023-05-24至今

相关域名在国内的访问量也很大:

我们在浏览器中找到了一个恶意插件,并将其命名为“幽灵插件”。

攻击者绕过了 Google CSP 机制,当使用Google 搜索时会向页面中注入 js,注入前截图如下:

注入后结果如下:

Google 搜索页面加载了额外的 js,额外在顶部展示出攻击者推送的结果,除了控制搜索结果外,受害者访问任意页面时都会注入另一段 js,用来追踪受害者访问习惯和轨迹,当受害者访问电商类型的网站时恶意 js 会从 overbridgenet.com/jsv8/offer 获取到一个新的域名用来劫持当前页面中的跳转链接。

overbridgenet.com 解析的IP为 5.223.52.27,该 IP 下存在多个可疑域名,访问量都很大。

基于 VT 数据可以看到大量 URL,URL 的字段与上述拼接的字段一致,只是顺序有所不同,所以这些 URL 是恶意 js 拼接后的劫持链接,观察到被劫持的 URL 存在一些 web 登录页面。

目前劫持链接只有跳转功能,劫持逻辑由攻击者在云端控制,理论上可以定制化劫持特定的网站,甚至可以进行中间人劫持获取登录页面的账密。

影响范围

基于 PDNS 数据,我们对受到到恶意插件影响的国内受害者进行了统计:

当 Google 搜索结果被劫持时会访问 svdred.com 和 xerogala.com,那么可以统计实际被成功劫持的国内受害情况:

技术细节

如此大规模的受害程度,攻击路径可能不止一个,基于终端数据我们观察到该恶意插件隐藏在破解安装包中,如下:

攻击者将类似这种伪造的安装包上传到一些破解软件的下载站,等待受害者下载,受害者点击后会在 C:\Users\Public\data 下释放一系列恶意组件。

其中的一部分组件首先会被释放到 C:\Windows\System32 文件夹下。

之后由 mdwslp 完成这些组件从 Windows\System32 到 Users\Public\data 的过渡。

释放完毕后会执行 sc create XblGame binPath="C:\Users\Public\data\mdwslp.exe" start= auto 命令,将 mdwslp 组件注册为服务,然后启动该服务。

mdwslp.exe

该组件负责整个恶意 web 插件的初始化,首先会判断相关组件是否存在来确定是否已初始化完成。

将 Windows\System32\data1.zip 解压到 Public\data\ext。

该部分为恶意 web 插件的 js 代码。

之后会循环检测是否存在 Public\data\uptimecrx.exe,不存在就从 Windows\System32\uptimecrx.dat 拷贝。

拷贝之后会使用 微软官方签名工具 signtool.exe 对其进行签名。

具体的签名攻击者自己创建的。

最后将 uptimecrx.exe 注册为另一个服务 XblGame2 并启动。

uptimecrx.exe 的签名每 10 小时更新一次。

检测标志文件 Public\data\up1.dat 是否存在,如果存在则表示自身需要更新,退出循环,该组件的更新由 uptimecrx.exe 完成。

除此之外,该组件还会循环检测恶意 DLL 是否注入到目标进程。

如果没检测到就会调用注入工具进行注入。

该工具为之前释放的 Windows\System32\datax.dat,调用时会为其随机设置一个新文件名并拷贝到 AppData\Local\Temp\xtdbf 文件夹下。

之后以 --install/--uploaddll 等参数启动该工具。

uptimecrx.exe

该组件用于更新和持久化 mdwslp.exe,循环检测 mdwslp.exe 是否存在,如果不存在则从 Windows\System32\mi_nt_svc.dat 拷贝,并重新注册服务并启动。

检测 mdwslp.exe 注册的服务 XblGame 是否已停止,如果停止则重新启动。

通过标志文件 Public\data\up1.dat 检测 mdwslp.exe 是否需要更新,仍然通过拷贝 Windows\System32\mi_nt_svc.dat 进行更新并对其重新签名,更新完毕后注册并启动服务。

datax.dat

该组件为 DLL 注入工具,其主要功能为将恶意的 ntdb.dll 注入到目标进程中。

根据参数的不同,注入的目标进程如下所示:

--install:注入到 explorer 进程;

--browser_chrome:注入到 chrome 进程;

--browser_msedge:注入到 msedge 进程;

--uploaddll:从 Windows\System32\ntdb.dat 处获取新的载荷 DLL,并重新签名。

ntdb.dll

该组件用于加载恶意 web 插件,首先判断自身是否在 explorer.exe、chrome.exe、msedge.exe进程中,如果不是则结束运行。

如果其在 chrome.exe 或 msedge.exe 中,hook 相关 dll 中的 ChromeMain 函数。

以及 hook 相关事件函数。

如果在 explorer.exe 进程中,则会以 --load-extension 等参数启动浏览器,用于加载恶意 web 插件。

恶意插件路径指定为 Users\Public\data\ext。

启动完毕后会将自身注入到浏览器进程。

Ext(浏览器插件)

如果恶意插件加载成功,浏览器扩展栏会显示一个空白页面。

详细信息如下:

manifest.json

定义相关 js 的作用范围,service_worker.js 为后台服务工作进程:

content_script.js 会在 url 匹配到搜索引擎相关时被加载:

disabled-trusted-types.js 在任何时候被加载;

之后定义了一些杂项,包括版本信息,更新链接等。

content_script.js

获取当前 uuid 传递给 web_accessible_resource.js 并加载。

web_accessible_resource.js

首先进行简单 url 检测,检测成功后会向 calnor.info 请求 js 并注入到当前页面。

根据 manifest.json 中的规则,访问 Google 搜索时会加载该 js,可以看到 calnor.info 返回的 js 已经出现在网页源码中。

disabled-trusted-types.js

关闭浏览器的 XSS 防御策略。

service_worker.js

该 js 为后台服务进程,在扩展被启动时运行,首先会注册一个安装事件监听器,当该扩展被首次安装时执行。

首先从 klymos.info 获取一个 uuid:trackInstall。

注册客户端 ID,向 dash.zintrack.com 发送该事件的消息:sendApiRequest。该域名是 Google Analytics 的轻量级替代,攻击者注册了自己的 api key 用来统计受害者。

设置该扩展被卸载时接收消息的域名 dash.zintrack.com:setUninstallURL。之后会设置一个定时器,每过一段时间进行规则更新。

规则仍然从 klymos.info 获取,并将获取到的规则应用到该扩展的网络请求拦截中。

获取到的规则如下,其功能是对部分搜索网站的网络请求中移除掉 content-security-policy、X-Xss-Protection 等安全策略。

注册定时器 update-rc 用于获取远程代码。

fetchRemoteCode 用于从 infird.com 获取 js 代码。

注册选项卡更新事件,每当用户创建了新的浏览器选项卡时,将获取到的远程 js 代码加载到当前页面,如果当前页面 url 在 blacklist 中则不加载。

当用户访问任何不在 blacklist 中的网页时,该 js 被加载到网页源码中。

最后会生成一个 page_view 事件,用于指示受害者已经加载了 service_worker.js。

这些信息会被发送到 Google 的网络分析服务网站 www.google-analytics.com,攻击者在该网站注册了自己的 API,可能是用于统计受害者。

remote code.js

该 js 是从 infird.com 获取的远程 js 文件,会在用户打开新网页(新增选项卡)时加载,其恶意逻辑通过攻击者设置的几个限时 cookie 进行控制。

首先会对当前页面 url 进行严格过滤,对于大部分的色情网站、社交媒体、搜索引擎等会停止执行。

url 中如果存在以下字段也会停止执行,可以看出攻击者在避免高访问量的场景,可能是用于隐藏自身。

如果通过了过滤,会设置一个定时器,每 20000 ms 执行相应操作。

进行初始化阶段,检测相应 cookie 项是否存在,如果存在则停止执行并清除定时器。

其中 Lda_aKUr6BGRn 是用于攻击者进行重定向的网址,当他为空时,会从 overbridgenet.com 获取一个新网址进行填充。

overbridgenet.com 会返回一个 json 文件,其中 at 项用来填充 Lda_aKUr6BGRn,在实际调试中该页面仅返回 {"s":1,"n":1} 格式的 json 文件,攻击者可能会筛选目标后才会在特定时间填充 at 项进行攻击。

如果 n = 1,perf_dv6Tr4n 项会被创建并填充为 1,json 中的 c 项为 cookie 过期时间,用于控制该 js 文件是否继续执行 (在初始化阶段时 perf_dv6Tr4n = 1 就返回)。

由于实际调试时 json 文件没有 c 项,该 cookie 不会过期。

如果 Lda_aKUr6BGRn 项被填充,则进入下一阶段过滤:

1、当前 url 为指定电商网站且 Ac_aqK8DtrDL 为空。

执行链接替换操作。

首先会创建一个点击事件监听器,当用户在该页面点击了带有指定标签的元素时,劫持用户跳转并将用户重定向到攻击者指定的链接。

新链接由 Lda_aKUr6BGRn 拼接得来,新链接可能用于攻击者进行钓鱼。

2、当前 url 不是电商网站且 Lda_aKUr6BGRn 不为空以及 Ac_aqK8DtrDL 为空。

将整个页面劫持到攻击者的链接,设置 Ac_aqK8DtrDL 为 1,Ac_aqK8DtrDS 用于计数。

3、Ac_aqK8DtrDL 不为空 Fm_kZf8ZQvmX 为空

创建一个新 iframe,将 src 项设置为攻击者的链接,设置其样式并将其插入到当前页面内容中,最后设置 Fm_kZf8ZQvmX 为 1。

calnor.js

该 js 是从 calnor.info 处获取的 js 代码,用于攻击者拦截相关 manifest.json 规则中的网页并将其注入。

其主要针对 Google 等搜索引擎,攻击者可以替换用户搜索页面的内容,首先会检测当前页面是否存在攻击者设置过的标签 mdorkirgneorpowtn。

如果存在则向 svdred.com 发送相关标签数据,不存在则发送 global。

同样的,检测页面是否包含另一些元素,并向 svdred.com 发送元素对应数据,这些元素在正常的 Google 搜索页面上并不存在,是由攻击者进行设置的,对其进行检测用于去除重复执行。

对于该 js,执行后会在当前页面插入元素 mdorkirgneorpowtn。

对于以上所有元素,检测到之后会终止执行,用于避免不同的组件互相影响。

通过检测之后,首先设置 mdorkirgneorpowtn 值为 a=4001&u=0106-20250304-ORG。

攻击者会避免在一些搜索模式中执行该组件,如用户搜索图片和购物等,仅根据搜索内容区分并向 xerogala.com 发送不同类型的信息,然后终止执行。

之后会向页面 head 中添加一个名为 referrer 的 meta 元素。

之后进入替换逻辑,首先获取搜索内容,创建一个新 style 元素并设置样式。

根据获取的搜索内容拼接 url 请求,发送到 xerogala.com 并获取返回数据。

将返回数据处理后,填充到元素 sadsfs 中,插入到当前页面。

其功能是在搜索页面的开头处插入攻击者替换的搜索结果,如下是受害者进行搜索后的效果,可以看到最开头的几个搜索结果被替换。

正常用户的搜索结果中不包含最开始的内容。

通过调试页面可以看到攻击者插入的内容正是 sadsfs 元素,其大多数情况下是广告内容。

总结

目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。

IOC

C2:

calnor.info

klymos.info

infird.com

overbridgenet.com

infirc.com

xerogala.com

svdred.com

cachedclr.com

MD5:

40210f065e82d06b364f56c9ab4efdcd

a4aa475e2309f05ac83d8289b4604cbd

1c6271c9bd6281b06965ca780b292e65

ebee140bdb9f1f80597cdea66860e1b6

特别声明:本文版权归文章作者所有,仅代表作者观点,不代表本网观点和立场。本文为第三方用户上传,仅用于学习和交流,不用于商业用途,如文中的内容、图片、音频、视频等存在第三方的知识产权,请及时联系我们删除。
SEO技术
SEO建站
营销推广
网络资源