【Rootkit 系列研究】序章:悬顶的达摩克利斯之剑
2022-1-19 11:27:4 Author: www.secpulse.com(查看原文) 阅读量:17 收藏

序言

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

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

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

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

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

1.平静中暗藏危机

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

根据 Bitdefender White Paper Rootkit CREAT3432报告所述,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。后来,也出现了可用于攻击 macOS、Android 的 Rootkit。

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

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

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

在Windows平台下:

  • 劫持指令执行流程

  • 直接修改内核对象

  • 内存视图伪装

  • 虚拟Rootkit

  • 硬件Rootkit

在 Linux 平台下:

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

  • 修改LD_PRELOAD劫持共享库

  • 重定位目标文件注入

  • 劫持VDSO

  • 虚拟文件系统劫持

  • Kprobe

  • Netfillter Hook

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

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

  • 创建新的命名空间

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

image.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

image.png

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

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://mp.weixin.qq.com/s/Rp-QIaLp_6gitUor2IIcAQ

8.https://attack.mitre.org/software/S0143/

9.https://securelist.com/faq-the-projectsauron-apt/75533/

10.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

11.https://securelist.com/operation-tunnelsnake-and-moriya-Rootkit/101831/

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

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

本文作者:Further_eye

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/172774.html


文章来源: https://www.secpulse.com/archives/172774.html
如有侵权请联系:admin#unsafe.sh