[转]攻击者侵入系统后如何提升账户权限:提权技术详细分析
提权
通常而言,恶意攻击者侵入到某个系统最初往往只能获取到一个普通权限的账户。但这无疑给进一步的渗透带来了阻碍,因此攻击者会开始尝试通过各种手段来提升自己的账户权限。一旦提权成功攻击者就可以将目标转移至其它基础架构,以便进一步的查找和破坏存储有价值信息的网络上的系统。
提权最简单的方法之一就是利用计算机的配置问题。包括管理员凭据,配置错误的服务,故意削弱的安全措施,用户权限过大等。由于这种提权操作非常的简单,因此也是攻击者最常使用的一种方式。然而这种方法的弊端也显而易见,就是依赖运气的成分较大。
更为可靠有效的提权方法是攻击操作系统的内核导致缓冲区溢出从而执行任意代码,这种方法通常可以帮助攻击者绕过所有的安全限制。但这种方法也存在一定的局限性,如果目标系统的补丁更新的较为迅速和完整,那么攻击者想要通过这种方法提权就必须要拥有0day才行。
在某些情况下,攻击者也会利用密码相关的问题来进行提权。例如,管理员设置的密码为弱密码或重复性密码。此时攻击者就可以尝试对管理员的账户密码进行暴力破解,并以此来获得高权限运行他们的恶意软件。另一种方法是拦截用户的凭据信息,并将这些凭据用于跨网络的其他服务。
当大多数常见方法都失败时,攻击者还会继续尝试其他类型的提权手段,但这也意味着攻击者需要花费更多的精力和时间。例如,攻击者可能需要重新渗透另一个目标系统。提权作为APT生命周期中的重要一步,往往起着决定成败的作用。
提权技术
侦察
以下示例显示了攻击者是如何对目标系统的当前用户/组,以及补丁情况进行快速分析的。通过获取到的远程shell利用一些内置命令,攻击者枚举了当前的用户组和安全更新信息。如图1所示:
从whoami命令的输出结果可以看出,并没有BUILTIN\Administrators组,这意味着当前用户对目标系统的权限有限。因此,我们又使用了systeminfo命令来获取当前系统的补丁情况,并将补丁信息导入到patches.txt的文本中。然后我们利用一个名为 Windows-Exploit-Suggester的工具进行预处理,以检查系统中是否存在未修补的漏洞(参见图2)。
通过CVE-2015-1701提权
一旦潜在的漏洞被指纹识别,那么攻击者就会试图利用它们。例如,目标系统存有未修复的 MS15-051(也称为CVE-2015-1701)漏洞,攻击者只需简单的在Metasploit上调用一个利用模块,就可以轻松获取到目标系统的system权限。具体执行流程如图3所示。
错误配置利用
在补丁完全被修复的环境中,攻击者往往需要拥有零日漏洞才能完成他的提权操作。但是如果攻击者手中没有零日,那么他该如何提权呢?其实除了零日外,有经验的攻击者还可以通过目标系统不当的配置来提权。常见的错误配置是不安全的服务配置,这允许攻击者提升他们的权限。因此,我们就可以通过对各种已知服务配置问题进行探测。这里我们可以利用 Powersploit的工具包中的 PowerUp脚本,来帮助我们完成探测任务。
PowerUp脚本已经识别出了 RasMan服务的弱权限问题。这样一来攻击者就可以用他的payload来重新配置服务然后重启服务,并利用重启后获取的最高(SYSTEM)权限来执行所需的命令。我们可以使用命令Invoke-ServiceAbuse来完成以上操作,如图5所示。
如图5所示,配置错误服务被攻击者成功利用并直接获取到了NT AUTHORITY\SYSTEM的最高用户权限,这意味着攻击者可以在该最高权限下执行任意命令(在这种情况下为regsvr32 …)。提供的命令导致下载附加代码并被执行。最终创建了一个新的session会话(session 16),并且攻击者也因此获取到了完全控制目标系统的最高权限。
以上介绍的都是一些常见的提权技术,如果目标系统的防护做的比较到位,那么我们还可以利用一些其它的手段。例如键盘记录,社会工程学等。这些手段往往需要攻击者花费更多的时间,甚至需要物理接触受害者。此外,攻击者也更愿意将精力投入到利用工具的开发以及零日漏洞的挖掘上。
APT28/SOFACY
在某些情况下,APT28被确定为在特权升级阶段链接初始妥协。 在这种情况下,目标用户点击导致由攻击者控制的网站的链接。接着HTML/JS启动器页面提供触发零日漏洞(CVE-2015-3043)并执行shellcode。shellcode下载并运行可执行的恶意代码,利用Windows中的本地提权漏洞(Win32k CVE-2015-1701)窃取系统令牌。
表1:APT28通过CVE-2015-1701提权
过程 | 原理 | 技术 |
---|---|---|
1 | 用户点击链接访问攻击者控制的网站。 | 鱼叉式网络钓鱼链接 |
2 | 网站的HTML/JS页面包含Flash漏洞的恶意利用。 | Flash零日被触发 |
触发Flash漏洞(CVE-2015-3043),执行shellcode。 | ||
3 | shellcode下载并运行恶意代码。 | 本地提权(Win32k CVE-2015-1701) |
恶意代码利用Winodws漏洞 ( CVE-2015-1701) 提升本地权限以盗取系统令牌。 |
更多提权相关内容请点击以下链接:
https://www.fuzzysecurity.com/tutorials/16.html
https://www.lastline.com/labsblog/unmasking-kernel-exploits/
https://www.fireeye.com/blog/threat-research/2015/04/probable_apt28_useo.html
https://www.welivesecurity.com/2015/07/10/sednit-apt-group-meets-hacking-team/
*参考来源 azeria-labs,FB小编 secist 编译,转载请注明来自FreeBuf(FreeBuf.COM)