原始报告地址:Attack on Security Titans: Earth Longzhi Returns With New Tricks
https://www.trendmicro.com/en_us/research/23/e/attack-on-security-titans-earth-longzhi-returns-with-new-tricks.html
主要是里面被攻击者使用的技术比较新颖,之前从未见过,于是下载了相关的样本本地分析了其实现原理。实现原理比较简单,因为恶意文件并未混淆,直接反汇编后可以了解到大致的实现逻辑。
1、通过使用Microsoft远程过程调用(RPC)而不是使用通用的Windows API将驱动程序安装为内核级服务,这是一种规避典型API监控的隐秘方式,近一年有一些文章在提及这类技巧。
2、使用Windows Defender可执行文件执行DLL侧加载,同时还利用存在漏洞(CVE-2018-5713)的驱动程序zamguard64.sys来禁用主机上安装的安全产品,实现BYOVD攻击。
3、使用了一种新的方法来禁用安全产品,通过镜像文件执行选项(IFEO)实现拒绝服务攻击来禁用进程启动,这是一种新的拒绝服务(DoS)技术。
恶意文件名为MpClient.dll,加载的母体文件为MpDlpCmd.exe,属于Defender可执行文件,dll文件的导出函数中195序号函数比较可疑,其余函数均为占位作用,只有195序号函数存在恶意逻辑。
首先解密并创建C:\\Users\\Public\\mmmm.sys文件,实质为存在漏洞(CVE-2018-5713)的驱动程序zamguard64.sys,接着使用RPC方式创建具体的驱动服务。
注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mmmmmm
具体的API记录其实是很模糊的,达到了不被监控的目的,但是会有很明显的异常痕迹,MpCmdRun读取了RPC相关的注册表项以及rpcrt4.dll,表明会使用RPC函数,之后就由系统进程services.exe来创建对应的注册表服务项以及驱动文件路径,同样services.exe进程同样会读取rpcrt4.dll,表明会存在RPC调用。
以上实现了服务创建,等服务创建完成后将使用驱动(\\\\.\\ZemanaAntiMalware)来终止一些安全软件进程。
在终止安全软件进程的瞬间会设置Image File Execution Options注册表项,路径为"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\",新增MinimumStackCommitInBytes注册表项,这个是会导致进程被终止后再次启动时会因为失败,所以存在拒绝服务攻击,具体原理可以阅读原始报告内容。
利用这种方式,我们可以本地测试下效果,虽然比较粗暴(动静太大非常容易被遥测发现,且前期的白加黑特征过于明显也容易被查杀,真正做到静默植入还是很难的),于是针对存在自保护机制的服务利用这种方法会存在效果,导致服务无法开启。