freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

仿冒Chrome浏览器夹带“私货”,潜在木马篡改设置
火绒安全 2024-05-07 18:37:54 74701

近期,火绒安全实验室收到用户反馈称安装 Chrome 浏览器之后主页会被劫持为 hao123,火绒安全工程师第一时间为用户提供技术支持,提取样本并进行分析。分析过程中发现该程序实际是一个恶意软件,伪装成 Chrome 浏览器在线安装包(ChromeSetup.exe),通过篡改浏览器配置文件进行网页推广。用户在点击该程序时会看到 Chrome 正常安装,但与此同时浏览器主页也会被劫持为 hao123 。目前,火绒安全产品可对上述病毒进行拦截查杀,请广大用户及时更新病毒库以提高防御能力。

火绒查杀图

火绒工程师对样本进行分析发现,该恶意软件会下载推广规则配置文件,其中包含要推广的网址和相关规则。此外,该恶意软件还会下载两种用于修改新标签页和修改搜索网址的插件。通过修改Edge和Chrome浏览器的书签、偏好设置、安全偏好设置以及安装插件等方式,锁定主页并推广百度、hao123、以及其他网页。接着,该恶意软件还会下载用于持久化的DLL和EXE文件,并将其写入注册表中以实现持久化。最后,该恶意软件会统计主板、网卡、操作系统、时间等信息,一并发送到服务器中,用于样本制造者分析。该样本执行流程,如下图所示:

流程图

在此,火绒工程师建议大家在下载 Chrome 及其他软件时,尽量从正规可信的来源下载,并保持火绒等安全软件的开启。

一、样本分析

推广模块

样本的推广分为三个步骤。

第一是下载推广配置文件,其中包含 baidu、hao123、360、2345、jd 等需要推广的网站,以及相应的推广规则,用于精细化推广。

第二是修改浏览器配置文件,其中涉及到的文件有 Preferences、Secure Preferences、Bookmarks 这三种文件,用于修改浏览器的设置。

第三是安装 Chrome 浏览器,做好 Chrome 在线安装包的伪装。


Log 文件:

样本通过配置文件记录安装目录和更新时间等信息。文件位于 C:\Users\[用户名]\AppData\Roaming\CSGDataInfo\csg_config.ini。在此配置文件中,uuidCheck 的加密方法首先经过异或加密,然后再进行 base64 加密,如下图所示:

请求管理员权限启动:

执行带有—— runasinst参数的命令,以及请求管理员权限,如下图所示:

1715050764_6639990ca41450dba47db.png!small?1715050768546

如果用户拒绝管理员启动就会进行提权操作,如下图所示:

1715050930_663999b2903c10da1bee9.png!small?1715050932367

关闭相关程序:

样本在开始前会关闭与自身相关的程序,以防形成冲突,如下图所示:

1715050946_663999c25bde8993dec5a.png!small?1715050946834

  • 步骤一:下载推广配置和插件代码

下载用到的是 Winhttp 库,其中函数包括 WinHttpOpen、WinHttpSetOption、WinHttpConnect 等。

推广配置文件:

样本会根据文件中要推广的网站和规则修改浏览器的配置文件。

下载链接是 https://yysc2.oss-cn-shanghai.aliyuncs.com/xpn/CmCfg.ccf,是个被加密的 json 数据,如下图所示:

1715051059_66399a33df5c7c6b2a93c.png!small?1715051060206

下载到的数据是经过异或加密的,解密后,如下图所示:

1715051236_66399ae463f04194c3cb6.png!small?1715051236840

篡改新标签页的插件:

下载链接是 https://yysc2.oss-cn-shanghai.aliyuncs.com/xpn/selfdefpluszd.ncx,是被加密的 rar 压缩包数据。

下载到 C:\Users\[用户名]\AppData\Local\Temp\[随机]\AIWebSetup.exe

解密后获得 rar 数据,然后解压到 C:\Users\[用户名]\AppData\Local\AIWeb\selfdefplus 文件夹下,如下图所示:

1715051298_66399b22849073638f171.png!small?1715051299157

解压后获得 manifest.json 和 tab.html 两个文件,里面表明了新标签页指向的网址,如下图所示:

1715051336_66399b489e51c00f36af3.png!small?1715051337180

1715051374_66399b6ef16ef30e4cce7.png!small?1715051375264

篡改默认搜索的插件:

下载链接是 https://yysc2.oss-cn-shanghai.aliyuncs.com/xpn/selfdefplusseozd.ncx,也是被加密的 rar 压缩包数据。

下载到 C:\Users\[用户名]\AppData\Local\Temp\[随机]\AIWebSetup.exe(会覆盖篡改新标签页插件的下载)。

解密后获得 rar 数据,然后解压到 C:\Users\[用户名]\AppData\Local\AIWeb\selfdefplusseo 文件夹下,如下图所示:

1715051432_66399ba88137ce08f9526.png!small?1715051433251

解压后获得 manifest.json 文件,此文件含义是默认搜索网址会被插件替换为 https://www.jsbxzw.com/zd/search.html?wd=[搜索内容] 并发送请求,如下图所示:

1715051490_66399be253d7461fd3aea.png!small?1715051491514

  • 步骤二:修改浏览器配置文件

根据上面下载的文件开始修改 Preferences、Secure Preferences、Bookmarks 等文件。

修改浏览器配置文件原理是样本读取浏览器配置文件内容后,转化为 JSON 对象,修改 JSON 对象并写入浏览器配置文件。

下面是修改 Preferences 和 Bookmarks 文件的操作,其中第一个图上半部分是设置 bookmark_bar 中 show_on_all_tabs 的值,如下图所示:

1715051548_66399c1ca08e486234bad.png!small?1715051549139

·Preferences、Secure Preferences、Bookmarks 修改前后对比

以下内容是以 Chrome 浏览器为例得出的结论,与样本对 Edge 浏览器的处理几乎没有区别。

Preferences:偏好设置

设置书签栏持续显示,如下图所示:

1715051657_66399c89e93a6f9e87e28.png!small?1715051658696

设置新标签栏为 tab.html,意味着用户每次点击新标签栏都会访问一次该网址,如下图所示:

1715051687_66399ca707b422bee105b.png!small?1715051687182

不同步书签,标签页,偏好,插件等设置,如下图所示:

1715051750_66399ce6a614e639bb221.png!small?1715051754758

1715051754_66399cea94ee0ee558f0f.png!small?1715051754759

Secure Preferences:安全偏好设置

显示主页按钮,如下图所示:

1715051957_66399db5b4512e9808e48.png!small?1715051958733

修改新标签页插件和修改默认搜索插件的设置,设置完后就相当于安装插件,如下图所示:

1715051986_66399dd2a9c46ad5e2553.png!small?1715051987747

Bookmarks:

使 baidu 和 hao123 添加到书签栏中,如下图所示:

1715052040_66399e0856b4f461a3260.png!small?1715052043081

·页面变化

样本进行配置文件修改后,浏览器的书签栏多了两个网址,主页变成了 hao123,新标签页变成了 baidu 搜索,如下图所示:

1715053482_6639a3aab6b9cb73e4d6e.png!small?1715053483191


  • 步骤三:安装Chrome

样本在完成上述两个步骤后进入安装Chrome环节。样本最后会从资源 CFGDATA 的 133 中获取到被加密 Chrome 浏览器在线安装包的数据,如下图所示:

1715053508_6639a3c4f1f6758c7f709.png!small?1715053510372


通过解密获取到安装包数据后写入并执行,如下图所示:

1715053516_6639a3ccf23596f59cdd2.png!small?1715053518417

1715053523_6639a3d334033d50b809e.png!small?1715053523362


持久化

样本持久化的基本原理是通过修改注册表来创建 COM 组件并关联 DLL 库,然后使 COM 组件与 Credential Providers 相关联,最终实现用户登录时 Windows 中的 LogonUI.exe 自动运行 COM 组件下的 DLL 函数。

该函数会寻找 CSChrm.exe 文件路径并启动程序,实现样本持久化。


下载 FastAuthProvider:

下载到 C:\Users\[UserName]\AppData\Local\MicroFile\FastAuthProvider.dll,同样需要解密,如下图所示:

1715053558_6639a3f6024e4862dde88.png!small?1715053558946


下载 CSChrmExe:

下载到 C:\Users\[UserName]\AppData\Local\CSChrm\CSChrm.exe,同样需要解密,如下图所示:

1715053564_6639a3fc3918ab603cc7b.png!small?1715053565040


注册表HKEY_CLASSES_ROOT\CLSID路径下创建了一个名为{FF032558-38DA-4472-B969-31A636B7E5C7}的子项,用以表示该COM组件的CLSID。在这个CLSID子项中,包含了该组件的相关信息,其中包括该组件所关联的DLL文件路径(C:\Users\[UserName]\AppData\Local\MicroFile\FastAuthProvider.dll)等信息。使该样本登录 Windows 时能调用到 DLL 中的函数,如下图所示:

1715053578_6639a40a86125d3d0e271.png!small?1715053578706


最终该样本会通过 DLL 中的 DllGetClassObject 函数找到 CSChrm.exe 文件并执行,如下图所示:

1715053582_6639a40ec3ef1af0d9e55.png!small?1715053583871


CSChrm.exe 文件和样本本身的主要差异是CSChrm.exe 文件资源中并没有 Chrome 浏览器在线安装包,不会进行安装。


统计信息

样本会进行信息统计,被统计的信息包括被推广电脑的主板和网卡信息的 MD5 值、Windows版本、处理器架构、操作系统位数、360 是否存在、当前文件版本、当前时间以及推广相关的数据。

数据的综合收集有利于样本制造方深入了解推广的情况,从而优化推广策略。


主板和网卡信息的 MD5 值

样本首先会将主板和网卡信息组织成以下格式的字符串:

[sn=None, pt=440BX Desktop Reference Platform, pn=, ml=, mr=Intel Corporation, rd=, ne=Base Board, su=, oi=, id=]-[某网卡部分的 GUID]。

然后,对该字符串进行 MD5 哈希计算,得出 MD5 值,经推测MD5 值可能被用做机器的唯一标识,用来识别具体电脑。获取主板和网卡信息,如下图所示:

1715053609_6639a429db6ae81a14a8f.png!small?1715053610200


1715053616_6639a430db99df1782763.png!small?1715053619671


获取Windows版本、处理器架构、操作系统位数,如下图所示:

1715053629_6639a43dd3bb6266cbbe1.png!small?1715053630758


表示360 是否存在:[999] 表示有 360,[000] 表示没有360,如下图所示:

1715053635_6639a443bf1379d32ef46.png!small?1715053635860


获取当前文件版本,如下图所示:

1715053642_6639a44a835495e967dbd.png!small?1715053642934


获取时间,如下图所示:

1715053646_6639a44e7c97d7682a759.png!small?1715053646737


发送到 https://www.jsbxzw.com/rp/v2,代码如下图所示:

1715053651_6639a453240ae73aa7b88.png!small?1715053651427


1715053662_6639a45edb0ee8e8ae3bf.png!small?1715053662998


应对 360

样本会检查 360 的 360Tray.exe 和 360Safe.exe 进程是否存在,如下图所示:

1715053681_6639a4716592c1a72816e.png!small?1715053682304


·若360 存在样本会通过模拟点击的方式避免被 360 拦截。

打开目标路径文件夹,通过最小化的方式打开,如下图所示:

1715053708_6639a48cb7109d2d58def.png!small?1715053708770


删除任务栏标签并窗口透明化,使用户感受不到已经打开了一个文件夹窗口,如下图所示:

1715053716_6639a494bf8d62ff9b8db.png!small?1715053717419


获取指定窗口句柄,显示该窗口,通过 PostMessage 发送双击消息,然后通过相对位置双击打开文件,如下图所示:

1715053720_6639a498d50ccc7338794.png!small?1715053721377


·若360 不存在样本会直接使用CreateProcess 打开程序。如下图所示:

1715053725_6639a49da380d3fba2214.png!small?1715053725919


二、附录

加密数据的解密

样本加密使用的是异或加密算法,先通过 xmbpcbrowser_sinx 加密出新秘钥,然后通过新秘钥对数据异或加密和解密,如下图所示:

1715053744_6639a4b0a7a5318ba13d6.png!small?1715053745230


C&C:

1715053865_6639a5294abc9dca3efeb.png!small?1715053866116

HASH:

1715053875_6639a5339ca802df797e6.png!small?1715053876275

# 信息安全 # 企业安全
本文为 火绒安全 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
火绒安全 LV.7
火绒安全软件官方账号
  • 73 文章数
  • 35 关注者
Rust后门样本加载与传播方式演变过程分析
2025-03-13
钓鱼攻击通过PDF文档暗投后门病毒
2025-02-27
商业公司借AI热潮释放远控后门病毒
2025-02-10
文章目录