需要了解的一项攻击技术-高隐匿、高持久化威胁( 二 )


且该Rootkit的功能非常完善,具有密码窃取、键盘记录、后门控制等多种功能,试想这样一个恶意软件对上述目标进行着长达至少五年的监控,是否足够让人警惕呢?
Remsec被发现之时,研究员们对它的评价是“一种几乎不可能被检测到的恶意软件”,而这也是一直以来大家对Rootkit的认识,这一点是否非常值得我们深思呢,究竟是Windows Rootkit慢慢销声匿迹了,还是受限于能力不足导致其检出率如此之低,而生存期又如此之长呢?
其实对于攻击者来说,打点技巧是多种多样的,并不一定要选择像钓鱼这样会留下明显痕迹的技巧,对于那些使用未知技巧,甚至是0day进行攻击的活动,我们想要在打点阶段捕获它们的可能性较低,这种情况下,捕获攻击者在后门植入、持久化等阶段留下的痕迹,并基于此反溯,还原攻击链路会是一个不错的选择,而Rootkit会把这些痕迹通通隐藏,让我们的命中难度剧增 。下图显示了近年来在野0day数量

需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
四、从达成效果看Windows Rootkit那么Rootkit究竟能达成什么样的效果呢?
以一个操作图形接口的Rootkit为例,它在任务管理器中隐藏了calc.exe
需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
换句话说,Rootkit可以把攻击者不想让你发现的攻击痕迹进行隐藏,比如我们在进程异常排查中,会关注那些有着异常通信或是可疑模块加载的进程 。
以白加黑技术为例,该技术虽然能在免杀上取得良好效果,但如果同时存在异常通信和可疑模块(未签名的dll),我们就还是能较为容易地定位到异常点 。
而通过一些简单的技巧,就可以在一定程度上对白加黑利用中的恶意dll进行隐藏
需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
.
而Rootkit能达成的隐藏效果,会远胜于上图情况,当使用Rootkit从分析工具中彻底隐去这些异常点时,你还能快速地判定该进程有问题吗?
当然,此处仅是过滤了异常模块,这也只是Rootkit能做到的一小部分,除此以外,服务、端口、流量等也都可以通过Rootkit进行操作,那么你想看到什么,攻击者就可以让你看到什么,“摆在明面上”的威胁就转变成了“隐藏在暗地里”的威胁,想在主机上发现异常就会变得极其困难 。
五、从可行性来看Windows Rootkit前面的内容提到,Windows引入了两大安全机制来对抗Rootkit,分别是签名验证和PatchGuard,我们将针对这两个点分别展开讨论 。
1. 签名验证
关于这部分内容,国外安全研究员Bill Demirkapi在Black Hat 2021的议题《Demystifying Modern Windows Rootkits》中给出了答案,相应的解决方案分别为直接购买、滥用泄露证书和寻找“0day”驱动 。
1.1 购买证书
这种方式其实没什么好说的,攻击者唯一需要考虑的问题,就是购买渠道是否足够可靠,是否存在身份暴露的风险 。
1.2 滥用泄露证书
从可行性上来说,Windows根本不关心证书是否已经过期或者已经被吊销,通过泄露的证书,攻击者就可以生成在任意Windows版本下都有效的驱动签名
需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
由于不需要购买证书,在降低成本的同时也避免了因购买渠道不可靠而暴露身份的风险,此外,通过这种方式进行植入所需的前置条件也不算多,与挖掘“0day”驱动的方式相比,技术难度降低很多,当然,掌握了泄露证书的情报后,相关安全厂商可以针对此类Rootkit进行查杀拦截
需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
下图是收集到的一些历史泄露证书,从此图可以看出泄露的情报并不少见
需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
1.3 “0day”驱动利用
从可行性来说,一定存在着可被利用的“0day”驱动,而历史上,就曾有知名的APT组织利用具有合法签名驱动程序来进行恶意驱动的加载,该组织是俄罗斯APT黑客组织Turla,它利用的合法驱动为VirtualBox,下文是对该利用过程的描述
需要了解的一项攻击技术-高隐匿、高持久化威胁

文章插图
 
2. PatchGuard
网上有着包含win7、win10在内的不少开源项目,攻击者可通过集成这些项目绕过PatchGuard,往内核中植入恶意代码,实现Rootkit功能


推荐阅读