本帖最后由 火绒工程师 于 2021-11-9 11:28 编辑
近日,火绒工程师发现一款传奇私-Fu登录器正在向用户电脑中植入恶意模块,劫持用户流量。当用户在游戏私-Fu站点中下载传奇私-Fu登录器并启动游戏时,该私-Fu登录器携带的恶意模块随即被激活,并执行劫持网络流量、上传终端信息等恶意行为。此外,根据火绒工程师对现有代码内容进行分析,该恶意模块还在持续更新,后续可能发展为内核级后门,对用户构成巨大安全威胁。 火绒查杀图
经火绒工程师分析溯源发现,传奇私-Fu登录器携带的恶意模块和火绒捕获的其历史版本恶意模块,均添加了微软WHQL认证签名(如下图),会容易让用户误认为其是微软官方推出的一款程序。该行为具有较强的迷惑性,广大用户需要警惕。
事实上,我们在搜索引擎中搜索“私-Fu”等关键词时,可以发现包括传奇私-Fu在内的众多游戏私-Fu开服表链接,如下图:
长久以来,这类游戏私-Fu为了攫取利益,打着“让用户获取更好的游戏体验”的名义,利用搜索引擎竞价排名功能付费宣传和推广,诱导用户下载使用;同时,它们往往也携带病毒(此前火绒也曾报告过倚天OL、九州私-Fu登录器中带有后门病毒),严重侵害用户隐私和资产安全。 火绒工程师提醒广大用户,切勿使用上述类似软件;谨慎下载不明网站软件,如需使用,请下载后使用火绒及时查杀。 补充阅读: 《私-Fu游戏携带后门病毒远控电脑,请用户谨慎下载》 https://www.huorong.cn/info/1601463871520.html
以下为详细分析与样本hash:
一、详细分析 通常,对此类游戏存在需求的用户会在搜索引擎中搜索诸如“私-Fu”之类的关键字,在搜索结果中会出现大量游戏私-Fu开服表链接。游戏私-Fu开服表再将用户引流到具体的游戏私-Fu站点,下载私-Fu登录器。
当用户从前文所述游戏私-Fu站点下载、启动传奇私-Fu登录器时,私-Fu登录器会在后台释放并加载下载者驱动,该驱动会连接外网并下载一个经过伪装加密的“.jpg”文件,在进行解密后最终得到恶意驱动。整体的病毒执行流程如下图所示:
1、GK-Client.Dll解密运行下载者驱动
游戏私-Fu登录器运行后,会加载GK-Client.dll并调用其导出函数CInit执行恶意逻辑。CInit中执行的主要恶意逻辑代码如下图所示: 主要恶意逻辑
首先会查找是否存在资源名为“BIN”的资源文件,如果存在则继续执行解密逻辑,代码如下图所示:
解密逻辑
解密完成后启动下载者驱动服务,代码逻辑如下图所示:
下载者驱动首先会将经过倒转的BASE64编码还原恢复正常顺序,保存的字符串如下图所示:
恢复被倒转的BASE64编码
将BASE64编码进行解码后,得到的网址如下图所示:
下载恶意驱动网址
在成功解密得到下载网址后下载者驱动会向服务器发起请求,访问下载网址中的文件,下载逻辑如下图所示:
请求下载恶意驱动
同GK-Client.dll的解密文件的逻辑一致,在下载的文件0x2800偏移处保存需要解密的文件大小,0x2804偏移处保存异或的值,0x2808偏移处保存需要开始解密的文件首地址;解密完成后,下载者驱动将解密后的数据写入至“drivers”目录下。具体逻辑如下图所示:
将恶意驱动解密并写入本地
最后下载者驱动会为恶意驱动创建注册表服务,并加载运行恶意驱动,如下图所示:
3、恶意驱动 恶意驱动启动后会创建多个线程同时执行多个恶意操作,如下图所示:
1、恶意规则下发 解密BASE64编码
将BASE64编码进行解码后,得到的网址如下图所示(目前规则文件已经无法下载):
规则文件网址
规则文件下载完成后,恶意驱动会对下载的文件内容按照不同的字段信息进行匹配,设置相应的规则,匹配的字段代码如下图所示:
匹配规则文件字段
规则文件中的部分字段含义如下图所示:
其中签名信息黑名单规则用于对系统中启动的程序做比较判断,如果启动的进程相应文件存在签名,且签名信息命中黑名单规则,恶意驱动便将目标进程结束。如果黑名单规则中的签名信息均未命中,则会继续对目标进程名称做判断,当进程名是“SuperKiller”或者“SuperKillller”时,目标进程同样会被结束。相关代码如下图所示:
结束命中黑名单规则的进程
同时恶意驱动文件本身也保存一批签名信息黑名单,命中这批黑名单的程序同样会被恶意驱动禁止加载启动,黑名单信息如下图所示:
劫持网站相关的字段jack中保存有以下三种二级字段信息,相关含义如下图所示:
劫持规则字段含义
恶意驱动通过Hook驱动Afd的MajorFunction[IRP_MJ_DEVICE_CONTROL]和FastIoDispatch达到劫持网络的目的,Hook代码逻辑如下图所示:
Hook逻辑
在被Hook后的函数中,恶意驱动会对网络请求相关的IoControlCode进行过滤,具体劫持逻辑如下图所示:
同时恶意驱动会获取主机的cpu核数,硬盘sn序列号,C盘windows文件夹创建日期,通过一系列计算将得到的结果拼接最终上报至远程服务器上,拼接代码如下图所示:
上报主机信息
用于上报主机信息的服务器地址,如下图所示:
二、附录 |