你好,游客 登录 注册 搜索
背景:
阅读新闻

看看影音恶意挖矿行为分析

[日期:2016-09-16] 来源:本站整理  作者:www.wlfree.com [字体: ]
近日,部分用户出现电脑GPU占用率高,电脑温度升高,风扇噪声增大等问题。具体现象为电脑中C盘可使用空间骤降,且在C盘Ethash文件夹内,发现存 在大量的1G左右的垃圾文件;电脑闲置状态时,风扇转速增快,电脑发热增加,GPU使用率达到100%。非闲置状态时,恢复正常。经过远程调试分析发现是 看看影音在后台偷偷利用用户电脑的运算资源进行以太币(一种类似比特币的数字货币)挖矿导致。

 
[看看影音的版本和公司信息]
安装看看影音后,会注册组件%APP_DATA%\Video Legend\RBC\Program\RBCShellExternal.dll到注册表的explorer加载项,从而开机即可加载运行,然后通过 lua脚本控制,下载挖矿模块到本地利用GPU挖矿,整个流程如下图所示:

 
[看看影音挖矿行为整体流程简图]
RBCShellExternal.dll分析
该组件是一个商业功能模块,RBC是Remote Bussiness Control的缩写。顾名思义,这个模块可以通过远程配置来控制用户电脑上运行不同的模块,比如升级、修复、广告弹窗、推广安装等,也包括挖矿。
RBCShellExternal.dll会通过rundll32.exe来加载模块RBCEntry.dll,并通过命令行参数来检测调试工具。

 
[加载RBCEntry.dll的命令行]
完整命令行如下:
rundll32.exe"%APP_DATA%\Video Legend\RBC\Program\RbcEntry.dll", Control_RunDLL/thread /src ..\\..\\Xar\\Rbc.xar /killex /priority 0 /checktime /delay 1 /idle%d /busy %d  /debug /bkwndlist"Microsoft Visual;HTTPAnalyzer;WinDBG;OllyDebug;fiddler;SmartSniff;\t\t\t\t\t\t\t \tSpy++;Spy;ATL/MFC;任务管理器;DebugView;Process    Explorer;File Monitor;RegistryMonitor;Wireshark;OllyICE;OllyDBG;Sysinternals" /bkprocesslist"fiddler.exe;windbg.exe;devenv.exe;taskmgr.exe;wireshark.exe;\t\t\t\t\t\t\t\t\thttpanalyzer.exe;smsniff.exe;filemon.exe;regmon.exe;procmon.exe;ollydbg.exe;softice.exe;cis.exe;\t\t\t\t\t\t\t\t\ttasklist.exe;procexp.exe;ollyice.exe;processspy.exe;spyxx.exe;winspy.exe;cv.exe"
参数/src指定了要加载的lua脚本模块(已打包成xar格式),通过lua脚本来控制任务;参数/bkwndlist指定要查找的窗口标题,参数/bkprocesslist指定要查找的进程名,一旦枚举到指定的窗口或进程名,立刻结束进程,防止被用户发现。
LUA脚本分析
RbcEntry.dll封装了LUA引擎,加载后首先解析Rbc.xar,然后调用其中的onload.lua,启动整个脚本。Rbc.xar是任务调度模块,核心功能是从云端下载任务控制脚本并加载运行。
Rbc.xar解包后目录树如下:
Rbc.xar

└─layout
│  onload.lua

    └─luacode
            kkp.curl.lua
            rbc.base.lua
            rbc.eventsource.lua
            rbc.filter.lua
            rbc.helper.lua
            rbc.lua
            rbc.scheduler.lua
            rbc.setting.lua
            rbc.task.lua
            rbc.version.lua
onload.lua主要功能是加载各个脚本,代码如下:

 
[onLoad.lua加载脚本]
最后加载rbc.scheduler.lua里面包含了远程配置的任务脚本url:http:/***.kankan.com/rbc/taskschedule_v1.2.dat

 
[rbc.scheduler.lua调度脚本]
从各个函数名称可以看出,该脚本是主要功能是调度任务的运行。而脚本taskschedule_v1.2.dat则是真正的任务脚本。
taskschedule_v1.2.dat中配置了各种任务的参数,其中挖矿任务的参数配置块如下:

 
[挖矿任务脚本的参数配置块]
其中link就是该任务模块的下载地址,通常是xar包;frequency是执行频率;googleid和cnzzid是活跃统计标识。configurl是脚本里面使用的远程配置,主要是挖矿DLL模块的下载地址和MD5,具体内容请看下文。
任务模块下载后保存在%APP_DATA%\VideoLegend\RBC\Task目录下:
本文评论   [发表评论]   全部评论 (0)
站长推荐
热门评论