首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >流氓软件巧压卸载仍留恶意模块随时“复活” 一招教你彻底清除

流氓软件巧压卸载仍留恶意模块随时“复活” 一招教你彻底清除

作者头像
用户6477171
发布2020-03-11 18:21:58
5.3K0
发布2020-03-11 18:21:58
举报

【快讯】近日我们收到大量用户反馈,一款名为“巧压”的压缩软件卸载后还会“复活”——重新安装到用户电脑中。火绒工程师分析后发现,在用户执行卸载操作时,“巧压”会将恶意模块驻留在用户电脑中,并可以通过恶意代码从云控服务器下载执行任意可执行文件。用户大量反馈的“复活”现象,不排除是通过该云控逻辑实现。根据“火绒威胁情报系统”监测和评估,目前受到“巧压”影响的用户或在百万级左右。

“巧压”除了卸载不掉以外,还会产生大量弹窗广告,严重干扰用户日常电脑的使用。目前火绒为用户提供以下两种解决方法:

1、彻底卸载

用户通过“控制面板”卸载“巧压”后,使用“火绒安全软件”进行全盘扫描,即可彻底卸载该软件。

2、保留压缩功能

用户直接使用“火绒安全软件”进行全盘扫描,即可彻底删除恶意模块以及弹窗广告模块,只保留压缩功能。

关于“巧压”是如何驻留用户电脑的,请见我们的详细分析报告。

附:【分析报告】

一、背景

近期,火绒接到大量用户反馈称压缩软件巧压,在软件被卸载后会“复活”重新装回用户电脑,随后我们针对巧压的相关流氓行为进行了详细分析。该流氓软件在卸载后,服务项和Shell扩展项依然会驻留在用户电脑中。上述驻留项被调用后,最终会调用驻留在用户电脑中的QiaoZipSvcHost.exe下载执行远端服务器下发的可执行程序。虽然在报告发出时,我们未获取到有效的“复活”相关远端配置数据,但我们不排除众多网友所遇到的巧压“复活”的情况与相关逻辑有关的可能性。巧压软件卸载后的部分驻留模块,如下图所示:

巧压软件卸载后的部分驻留模块

巧压软件卸载后驻留的Shell扩展项加载情况,如下图所示:

驻留的Shell扩展项加载情况

巧压软件卸载后驻留的服务项加载情况,如下图所示:

驻留的服务项加载情况

除此之外,该软件在使用过程中还会产生较多的广告弹窗,严重影响了用户对个人电脑的正常使用。该流氓软件产生的广告弹窗,如下图所示:

广告弹窗

广告弹窗

二、详细分析

启动方式

QiaoZipSvcHost.exe可由“QiaoZipSvcHost.dll”和“QiaoZipRMExtern.dll”模块调用启动,启动流程大致相同,默认启动间隔均为30分钟。该流氓软件执行流程,如下图所示:

流氓软件执行流程

QiaoZipSvcHost.dll启动QiaoZipSvcHost.exe

后台驻留的服务由QiaoZipMd5Tool.exe模块注册。Install.exe安装包程序执行后会解出QiaoZipMd5Tool.exe和用于服务执行的QiaoZipSvcHost.dll文件。QiaoZipMd5Tool.exe直接启动时为带有界面的Hash校验工具,但也可以通过添加命令行参数的方式将QiaoZipSvcHost.dll静默注册为服务。相关程序运行信息如下图所示:

程序运行信息

驻留的服务会在SeviceMain中创建线程,间隔固定时间(默认为30分钟,也可通过注册表项HKCU\Software\QiaoZipSvcHost\QiaoZipSvcHost键值retainPI设定分钟数)启动模块QiaoZipSvcHost.exe , 参数为 -startby=1。 QiaoZipSvcHost.exe的路径从注册表中HKCU\Software\QiaoZipSvcHost\QiaoZipSvcHost键值uishP获得。相关代码如下图所示:

ServiceMain中创建线程用于启动模块

每隔固定时间启动

创建进程启动

注册表

QiaoZipRMExtern.dll启动QiaoZipSvcHost.exe

QiaoZipMd5Tool.exe会将QiaoZipRMExtern.dll注册为图标处理程序组件(ShellIconOverlayIdentifiers),当explorer.exe处理文件图标时,便会将其加载起来。相关注册表项如下图所示:

注册表相关信息

驻留的QiaoZipRMExtern.dll模块,会对自己当前所在进程是否是explorer.exe进行判断,如果是,则通过注册表键“eysTime”来查询程序上次运行时间戳,相关代码如下图所示:

查询当前所在进程并获取上次运行时间戳

注册表相关键值信息

当获取上次运行时间戳成功后,会与当前系统时间进行运算比较。如果上次运行时间距离当前系统时间大于30分钟,则程序继续向下运行,否则继续等待。相关代码如下图所示:

程序上次运行时间与当前系统时间进行运算比较

当满足上述时间差条件后,程序会通过注册表键“uishP”获取QiaoZipSvcHost.exe的所在路径。获取成功之后,则会拼接运行参数“-startby=2”来执行QiaoZipSvcHost.exe。最后,获取当前时间并更新注册表“eysTime”的键值,相关代码如下图示:

通过注册表键“uishP”获取QiaoZipSvcHost.exe所在路径

注册表相关键值信息

启动QiaoZipSvcHost.exe并更新“eysTime”键值

QiaoZipSvcHost.exe下载器

QiaoZipSvcHost.exe被调用后会将本地系统信息上传到C&C服务器,请求地址如:hxxps://g.qiaoya.xsfaya.com/?r=/v2/api/config/wheel&category=0&manager=1&os=5&parent=1&qid=1&softid=17&uninstalled=1&vd=8&version=1.0.0.0&x64=1,请求会上传用户的系统版本、软件卸载状态、软件版本等信息。服务器在接到请求后,会反馈下载相关配置数据。请求相关代码,如下图所示:

请求链接构造

请求远程配置

服务器下发的配置数据为json格式,现阶段我们截获到的配置数据已经没有相关的下载配置,但是我们不排除将来相关配置放开下发可执行模块的可能性。但是服务器依然可以访问,现阶段我们请求到的配置,如下图所示:

现阶段我们截获到的配置数据

在服务器配置放开下发的情况下,QiaoZipSvcHost.exe会根据下载配置中的链接地址下载指定模块到本地执行,相关代码如下图所示:

下载远端文件

执行从远端下载到的可执行文件,相关代码如下图所示:

执行从远端下载的可执行文件

三、附录

样本hash

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火绒安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
高级威胁追溯系统
腾讯高级威胁追溯系统(Advanced Threat Tracking System,ATTS)由腾讯安全团队构建的高级威胁追溯平台,旨在帮助用户通过该平台进行线索研判,攻击定性和关联分析,追溯威胁源头,有效预测威胁的发生并及时预警。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档