社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 1738阅读
  • 2回复

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

楼层直达
z3960 
级别: 茶馆馆主
发帖
770867
飞翔币
207694
威望
215657
飞扬币
2511641
信誉值
8

近日我们收到大量用户反馈,一款名为“巧压”的压缩软件卸载后还会“复活”——重新安装到用户电脑中。火绒工程师分析后发现,在用户执行卸载操作时,“巧压”会将恶意模块驻留在用户电脑中,并可以通过恶意代码从云控服务器下载执行任意可执行文件。用户大量反馈的“复活”现象,不排除是通过该云控逻辑实现。根据“火绒威胁情报系统”监测和评估,目前受到“巧压”影响的用户或在百万级左右。“巧压”除了卸载不掉以外,还会产生大量弹窗广告,严重干扰用户日常电脑的使用。目前火绒为用户提供以下两种解决方法: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分钟,也可通过注册表项HKCUSoftwareQiaoZipSvcHostQiaoZipSvcHost键值retainPI设定分钟数)启动模块QiaoZipSvcHost.exe , 参数为 -startby=1。 QiaoZipSvcHost.exe的路径从注册表中HKCUSoftwareQiaoZipSvcHostQiaoZipSvcHost键值uishP获得。相关代码如下图所示: ServiceMain中创建线程用于启动模块 每隔固定时间启动 创建进程启动 注册表QiaoZipRMExtern.dll启动QiaoZipSvcHost.exeQiaoZipMd5Tool.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

我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 超级版主
发帖
833819
飞翔币
226630
威望
224648
飞扬币
2443961
信誉值
0

只看该作者 1 发表于: 2020-03-06
来看一下
级别: 超级版主
发帖
833819
飞翔币
226630
威望
224648
飞扬币
2443961
信誉值
0

只看该作者 2 发表于: 2020-03-06
不错,了解了