标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-1874] 作者: 对不起 发表于: [2018-09-09]
本文共 [858] 位读者顶过
一、概述[出自:jiwo.org]
目前,后门病毒会下载执行挖矿相关病毒模块,挖取门罗币,但不排除病毒团伙将来会推送其他病毒模块,发动更具威胁性病毒攻击的可能性。
攻击行为 火绒在前期报告中,在列举病毒攻击行为时所使用的病毒行为日志原图,如下图所示:
前期报告原图 在火绒前期报告中所提到的黑客所常用的FTP服务器用户名及密码分别为test和1433,与本次所截获攻击事件中黑客所使用的FTP服务器(ftp.ftp0118.info)相关信息相同。在"隐匿者"使用的FTP服务器地址中,我们发现down.mysking.info域名所指向的FTP服务器依然可以正常访问,服务器中存放的病毒文件虽然与本次黑客使用的FTP服务器中不同,但是文件名却极其相似。FTP服务器存放文件情况对比,如下图所示:
FTP文件情况对比图 除此之外,在本次截获的部分病毒样本语言信息为简体中文,与"隐匿者"报告中相同。进而我们可以初步判断,本次攻击事件可能与"隐匿者"黑客组织存在直接关系。本次截获样本(SHA256:46527e651ae934d84355adb0a868c5edda4fd1178c5201b078dbf21612e6bc78)的语言信息,如下图所示:
病毒样本语言信息
三、样本分析
被感染后的MBR代码数据 病毒MBR代码,如下图所示:
病毒MBR代码 病毒MBR代码运行后,会将第三个扇区后的恶意代码拷贝到0x8f000地址进行执行,恶意代码会在hook INT 15中断后,重新调用原始MBR执行正常的引导启动逻辑。当INT 15 中断被调用时,病毒代码会通过匹配硬编码的方式搜索BootMgr(startup.com)代码进行hook,被hook后执行的恶意代码代码会最终hook Bootmgr.exe 中的Archx86TransferTo32BitApplicationAsm和Archx86TransferTo64BitApplicationAsm。Hook INT15后执行的病毒逻辑,如下图所示:
Hook INT 15执行的病毒逻辑 BootMgr(startup.com部分)被hook后,在BootMgr.exe 加载时会继续执行下一步hook操作。Hook BootMgr.exe相关代码,如下图所示:
Hook BootMgr.exe相关代码 BootMgr.exe被hook后,Archx86TransferTo32BitApplicationAsm和Archx86TransferTo64BitApplicationAsm函数内代码情况,如下图所示:
被hook后的函数入口 Archx86TransferTo32BitApplicationAsm和Archx86TransferTo64BitApplicationAsm函数被hook后,被调用的病毒代码会在BootMgr.exe加载Winload.exe时hook OslArchTransferToKernel,为hook ntoskrnl.exe做准备。相关代码,如下图所示:
Hook OslArchTransferToKernel相关代码 被hook后的OslArchTransferToKernel函数内代码,如下图所示:
被hook后的OslArchTransferToKernel函数代码 OslArchTransferToKernel被hook后执行的恶意代码会hook ZwCreateSection,并破坏ntoskrnl.exe中PatchGuard相关逻辑。相关代码,如下图所示:
Hook OslArchTransferToKernel函数后执行的恶意代码入口 首先,恶意代码会先通过函数名哈希值获取ZwCreateSection函数地址,再获取最终需要在内核态执行的恶意代码入口(malware_krnl_main_entry),然后获取hook ZwCreateSection后被调用的处理函数入口和相关信息(包括ntoskrnl基址、malware_krnl_main_entry函数入口、ZwCreateSection函数入口地址、被patch掉的原始ZwCreateSection代码内容),最后修改ZwCreateSection函数入口代码,并将ntoskrnl中PatchGuard相关代码通过修改硬编码禁用掉。相关代码,如下图所示:
Hook ZwCreateSection和破坏PatchGuard的恶意代码 被hook后的ZwCreateSection函数入口代码,如下图所示:
被hook后的ZwCreateSection函数入口代码 ZwCreateSection被hook后调用的恶意代码,首先会修复ZwCreateSection被patch掉的代码内容,之后再将后续需要执行恶意代码(代码地址:0x946E6)通过MmMapIoSpace映射到内核态地址空间进行执行。相关代码,如下图所示:
ZwCreateSection被hook后调用的恶意代码 上述代码被调用后,会执行内核态恶意代码malware_krnl_main_entry,该函数内代码首先会根据函数名哈希获取所需的API地址。相关代码,如下图所示:
malware_krnl_main_entry代码 内核态主要恶意代码逻辑执行后,首先会创建线程通知回调,在回调中检测csrss.exe进程是否启动,在该进程启动后再继续执行后续恶意代码逻辑。相关代码,如下图所示:
线程通知回调中恶意代码逻辑 如上图所示,在检测到csrss.exe后,首先会尝试感染MBR并将存放恶意代码的扇区保护起来。通过过滤IRP的方式,在用户访问病毒引导代码所在扇区时,返回正常引导代码数据,提高病毒的隐蔽性。感染MBR相关代码,如下图所示:
感染MBR并将原始MBR数据拷贝到第二扇区 恶意MBR及相关数据保护逻辑会保护磁盘前0x3E个扇区。相关代码,如下图所示:
恶意MBR及相关数据保护相关代码 之后在内核线程(malware_behav_entry)中会根据不同的操作系统版本对winlogon.exe或explorer.exe进行APC注入。WinXP注入explorer.exe,其他操作系统注入winlogon.exe,如果是Win10系统会再次尝试hook Storport驱动对象的IRP回调。相关代码,如下图所示:
APC注入相关代码 被注入的病毒代码执行恶意逻辑主要参照从C&C服务器请求到的配置文件,该文件释放到本地后路径为:%SystemRoot%\Temp\ntuser.dat。该文件被异或0x95加密过,在使用该文件时会对文件进行解密。解密后的ntuser.dat配置内容,如下图所示:
ntuser.dat配置内容 如上图,配置文件总体分为两个部分:main和update。main部分中的所有ip和网址用来下载后门病毒相关配置,update部分中的ip和网址用来更新ntuser.dat配置数据,请求到的相关配置信息至今依然在持续更新。下载后门病毒配置信息cloud.txt的代码逻辑,如下图所示:
下载后门病毒配置信息 请求到的配置信息中,除后门病毒下载地址(exe键名对应数据)外,还有名为url的配置项,该功能开启后会hook CreateProcessW劫持浏览器启动参数,但现阶段该功能尚未被开启。配置信息,如下图所示:
配置信息 恶意代码会通过上图中的下载地址,将后门病毒下载到%SystemRoot%\Temp\conhost.exe目录进行执行。下载执行远程后门病毒相关逻辑,如下图所示:
下载执行后门病毒
Backdoor/Voluminer
更新C&C服务器列表 病毒在运行中会向C&C服务器请求获取最新病毒版本号,当检测到存在新版本时,则会通过C&C服务器下载执行最新版本的病毒程序。当后门病毒发现当前系统为64位系统时,还会向C&C服务器请求64位版本的后门病毒到本地进行执行。相关代码,如下图所示:
请求64位版本病毒 随后,病毒会使用地址列表中的C&C服务器地址下载挖矿所需的病毒组件,暂时我们发现会被病毒下载至本地病毒仅具有挖矿功能,但我们不排除其将来会下载其他病毒模块的可能性。病毒在下载文件后,会对病毒组件进行md5校验,病毒组件的md5值会参考C&C服务器中的md5.txt文件内容。相关代码,如下图所示:
获取远程恶意代码模块 在病毒组件下载完成后,病毒会将挖矿相关的模块和配置文件释放到%windir%\debug目录中,随后开始挖矿逻辑。病毒释放挖矿配置相关代码,如下图所示:
释放挖矿配置相关代码 与前段时间友商报告中所描述的该后门病毒相比,病毒的恶意行为已经有了明显变化。在早期版本中,被配发到用户本地的后门病毒会被注册为系统服务(服务名为:Windows Audio Control),并在运行后会显示控制台窗口并且在病毒运行时会在窗口中显示运行日志,最终会下载执行挖矿病毒,中毒现象十分明显。而在现阶段版本中,被下发到用户本地的后门病毒隐蔽性已经有所提高,在病毒执行过程中用户很难有所察觉。病毒挖取门罗币时使用的配置信息片段,如下图所示:
配置信息片段 通过上图中的门罗币钱包地址查询,我们发现该账户自2017年6月12日起开始有门罗币进账信息,至今已经共获取门罗币约2867个,合人民币约200余万元。病毒使用的门罗币钱包信息,如下图所示:
门罗币钱包信息
四、同源性分析
除此之外,文中所提到的样本与2017年样本相同,挖矿功能均是使用xmr-stak开源代码。相关数据,如下图所示:
挖矿相关数据对比 通过对比分析,我们发现与2017年样本相比,虽然最终恶意行为完全相同,但新样本在恶意逻辑中加入了云控功能,从而可以使样本可以根据黑客在C&C服务器中提供的恶意代码和相关配置信息对病毒进行调整。除此之外,文中样本较2017年隐匿者样本还加强了对样本自身代码的保护,在后门病毒及其派发模块中大量使用了VMProtect保护壳,加大了安全分析人员的分析成本。壳信息,如下图所示:
壳信息
隐匿者黑客组织最早可以追溯至2014年(时间依据请见前期报告),其攻击手法多样,且至今依然在不断进行改进和增强,已经成为对互联网环境威胁最大黑客组织之一。火绒会继续对该黑客组织进行追踪,不断收集和防御与该组织相关的所有安全威胁。
|