灰色产业链成病毒传播最大渠道 流量生意或迎来最后的疯狂
本帖最后由 此生长唸 于 2019-7-17 23:44 编辑【快讯】劫持浏览器、刷取流量等行为是流氓软件常见行为,而随着安全厂商持续打击、普通用户的安全意识提升,让病毒团伙、流氓软件厂商的获利空间被逐渐压缩。近期,“火绒威胁情报系统”监测到,病毒团伙为了获取更多的利润,开始与广告推广平台“合作”暗刷流量,以此欺骗用户和广告主、对抗安全厂商。这种病毒和广告联盟协同暗刷坑害广告主的行为、这种近乎癫狂的传播模式,似乎在宣告“流量生意”的彻底黑化。
根据“火绒威胁情报系统”监测发现,万能压缩、万能看图、Clover等多款软件正在静默推广后门程序“眼睛的守护神”,截至到目前,已有几十万用户被捆绑安装该后门程序。该后门程序被捆绑安装至用户电脑后,会通过远程服务器下载病毒 ,并静默推广鲁大师手机模拟大师等其它多款软件。通过查验签名得知,“眼睛守护神”的数字签名与其下发的病毒签名相同,或系同一家病毒软件厂商所为。
用户下载上述软件后,该后门程序即会进入电脑并暗自安装,安装过程中不会出现任何提示,且安装完成后也不会在桌面、开始菜单中创建任何相关快捷方式,用户很难找到软件功能入口。
安装完毕后,后门程序会通过远程服务器在后台悄悄下载病毒到本地执行。病毒可以劫持用户浏览器首页、暗刷流量,甚至会令安全软件部分防御功能失效。该病毒更加流氓之处在于,将用来刷取流量的页面广告内容全部设置为不可见,病毒在暗刷流量时用户完全无法察觉。此外,该后门程序还会静默推广鲁大师手机模拟大师等其它多款软件。
值得注意的是,万能压缩等系列软件下载量较大,其推广行为也较为疯狂(2018年双十一期间,火绒就这些软件的流氓推广进行跟踪分析,详情见报告《"双十一"成流氓软件爆发高峰 日均侵权推广1.7亿次》),目前已经造成病毒在短时间内大量传播的影响和危害。火绒工程师提醒广大用户小心防范,如果下载过上述软件,请尽快使用安全软件进行排查。
火绒用户使用“火绒安全软件”(个人版4.0与5.0公测版、企业版)最新版即可查杀上述病毒。
附【详细报告】:
一、病毒分析
近期火绒发现一款名为眼睛守护神的软件正在广泛传播,该软件实为伪装成正常软件的后门程序。该后门程序会通过C&C服务器配置下载执行的病毒会进行首页劫持、暗刷流量,甚至会使安全软件部分防御功能失效(通过移除正常软件内核回调的方式),除下载执行病毒文件外,该后门程序还会静默推广包括鲁大师手机模拟大师在内的多款软件。通过溯源分析,我们发现该后门程序会通过万能压缩、万能看图、Clover等多款软件以静默推广的方式进行传播。传播流程,如下图所示:
传播流程图
后门程序安装程序与我们截获的其中一个病毒驱动文件均带有“南京星洪科技有限公司”有效数字签名。文件信息,如下图所示:
文件信息
数字签名信息,如下图所示:
数字签名
眼睛守护神
眼睛守护神安装程序为7z自解压包,安装过程中不会出现任何安装提示,且安装完成后不会在桌面、开始菜单中创建任何相关快捷方式,用户很难找到软件功能入口。眼睛守护神传播病毒流程,如下图所示:
眼睛守护神传播病毒流程
上图中调用关系中,EPSvcControl虽然被EPTool调用后执行后续病毒传播逻辑,但是EPTool中也存在相同的云控代码,可以独立下载执行其他文件甚至病毒。EPTool调用EPSvcControl模块,如下图所示
调用EPSvcControl.exe模块
EPSvcControl模块被调用后,会从C&C服务器地址hxxp://biz.chlbiz.com/files/eyepatron/conf/remaintask.dat下载配置文件。相关代码,如下图所示:
下载remaintask.dat文件
下载到文件内容后,通过 BASE64+AES解密(密钥为“xcN2gedfty2iCjkL”)后,得到json格式的推广配置文件。相关代码,如下图所示:
解密文件
解密之后的推广配置文件中包含有推广触发条件,主要包含排除的城市名、触发概率、检测的安全软件进程名和推广程序下载地址。经过我们一段时间的跟踪,被下载执行的病毒文件在今年7月之前为acm.exe(释放驱动劫持首页、暗刷流量),在7月份之后被下载执行的病毒文件为InstExe_????.exe(流量暗刷,下文中称其为InstExe),且至今该病毒依然在进行更新。病毒传播时间线,如下图所示:
病毒传播时间线
下载执行InstExe病毒文件的相关配置内容,如下图所示:
配置文件
下载执行acm.exe的相关配置,如下图所示:
配置文件
acm.exe
acm.exe会释放加载随机名病毒驱动,驱动成功加载后会通过注入进程的方式劫持浏览器首页,并创建浏览器控件窗体进行流量暗刷。该病毒进行首页劫持时现象,如下图所示:
首页劫持现象
现阶段该病毒注入explorer后会在其创建的浏览器控件中显示C&C服务器页面hxxps://whale123.com/stat/corp.html(站长统计)和hxxps://whale123.com/stat/ie.php(流量暗刷),用来刷取用户流量。由于病毒创建的浏览器控件所在窗体在用户可视范围之外,所以在刷取流量时用户不会有任何察觉。窗体位置相关信息,如下图所示:
窗体位置相关信息
相关窗体,如下图所示:
浏览器控件窗体
随机名驱动
acm.exe运行后,首先会释放加载随机名病毒驱动。该病毒驱动文件同样也带有“南京星洪科技有限公司”有效数字签名,与眼睛守护神后门程序使用的数字签名相同,且该病毒由眼睛守护神后门程序进行传播,所以上述二者具有同源性。如下图所示:
病毒驱动数字签名信息
病毒驱动的主要功能是将恶意代码注入到explorer.exe、iexplore.exe等进程中进行首页劫持和流量暗刷。释放注册病毒驱动相关代码,如下图所示:
释放加载病毒驱动相关代码
病毒驱动主要功能分为两个部分,将恶意代码注入到指定进程、删除其他驱动注册的回调函数。该病毒驱动加载后,首先会初始化注入相关的数据,包括需要注入的恶意代码数据、系统版本等。有意思的是,该病毒为了提高自身的隐蔽性,病毒安装后的前60天与大于60天后注入的恶意代码内容不是相同的。前60天仅会通过C&C服务器中搭建的跳转页面劫持推广计费名,并不会改变最终的访问地址;60天之后,只要是指定的浏览器进程启动,都会将启动参数劫持为带有其自身推广计费名的2345导航链接。注入数据相关初始化代码,如下图所示:
初始化注入数据
在注入资源初始化时,会将需要注入的进程名列表进行分割后,逐个计算CRC32,用于后续注入操作。相关代码,如下图所示:
将进程名逐个计算CRC32
被恶意代码进程注入的软件列表,如下图所示:
软件列表
注入功能主要通过进程回调和模块加载回调实现,当进程启动时,病毒注册的进程回调负责将需要注入的进程PID加入到需要注入的数据列表中,之后在模块加载回调中将恶意代码注入到指定进程。进程回调相关代码,如下图所示:
进程回调
在记录注入进程时,会判断进程名的CRC32是否在需要注入的进程列表中,之后再根据进程的平台版本(x64/x86)插入到不同的进程列表中。相关代码,如下图所示:
将进程PID插入到进程列表
在模块加载回调中,如果发现当前加载模块的PID在进程列表中则会根据进程的平台版本(x64/x86)判断需要获取调用LdrLoadDll、Wow64ApcRoutine、LdrGetProcedureAddress、NtProtectVirtualMemory函数地址进行进程注入。如下图所示:
模块加载回调
插入APC相关代码,如下图所示:
插入APC相关代码
除此之外,病毒驱动还会创建内核线程删除其他软件进程回调和模块加载回调。首先,病毒代码会获取需要放过的驱动模块基址和模块范围(相当于白名单)。之后在PsSetCreateProcessNotifyRoutine函数二进制代码中找到进程回调函数队列,将除白名单以外的所有进程回调移除。有意思的是,除系统驱动程序和病毒自身外,相关病毒代码中仅会排除360安全卫士名为“360FsFlt.sys”和“hookport.sys”的驱动程序。被排除的驱动白名单,如下图所示:
白名单
相关代码,如下图所示:
移除进程回调
然后再通过PsSetLoadImageNotifyRoutineEx或者PsSetLoadImageNotifyRoutine获取模块加载回调函数队列,将白名单以外的回调移除。相关代码,如下图所示:
移除模块加载回调
被注入的恶意代码
被注入的恶意代码中主要包含两部分功能:劫持浏览器启动参数和释放加载corp.dll(用于进行流量暗刷的病毒模块)。受影响的浏览器与前文驱动中内容相同,此处不再进行赘述。当启动进程与劫持列表中情况相符时,即会修改浏览器进程的启动参数。相关代码,如下图所示:
劫持代码
被劫持的网址可以通过%APPDATA%\safebrain\conf.ini进行获取,如果获取不到会设置为代码中设置的默认值(默认值代码中所示)。相关代码,如下图所示:
获取启动参数
释放加载corp.dll相关代码,如下图所示:
释放加载
corp.dll
corp.dll动态库加载后会创建浏览器控件窗体,并将起始URL设置为网页链接hxxps://whale123.com/stat/corp.html,之后再将页面跳转到hxxps://whale123.com/stat/ie.php进行流量暗刷。www.whale123.com为聚软科技广告投送平台官网地址,有意思的是在该站点下面的ie.php页面中展示的广告内容均不可见。创建浏览器控件窗体相关代码,如下图所示:
创建浏览器窗体
在窗体创建时会设置timer,在窗体创建300秒后将页面设置为暗刷页面。相关代码,如下图所示:
设置暗刷页面
ie.php是一个跳转页面,会基于一定概率跳转到流量暗刷页面刷取流量。除此之外,用来刷取流量的页面对广告内容全部设置了不可见属性,所以即使当用户将窗体移动至可见区域内也依然无法确认该窗体在刷取流量。ie.php中的html代码,如下图所示:
ie.php中的html代码
该页面运行后会刷取多个站点的流量,包括《神武3》官网、风行网等。刷取流量所访问的网站页面,如下图所示:
刷取流量所访问的网站页面
所以,这个将自己标榜为精准投放的广告投放平台本身就做着流量暗刷的灰色业务和病毒一起“合作”暗刷流量坑害广告主的利益。
聚软科技广告投放平台首页
InstExe
该病毒与acm.exe功能相似,运行后会创建隐藏的浏览器控件窗体暗刷流量,但该病毒还在持续更新中,病毒运行后还会检测本地系统环境后将相关信息上传至C&C服务器(hxxp://192.186.7.71:2001)。 该病毒为了躲避安全软件查杀,其对主要功能模块进行了加密。解密相关代码,如下图所示:
解密主要病毒功能模块
该病毒为了提高自身隐蔽性,运行后会检测安全软件和安全分析工具,从而躲避安全软件查杀。检测内容,如下图所示:
被检测的安全软件
被检测的安全分析工具,如下图所示:
被检测的安全分析工具
该病毒运行后会将本地系统信息(系统版本等)发送至病毒服务器,相关代码如下图所示:
发送本地系统数据
病毒运行时会访问配置文件,配置文件内容包含有:排除城市、释放动态库时使用的随机文件名、360安全卫士相关信任区信息等。相关配置,如下图所示:
配置文件
病毒会创建浏览器控件窗体暗刷流量,最终意图与前文中acm.exe基本相同。相关代码,如下图所示:
注册浏览器窗体类
二、传播渠道分析
通过火绒终端威胁情报系统追踪,我们发现万能压缩、万能看图、Clover等多款软件会根据云控数据推广眼睛守护神,并致使病毒大范围传播。火绒前期报告《"双十一"成流氓软件爆发高峰 日均侵权推广1.7亿次》中,就曾经对万能压缩、万能看图、Clover等多款软件的流氓广告弹窗进行过分析说明,上述软件在进行流氓推广的同时,已经冲破了法律红线沦落为病毒传播渠道,致使病毒程序使用上述软件大范围传播,已经严重危害到了软件用户的信息安全,希望上述软件厂商抓紧彻查相关病毒威胁,坚守法律红线。下文中以Clover为例进行代码溯源分析。
当Clover软件安装完成后,点击快捷方式或启动资源管理器时,其主程序模块Clover.exe会启动执行。Clover程序执行会装载clover_dll.dll,并执行导出函数CloverMain。如下图所示,
执行CloverMain导出函数
在CloverMain函数中会调用ClvAssist.exe模块,参数为RunAssist,如下图所示:
调用ClvAssist模块
ClvAssist.exe启动后会从hxxp://down.shusw.com/clv/st/tsk.dat 下载配置文件tsk.dat 。如下图所示:
下载配置文件tsk.dat
通过“GUANGSU”循环异或解密配置文件数据后,可以得到原始配置数据。得到XML格式的配置文件, 如下图所示:
解密后的配置文件
解密相关代码,如下图所示:
解密配置文件
根据解密出的配置文件从http://down.shusw.com/clv/st/tsk.gif下载tsk.gif模块。如下图所示,
下载tsk.gif
tsk.gif不是gif图片文件,实际为加密后的dll文件,对其进行解密(DES解密算法,密钥为”万能的主“)并解压缩得到dll。相关代码,如下图所示:
解密并解压缩得到dll文件
装载dll并调用TaskRunPath等导出函数设置运行参数信息, 最后调用TaskStart进行广告弹窗和推广。如下图所示,
调用导出函数
TaskStart函数从资源节取出XML配置文件,如下图所示
从资源中获取配置数据
相关配置数据,如下图所示:
从资源节取出配置文件
根据配置取得地址http://down.shusw.com/clv/st/rpv1.dat下载加密后配置文件rpv1.dat,进行解密(“GUANGSU“循环异或),内容为之后要调用的任务信息。如下图所示,
任务信息配置文件
在多个任务中, 其中有名为“Flush”的任务,会调用Clvhelper模块,参数为RunHP hxxp://downsrf.eastday.com/clv/flush/Flush.gif。Clvhelper.exe开始执行后,会从hxxp://downsrf.eastday.com/clv/flush/Flush.gif下载文件(现阶段该链接地址已无法返回有效数据),进行DES解密(密钥为“万能的主”)并解压得到dll文件。接着程序装载dll并执行,跳入导出函数run_lib或Run执行。如下图所示,
执行导出函数run_lib或Run
run_lib函数从hxxp://www.chlbiz.com/file/url请求配置信息。如下图所示,
请求配置文件
对配置信息进行Base64+AES解密(密钥为“xcN2gedfty2iCjkL“),且该密钥与前文中眼睛守护神病毒模块中的解密密钥和解密方式完全相同。如下图所示,
解密配置
现阶段已经获取不到与上述逻辑相关的有效的配置数据。得到配置信息,如下图所示:
配置信息
并根据解密得到的网址下载dll进行装载,并调用导出函数run_lib进行程序推广。相关代码,如下图所示:
调用run_lib导出函数
除此之外,我们在Clover的配置文件中找到了关于其他同源软件的配置信息,经过搜集分析,配置文件中的其他软件中均包含恶意推广模块,且极其相似。包含的软件如下:
软件列表
相关配置信息,如下图所示:
配置信息
这些软件中的重要推广模块代码具有极高的相似性,包括配置文件的解密算法、配置文件、动态库的解密算法以及动态库中的配置文件,导出函数等。从上述的软件中任意挑选几款软件进行举例说明:万能压缩、万能看图、Clover。配置文件的解密为简单的循环异或,密钥为“GUANGSU”。如下图所示:
配置文件解密
解密出来的配置文件格式相似。如下图所示,
配置文件格式相似
动态库的解密均采用CBC模式DES算法,密钥为"万能的主”,初始IV为0。部分程序解密出的动态库为相同的文件。如下图所示:
解密动态库
解密出的dll文件中含有后续任务信息的xml文件。格式相同,且多个配置文件里的部分url链接相同。如下图所示:
后续任务信息的配置文件地址信息
解密出的dll的导出函数相同。如下图所示:
导出函数相同
综上所述,上述系列软件中均包含有相同的推广逻辑代码,且经过火绒终端威胁情报系统统计万能压缩、万能看图、Clover等软件会推广该后门程序(眼睛守护神),感染终端数量经推算在几十万台量级。相关数据,如下图所示:
感染数据
三、附录
样本hash: 不知道Windows defender能不能防的住。想装一个火绒却电脑又有些力不从心。有台4G+64G的surface go。平时Windows s + defender用的挺爽。后来因为S模式下有些生产力工具是在用不了,遂解锁了S模式。可是因为性能太差(主要是CPU与内存)。一装火绒就卡的要死,只能提心吊胆的使用defender了。平时论文与一些资料也扔在这台电脑里,深怕出事就惨了 那几个选项分别是 特殊方式操作注册表/写物理内存设备/写磁盘保留区{这个我发现5.0有保留}/注册服务/驱动/加载驱动模块 /加载全局钩子 /和修改系统时间 欢迎分析讨论交流,吾爱破解论坛有你更精彩! 欢迎火绒安全! 看不懂啊
谢谢分享!感觉火绒确实厉害? 流弊,厉害👍 666666666666 真的是一脸懵逼,什么时候我也能有这般能力就好了,百毒不侵何时能成? 谢谢老板,受教了 谢谢分享 大神 牛啊