问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
【Rootkit 系列研究】序章:悬顶的达摩克利斯之剑
CTF
《序章:悬顶的达摩克利斯之剑》将着重介绍 Rootkit 技术发展历程、Rootkit背后的影子以及 Rootkit 检测基本思想,开启 Rootkit 系列篇章。
序言 -- 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平台下: 1.劫持指令执行流程 2.直接修改内核对象 3.内存视图伪装 4.虚拟Rootkit 5.硬件Rootkit 在 Linux 平台下: 1.直接替换系统命令二进制程序 2.修改LD\_PRELOAD劫持共享库 3.重定位目标文件注入 4.劫持VDSO 5.虚拟文件系统劫持 6.Kprobe 7.Netfillter Hook 8.篡改派遣例程劫持系统调用 9.设置函数蹦床劫持内核函数执行流程 10.创建新的命名空间 如图 1所示,近二十年 Rootkit 演化发展时间轴(Rootkit开源或热门实例)。 ![](https://shs3.b.qianxin.com/attack_forum/2022/01/attach-a72d898f093fb0d9129362840cd0dfd071ca7a52.png) 图1 近二十年部分Rootkit出现时间轴 目前,技术是向更加底层的方向发展。然而,根据近十年**已发现**的 Rootkit 攻击事件,使用用户态Rootkit 却是一个趋势。例如,2010年以后,ZeroAccess Rootkit 的开发人员已经转向使用用户态Rootkit。 近十年用户态 Rootkit 使用趋势上升可能由于以下几个原因: 1.内核态 Rootkit 需要针对不同系统内核版本进行开发和调试,因此大多数攻击者可能**没有足够的技术能力**,从而选择**更简单**的攻击方式。 2.开发和调试 Rootkit 需要**花费大量时间成本**,大多数攻击者希望**低成本快速部署攻击**。 3.内核态 Rootkit 存在**不稳定性**,源代码中的任何错误都可能导致操作系统BSOD或者Kernel Panic,这将直接**暴露入侵行为**。 4.**幸存者偏差**,用户态 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%的攻击,试图利用受害者的基础设施进行后续攻击。 ![](https://shs3.b.qianxin.com/attack_forum/2022/01/attach-1cff907f22b738438e9d1878764993e4388e16e3.png) 图2 受Rootkit攻击最多的 5 个行业 Rootkit将继续被APT组织使用,这意味着它不再只是为了破坏数据和获取经济利益,而是为了隐藏复杂的有针对性的攻击,这些攻击可能会给组织带来不可估量的损失。 综上所述,Rootkit 是非常**危险**并且造成的**损失难以评估**,原因是: 1.Rootkit 为攻击者提供**系统权限**; 2. Rootkit 使**检测恶意活动**变得更加**困难**; 3.Rootkit 很难被发现和清除在某些情况下**无法移除Rootkit**,必须升级受感染的硬件; 4.Rootkit **窃取数据**带来的经济**损失难以评估**; l 目标设备存在内核态 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](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](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/>
发表于 2022-01-19 09:28:08
阅读 ( 5128 )
分类:
WEB安全
1 推荐
收藏
0 条评论
请先
登录
后评论
深信服千里目安全实验室
6 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!