大家使用电脑时,装机必备软件肯定少不了压缩工具,但使用压缩软件时,你们有没有发现他们都有同样的毛病?可恶的流氓广告!你是否和笔者一样有着以下这些烦恼:电脑开机时,迎接你的总是任务栏上莫名弹出的各种广告;经常发现电脑桌面上不知何时悄无声息的出现了各种图标;或者更令人爆炸的是玩游戏或者全屏投影的时候弹窗广告强行把你切回桌面等等。而这些其实都是由于商业公司往往会瞄准一些存在开源方案的软件,一拥而上,用开源代码改造出带恶意弹窗推广的流氓软件。
流氓软件是介于病毒和正规软件之间的软件,多半都是在用户不知情的情况下载安装的。“流氓软件”不仅会影响我们的日常办公,而且还会劫持你的电脑,篡改你的网站主页,甚至还会收集、追踪你的个人信息进行利用和推广;让人感到无比恶心的同时有的还拿它没辙。很不幸,压缩软件正是流氓软件中的典型之一。目前,流氓广告推广成为多数用户的烦恼,通过对压缩类流氓广告的样本分析发现,这些让人束手无策又抓狂的弹窗广告已成为日常。
根据最近捕获的病毒样本数据统计,感染量前50的病毒中流氓软件占比较大,而压缩软件正是流氓软件中的典型之一,所以本文将带大家一起分析两款典型的带有流氓广告的压缩软件,分别是XinSu安装包(1.0.5.20331版本)和KuaiZi(快压)检查更新程序UpdateChecker(1.0.5.1版本)。
XinSu安装包是最近非常活跃的带有流氓广告的软件之一,是压缩软件新速压缩的安装包,该软件被众多使用者指出在开机之后会弹出大量低俗的弹窗广告,并且安全研究者发现该软件中内置了后门程序用来收集用户浏览器历史记录等信息。
而UpdateChecker程序是压缩软件快压的检测更新程序,版本1.0.5.1。该软件负责快压中的广告弹窗。快压程序安装时,会在安装目录的x86目录下释放一个UpdateChecker.exe的流氓软件,文件描述为“快压检查更新程序”。但实际上该程序运行时会下载并执行对应的广告程序,导致出现大量的广告弹窗。
下面就对这两种带有流氓广告的压缩软件进行分析。
首先,第一步是创建服务,并设置其为默认解压软件;然后,通过分析该安装包各个安装进程之间的层层关系,获得关系示意图如下图所示:
其中,服务进程Secat通过参数启动了Yematou.exe进程;通过动态调试分析能得到,Yematou通过CreateProcessW来创建子进程Loruly;Yematou随后退出,也导致了Loruly没有父进程;Loruly通过参数启动了Furtler、Xsmn、Xstp等进程,自此,进程间的关系就弄清楚了。
通过对Loruly的分析,发现了启动进程的参数情况:
通过已有的分析情况来看,新速压缩中的后门程序主要分为两个部分,云控主程序Loruly.exe和加载信息收集云控模块Furtler.exe(详细情况可参考链接火绒)。所以在XinSu安装包的所有进程中Loruly和Furtler相对更为重要,接下来将这两个模块单独提出来做进一步分析。
(1)使用wireshark工具连接106.75.97.222的80端口,抓取报文如下:
(2)然后连接58.216.21.226的80端口,抓取报文如下
(3)发现恶意模块Loruly.exe运行之后,会通过http请求来访问down.zhilingshidai.com下载并解密文件
(4)通过第一次解密,我们得到了一个xml的相关信息:
(5)解密被加密的7z数据,用于之后解密为pe文件:
(6)解密得到pe文件,并对pe文件头做校验:
(7)并且将pe文件位置进行了调整,0x22E0000为解密出pe文件的地址,0x10000000为新分配的内存,用于之后的文件调用,0x203000为另一个pe的地址:
(8)该pe文件是一个dll文件,并且拥有三个导出函数,地址分别是0x100011b0,0x100011d0和0x100011c0:
(9)其中eax+0x90为0x100011b0,edx+0x90为0x100011d0,ecx+0x90为0x100011c0,用于调用dll的导出函数:
(10)执行dll代码,加载dll文件的资源段,得到加密的数据,解密后得到一个pe文件:
(11)保存压缩包数据,解压得知该dll名为BrowserLink.dll:
(12)该dll用以获取后续云端加密配置文件信息,并解密出配置信息(图片引用于https://www.huorong.cn/info/1592489908487.html):
(13)带参启动Furtler进程,参数为xml的配置数据:
(1)Furtler进程同样存在文件解密的操作,Furtler.exe会根据其参数中的网址去下载执行远程加密模块jp_zgzs.dll的“Run”导出函数。解密过程和Loruly采用同样的解密方式:
(2)得到解压文件后发现是一个名为wp2_zgzs.dll,存在Run等相关导出函数:
(3)循环寻找导出函数Run:
(4)eax的地址为Run的地址,用于调用Run函数:
在%appdata%\LocalLow目录下发现了关于gif文件和xml文件等特殊文件,目录情况如下所示,其中包含了下载链接提及的syt.gif、zsw.gif和zsw2.gif:
如果大家想了解XinSu压缩更多分析结果可参考:https://www.huorong.cn/info/1592489908487.html
该程序为快压的检测更新程序,版本1.0.5.1。UpdateChecker.exe的文件描述为“快压检查更新程序”,文件属性,如下图所示:
经过对其数字签名的校验,发现该数字签名真实并有效,同时使用了网上已有的验证签名的方法进行验证:
(1)通过进程树可以发现,UpdateChecker启动了一个广告进程,并弹出了相关广告提示框:
(2)通过对UpdateChecker进行调试分析发现,UpdateChecker会下载文件并保存在本地,主要有%appdata%\kuaiya和%appdata%\kuaizip两个目录,包含文件详情如下图所示:
(3)UpdateChecker还通过CreateFileW函数来创建文件:
(4)使用CreateProcessA来启动对应目录下的可执行文件:
(5)通过同样的方式将其他的几个文件下载回来,以其中一个为例子,详细如下图所示:
(6)通过对启动参数的寻找,终于在代码中找到了解密数据的部分,并且解密xml代码多次被调用用于解密之后的多个xml配置文件,通过xml的解密函数,将加密数据解密为可见的xml数据:
(7)将解密后的xml数据,整理归档:
(8)urls的xml信息,主要配置了要连接的xml信息:
(9)杀软.xml配置,主要涉及弹窗广告部分,还带有对部分杀软的检测:
(10)其余xml大多是用来配置下载文件的配置和其他相关信息,这里以kuaiyaminixktt为例子,我们看一下xml的具体内容:
(11)下载完对应的文件并弹出广告窗口之后,UpdateChecker进程退出,自此UpdateChecker的分析就到此为止。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2021-2-3 10:41
被Risks编辑
,原因: 上传附件