作者:深信服千里目安全实验室
相关阅读:
1、【Rootkit 系列研究】序章:悬顶的达摩克利斯之剑
2、【Rootkit 系列研究】Windows平台的高隐匿、高持久化威胁
3、【Rootkit 系列研究】Linux平台的高隐匿、高持久化威胁
4、【Rootkit 系列研究】Rootkit检测技术发展现状
5、【Rootkit 系列研究】Windows平台的高隐匿、高持久化威胁(二)

序言

APT,全称Advanced Persistent Threat,又名高级持续性威胁,往往有地区或政治背景,以情报搜集、破坏、或经济利益为目的,攻击环节可能使用各类社工、打点和内网渗透以及0day漏洞利用,作为一种非对称的攻击手段,往往能为攻击组织背后的政治或经济实体带来意想不到的地缘、情报、经济甚至军事利益或战术优势。

APT攻击的检测、溯源与反制,往往代表了一个国家、一个组织最高级的网络安全实战能力。而如何应对APT攻击,减少所在组织或国家的情报损失,并提升网络安全优势,就成为头部网络安全企业必须考虑的问题。

从西方APT组织的攻击历史及已经泄露的网络武器看,高隐藏、高持久化(Low&Slow)是其关键特征,而 Rootkit 则是达成此目的的重要技术之一。

Rootkit 系列文章将围绕 Rootkit 的技术栈和运用场景,从攻防两个视角对其危害性和检测思路展开分析。

《序章:悬顶的达摩克利斯之剑》将着重介绍 Rootkit 技术发展历程、Rootkit背后的影子以及 Rootkit 检测基本思想,开启 Rootkit 系列篇章。

1.平静中暗藏危机

Rootkit 不是最常见的恶意软件类型。

根据 Bitdefender White Paper Rootkit CREAT3432[1]报告所述,Rootkit 占检测到的恶意软件总数不到 1%

由于 Rootkit 开发的复杂性,Rootkit 并不经常使用。尽管操作系统中引入了针对 Rootkit 保护机制,但 Rootkit 仍然可以长期隐藏设备上,进行恶意活动

因此 Rootkit 被业内公认是最难检测的隐藏手段

Rootkit 常常用于高质量的APT攻击。APT攻击具有较强的持续性特点,这需要建立在不被发现的基础之上,APT组织可以通过 Rootkit 在目标网络中潜伏几个月甚至几年之久,长期监控并窃取庞大的情报数据

Rootkit 如同高悬在我们头顶的达摩克利斯之剑,平静祥和的背后,却是无尽的危险与杀机

2.何为Rootkit

Rootkit 是一种特殊的程序(或一组程序),通常与木马、后门等其他恶意程序结合使用。

Rootkit 主要任务是隐藏并长期驻留在感染机器上的从事各类恶意活动,达到高隐藏高持久化目的。

Rootkit 一般具有多种功能,例如:

获得远程访问

Rootkit 提供对操作系统的远程访问权限并具备检测规避能力。

窃取数据

大多数情况下,攻击者使用 Rootkit 窃取数据。黑客以个人或公司为目标,获取敏感个人信息数据,以进行相关黑产活动。APT组织针对特定目标,以从事间谍活动或金融犯罪活动。

各类隐藏功能

Rootkit 实现隐藏文件、进程、端口、网络连接、驱动、内核模块等功能,将自身和其他类型的恶意软件隐藏在设备中,使删除它们变得更加困难。

创建“永久“的 root 权限后门

一些 Rootkit 可以在设备中创建一个 root 权限的后门,攻击者可以通过发送精心构造的数据包来触发后门连接并控制设备。

隐私监控

使用 Rootkit,攻击者可以拦截网络流量、监控键盘击键、控制用户操作。

劫持或关闭安全程序

某些 Rootkit 可以将自己隐藏在设备的安全检测程序中,或者将其完全关闭 ,从而难以检测和删除恶意软件。

根据 Rootkit 运行时权限级别划分分为:

(1)内核态Rootkit

内核态 Rootkit 具有与操作系统相同的权限,在内核级别运行,通常作为设备驱动程序或可加载模块加载到目标设备中。

内核态 Rootkit 很难开发,因为源代码中的任何错误都会影响目标系统的稳定性,这将是发现恶意程序的最直接表现。

(2)用户态 Rootkit

用户态 Rootkit 以与大多数应用程序具有相同的运行权限。它们可以拦截系统调用并替换 API 或劫持应用程序返回的值,以获得对设备的控制。

用户态 Rootkit 所需的前置知识和复杂度,与内核态Rootkit相比更简单,更容易开发,因此常用于大范围攻击。

3.Rootkit 发展历久弥新

90年代初期,Rootkit 用于攻击 Unix 系统以获得最大权限并以 root 用户身份执行命令,因此得名。直到 1999 年,Greg Hoglund在Phrack上首次发表了专门为Windows 操作系统设计的 NTRootkit[2]。后来,也出现了可用于攻击 macOS、Android 的 Rootkit。

Rootkit 技术由来已久,发展历久弥新,呈现从简单到复杂高层向低层的演化趋势。

无论是哪种平台下的 Rootkit ,其技术演化的核心思想都是劫持。安全研究员围绕着劫持对象和劫持方式,产生出了非常多的底层Rootkit技术。

不同平台下的 Rootkit ,按照劫持对象劫持技术复杂度的不同,可将 Rootkit 技术大致分为以下几种。

在Windows平台下:

  • 劫持指令执行流程

  • 直接修改内核对象

  • 内存视图伪装

  • 虚拟Rootkit

  • 硬件Rootkit

在 Linux 平台下:

  • 直接替换系统命令二进制程序

  • 修改LD_PRELOAD劫持共享库

  • 重定位目标文件注入

  • 劫持VDSO

  • 虚拟文件系统劫持

  • Kprobe

  • Netfillter Hook

  • 篡改派遣例程劫持系统调用

  • 设置函数蹦床劫持内核函数执行流程

  • 创建新的命名空间

如图 1所示,近二十年 Rootkit 演化发展时间轴(Rootkit开源或热门实例)。

图1 近二十年部分Rootkit出现时间轴

目前,技术是向更加底层的方向发展。然而,根据近十年已发现的 Rootkit 攻击事件,使用用户态Rootkit 却是一个趋势。例如,2010年以后,ZeroAccess Rootkit[3] 的开发人员已经转向使用用户态Rootkit。

近十年用户态 Rootkit 使用趋势上升可能由于以下几个原因:

  • 内核态 Rootkit 需要针对不同系统内核版本进行开发和调试,因此大多数攻击者可能没有足够的技术能力,从而选择更简单的攻击方式。

  • 开发和调试 Rootkit 需要花费大量时间成本,大多数攻击者希望低成本快速部署攻击

  • 内核态 Rootkit 存在不稳定性,源代码中的任何错误都可能导致操作系统BSOD或者Kernel Panic,这将直接暴露入侵行为

  • 幸存者偏差,用户态 Rootkit 更适合大范围的攻击,由于攻击范围扩大,其相较于内核态 Rootkit执行性时的痕迹更容易被检测,导致从结果上看,使用用户态 Rootkit 呈现上升趋势。

实际上,不仅是安全研究员研究对抗Rootkit,操作系统提供商也在积极与 Rootkit 作斗争。例如,Windows 10 操作系统提供了一系列驱动程序检测来对抗 Rootkit。

所谓道高一尺魔高一丈,攻击者也在开发绕过 Rootkit 防御机制的技术。例如,新的Moriya Rootkit[4]已经提供了绕过驱动程序检查PatchGuard 强制签名的功能。

甚至攻击者开始向硬件设备注入 Rootkit 模块。

Amnpardaz的恶意软件分析团队首次在 HP iLO设备中发现 Rootkit —— iLOBleed [5]。

HP iLO 设备带有自己的处理器单元、存储空间、RAM 和网卡,并且独立于任何本地操作系统运行。

它们的主要作用是为系统管理员提供一种连接远程系统的方法,即使系统处于关闭状态下,也可以执行维护操作,例如更新固件安装安全更新重新安装系统等。

iLOBleed 向iLO设备固件中添加了一个名为Implant.ARM.iLOBleed.a的恶意模块,并进行隐藏恶意活动和持久化操作。

攻击者通过更改多个原始固件模块方式,实现劫持 iLO 和服务器之间的消息交换通道,绕过固件正常更新过程,劫持管理 Web 界面以显示无效的 iLO 软件版本信息,鸡翅服务器事件日志模块以防止记录恶意软件的操作,修改 iLO 操作系统的多线程内核等功能,达到高隐藏目的

攻击者通过逆向分析提取 bootloader.bin、kernel.bin 和 ELF.bin 三个主要部分后,查找在引导加载程序和内核中执行签名验证操作的函数的地址,并将它们替换为 NOP 命令。最后,将修改后的文件组合在一起形成一个完整的 HP Image 文件,并作为新固件写入 SPI 闪存,达到高持久化目的

iLOBleed 在伪装完成更新的同时,默默地阻止固件更新。它还提供对服务器硬件的访问,定期执行数据销毁操作

Rootkit 技术在攻防两端的持续对抗下,不断发展。即使开发Rootkit需要对目标操作系统、逆向和编程有很高要求,其开发过程也是困难重重,但新的 Rootkit 还是会定期出现。

4.隐匿于Rootkit背后的影子

内核级别的Rootkit难以开发,那么谁还坚持使用它们?

答案很明确:即具有足够技术和财力支持的战略性组织,这些组织通常会不计成本地进行经济犯罪、破坏基础设施窃取数据

DirtyMoe 僵尸网络[6]、H2Miner 组织[7]利用Rootkit进行持久化并隐藏挖矿模块,掩盖挖矿行为和其他恶意活动,将 Rootkit 技术直接用于经济犯罪

Rootkit 在攻击中的使用最著名的事件莫过于 2010 年震网攻击事件(Stuxnet),攻击者使用 Stuxnet 秘密收集数据并将恶意文件文件下载到受感染机器。攻击的主要目的是阻止伊朗核系统的发展并实际破坏其基础设施

由于Rootkit 相关开发的各种困难性与其应用场景,它们最常被 APT 组织使用。这一级别的攻击者的主要动机是窃取数据从事网络间谍活动

例如,攻击者使用Flame Rootkit[8]跟踪受害者的网络流量、执行键盘记录功能并截取屏幕截图。

APT 组织Strider(也称为 ProjectSauron,或 G0041),其主要目标是俄罗斯、比利时、伊朗、瑞典和卢旺达等政府。在对政府机构的攻击中,使用了Remsec Rootkit[9],用于窃取加密密钥、配置文件,并收集加密密钥基础设施服务器的 IP 地址。

Kaspersky研究人员发现了TunnelSnake行动[10],这是一起高级持续性威胁(APT)攻击活动。TunnelSnake至少从 2018 年开始,利用Moriya Rootkit[11]有针对性的从事网络间谍活动。目标包括东南亚和非洲的两个外交组织。Moriya Rootkit 绕过Windows 系统驱动程序检查和 PatchGuard 模块的强制签名验证,为攻击者提供远程访问权限、拦截网络流量、下载和运行下攻击阶段的恶意代码、隐藏向受感染主机发出的恶意命令。这导致攻击者秘密控制了目标的网络长达数月之久。

根据Positive Technologies研究[12]发现,最常见的目标是政府和研究机构,77%的Rootkit被攻击者用于收集数据等间谍目的

44%的攻击针对政府部门,38%的攻击针对科研单位。这些机构的数据对攻击者往往具有重要价值。除此之外,电信、制造业、金融机构也是名列前茅。而56%的攻击被犯罪分子用来针对个人,包括高级官员、外交官等。而在动机方面,31%是出于经济利益,只有15%的攻击,试图利用受害者的基础设施进行后续攻击。

图2 受Rootkit攻击最多的5个行业[13]

Rootkit将继续被APT组织使用,这意味着它不再只是为了破坏数据和获取经济利益,而是为了隐藏复杂的有针对性的攻击,这些攻击可能会给组织带来不可估量的损失。

综上所述,Rootkit 是非常危险并且造成的损失难以评估,原因是:

  • Rootkit 为攻击者提供系统权限

  • Rootkit 使检测恶意活动变得更加困难

  • Rootkit 很难被发现和清除在某些情况下无法移除Rootkit,必须升级受感染的硬件;

  • Rootkit 窃取数据带来的经济损失难以评估

  • 目标设备存在内核态 Rootkit 通常表明,可能被一个准备充分的高水平组织发起的有针对性的攻击,这意味着虽然攻击未被检测到,但目标的基础设施可能处于攻击者的完全控制之下并潜伏多年

5.Rootkit的阿喀琉斯之踵

罗卡交换定律:“凡两个物体接触,必会产生转移现象”。其定律原本用于犯罪现场调查中,行为人(犯罪嫌疑人)必然会带走一些东西,亦会留下一些东西。即现场必会留下微量迹证。

罗卡交换定律衍生到计算机取证调查领域来说就是——当攻击者试图进行检测规避时,也产生了其他可以被检测的新特征

所以高隐藏高持久化 Rootkit 并不是不可检测的。

其 Rootkit 技术本身,就存在阿喀琉斯之踵——隐藏永远是相对用户而言。

攻击者使用Rootkit最关键的地方在于实现其所需功能的前提条件下,尽可能隐藏自身,实现所需功能意味着 Rootkit 必须要与系统进行交互,这说明Rootkit 运行过程中的数据,必然是符合操作系统需求的数据结构

技术不分好坏,只是看被谁利用,在攻击方利用Rootkit谋坏事之际,防守方也可以利用 Rootkit 发现攻击方的蛛丝马迹。

发现 Rootkit 植入后的异常,往往实时地处置异常,不是第一考虑的要素,因为目标设备存在Rootkit ,通常表明可能正在被一个准备充分的高水平APT组织发起的有针对性的攻击。一旦成为 APT 的目标,“他们”会继续回来,达到最终目的。

此时,安全分析师介入调查并取证溯源是最为重要的,定位数据泄漏范围以及攻击者信息,保护重要业务数据不再泄漏。

悬顶的达摩克里斯之剑还未真正落下,在 Rootkit 领域的攻防对抗中,就是较量攻防双方谁更了解操作系统,谁掌握的更深,谁就更占据优势。相信未来 Rootkit 技术还会向更加深远的领域不断前进。

To be continued ……

参考链接

[1] https://download.bitdefender.com/resources/files/News/CaseStudies/study/253/Bitdefender-Whitepaper-RootKit-CREAT3432-en-EN.pdf

[2] http://phrack.org/issues/55/5.html

[3] https://nakedsecurity.sophos.com/2012/06/06/zeroaccess-Rootkit-usermode/

[4] https://securelist.com/operation-tunnelsnake-and-moriya-Rootkit/101831/

[5] https://threats.amnpardaz.com/en/2021/12/28/implant-arm-ilobleed-a/

[6] https://securityintelligence.com/news/dirtymoe-botnet-returns-undetectable-threat-profile/

[7] https://attack.mitre.org/software/S0143/

[8] https://securelist.com/faq-the-projectsauron-apt/75533/

[9] https://www.kaspersky.com.cn/about/press-releases/2021_operation-tunnelsnake-formerly-unknown-rootkit-used-to-secretly-control-networks-of-organizations-in-asia-and-africa-cn

[10] https://securelist.com/operation-tunnelsnake-and-moriya-Rootkit/101831/

[11] https://www.ptsecurity.com/ww-en/analytics/rootkits-evolution-and-detection-methods/

[12] https://www.ptsecurity.com/ww-en/analytics/Rootkits-evolution-and-detection-methods/

[13] https://mp.weixin.qq.com/s/Rp-QIaLp_6gitUor2IIcAQ


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1867/