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

背景

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图
URL活跃时间
overbridgenet.com/jsv2/offer_combo_v62021-05-10至2023-04-15
overbridgenet.com/jsv8/offer2023-05-24至今

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图1

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图2

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图3

  注入后结果如下:

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图4

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图5

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图6

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图7

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

  影响范围

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图8
奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图9

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图10
奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图11
奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图12

  技术细节

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图13

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图14

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图15

  之后由 mdwslp 完成这些组件从 WindowsSystem32 到 UsersPublicdata 的过渡。

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

  mdwslp.exe

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图16

  将 WindowsSystem32data1.zip 解压到 Publicdataext。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图17

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图18

  之后会循环检测是否存在 Publicdatauptimecrx.exe,不存在就从 WindowsSystem32uptimecrx.dat 拷贝。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图19

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图20

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图21

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图22

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图23

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图24

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图25

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图26

  该工具为之前释放的 WindowsSystem32datax.dat,调用时会为其随机设置一个新文件名并拷贝到 AppDataLocalTempxtdbf 文件夹下。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图27

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图28

  uptimecrx.exe

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图29

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图30

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图31

  datax.dat

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图32

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

  –install:注入到 explorer 进程;

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图33

  –browser_chrome:注入到 chrome 进程;

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图34

  –browser_msedge:注入到 msedge 进程;

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图35

  –uploaddll:从 WindowsSystem32ntdb.dat 处获取新的载荷 DLL,并重新签名。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图36

  ntdb.dll

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图37

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图38

  以及 hook 相关事件函数。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图39

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图40

  恶意插件路径指定为 UsersPublicdataext。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图41

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图42

  Ext(浏览器插件)

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图43

  详细信息如下:

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图44

  manifest.json

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图45

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图46

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图47

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图48

  content_script.js

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图49

  web_accessible_resource.js

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图50

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图51

  disabled-trusted-types.js

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图52

  service_worker.js

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图53

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图54

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图55

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图56

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图57

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图58

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图59

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图60

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图61

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图62

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图63

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图64

  remote code.js

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

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图65

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图66

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图67

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图68

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图69

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图70

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图71

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图72

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

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

  执行链接替换操作。

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图73

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图74

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图5

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

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图75

  3、Ac_aqK8DtrDL 不为空 Fm_kZf8ZQvmX 为空

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图76

  calnor.js

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

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图77

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图78

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图79

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图80

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图81

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

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图82

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图83

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图84

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图85

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图86

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图87

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图88

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图89

  总结

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

奇安信:超百万终端感染“幽灵插件”,黑客可操控搜索结果插图90

  IOC C2:

  calnor.info klymos.info infird.com overbridgenet.com infirc.com xerogala.com svdred.com cachedclr.com MD5:

  40210f065e82d06b364f56c9ab4efdcd a4aa475e2309f05ac83d8289b4604cbd

  1c6271c9bd6281b06965ca780b292e65

  ebee140bdb9f1f80597cdea66860e1b6

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线客服
主机邦
我们将24小时内回复。
2025-03-15 01:53:38
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[QQ客服]
176363189
suduwangluo
[小黄]
17307799197
[企业邮箱]
sudu@yunjiasu.cc
取消

选择聊天工具: