冬训营丨基于DM-I型内存获取卡的威胁捕获与分析

时间 :  2022年01月26日  来源:  安天


1.背景

内存对抗长期都是系统侧攻防焦点。在威胁分析场景中,面对内存喷射、无文件恶意样本等攻击技术当前大行其道的情况,需要可靠的获取内存内容支撑深度分析,但基于主机的内存Dump,很容易被恶意代码反制,甚至Dump结果被欺骗。在取证场景中,由于内存Dump工具同样需要运行在系统上,会带来对内存数据的污染和干扰。在欺骗式防御场景中,采用内核驱动和应用层钩子的获取机制,很容易被攻击者感知到。在这些场景下都需要无损、无感的内存获取技术。DM-I型内存获取卡,是在安天长期威胁分析和对抗的需求中产生的特种设备。

2.当前APT攻击技术现状

通过对比取证分析中经常发现的远控平台包括Cobalt Strike、Metasploit等远控平台和超高能力网空威胁行为体攻击工具,安天CERT发现,APT攻击者在无文件攻击和反取证技术的研究上一直在创新。

2.1 商业远控平台——Cobalt Strike

CobaltStrike于2012年创建,2020年被HelpSystems收购,目前Cobalt Strike已成为许多美国政府、大型企业和咨询机构的首选攻击平台。

CobaltStrike平台虽然是商业远控平台,但由于使用者众多,在互联网上有非常多的破解的版本,意味着即便是初学者也能接触到。而只要学会如何使用即可完成攻击。

图2‑1 某攻击事件使用CobaltStrike平台

海莲花组织曾使用过Cobalt Strike平台进行入侵,使用脚本为执行入口,下载模块后,直接注入到rundll32.exe内执行的方案,此方案下载的载荷不会在硬盘中留下痕迹。

2.2 开源远控平台——Metasploit

开源软件Metasploit于2003年开发,到今天其仍然是部署最多的攻击工具,其框架开源,并且在kali中默认安装。该远控平台提供载荷免杀和无文件入侵功能,且在公共视野中存在大量教程。

图2‑2 Metasploit pro版Web UI

2.3 超高能力网空威胁行为体攻击工具——DanderSpritz+Fuzzbunch

在影子经纪人泄露的NSA方程组工具Fuzzbunch和DanderSpritz中,处处都体现了该组织高超的编程技巧和对无文件入侵的偏好。Fuzzbunch平台中的Doublepulsar模块使用APC方式进行后续载荷植入,而DanderSpritz平台生成的远控载荷可以通过Doublepulsar注入。载荷在连接时,可以进行载荷加载方式的识别,如果加载方式不对应,则无法连接。

3.对APT攻击取证的难点

反取证方法大体上可以分成四类:数据隐藏(data hiding)、资料抹除(artifactwiping)、痕迹混淆(trail obfuscation)、工具对抗。

数据隐藏指的是使用加密、隐写术和其他的技术隐藏数据。

资料抹除用于覆盖数据,通过写入垃圾数据隐藏攻击过程中产生的实际数据。

痕迹混淆旨在误导调查人员的线索、混淆隐藏或删除有关来源和性质的证据、攻击的原因,此技术可用于修改日志、清理日志文件或修改元数据时间戳。

工具对抗针对取证工具名称、特征和关键函数代码进行监控,发现后清除自身数据以逃避被发现。

图3‑1 ATT&CK收录的使用技术点T1518/001(安全软件发现)的恶意样本

在开源情报中,能够找到非常多的反取证案例。

4.对易失介质取证的探索

4.1 内存转储软件

内存转储软件种类很多,但是大部分都在系统层面可以被感知,在反取证的样本面前显得力不从心。

图4‑1 三大主流PC平台的内存转储软件

4.2 内存断电取证

在常温下,内存断电后,短时间内还会存储一些数据,可用于应急取证内存数据,经过实验测试只要以液态氮(摄氏-196度)冷冻计算机芯片,即使电源已中断,内存仍可保持状态至少数小时。

但这种方法条件要求苛刻,且数据恢复不全。

图4‑2 内存断电取证恢复情况比较

5.基于DM-I型内存获取卡的内存取证

由于APT攻击的无文件、反取证特性都和操作系统有关,取证工作有必要寻找一种不依赖操作系统的取证方法。

DM-I型内存获取卡提供了一种绕过攻击者感知获取内存的能力。其利用硬件直读的方式获取系统物理内存,再完成映射获取攻击者代码。

5.1 能力优势

1. 与操作系统无关,无需在操作系统安装任何驱动或相应的软件,完全工作在硬件层面,完成对于物理内存全空间的获取。

2. 在没有载荷的情况下无痕读取内存、不受攻击代码干扰,使攻击方无感知,从而吸引捕获载荷,应用于高烈度对抗场景。

3. 具有绝对控制权,可在软件完全无感知的状态下,查看内存数据。可以访问系统和应用各层的程序指令和数据,操作系统及各层软件(包括恶意代码)无法感知也无法干预这些操作。

5.2 能力发展方向

1. 内置安全引擎模块,TDU芯片+内存获取卡组合,完成本地检查和处置。

2. 提供网卡接口,通过网口进行远程控制,集中完成物理内存全空间的检查和处置。

3. 定义内存访问的硬件和软件接口协议,向第三方安全解决方案提供数据和操作机制,建立基于物理内存访问的安全产品生态。