攻击者侵入系统后如何提升账户权限?
来源:荆州网站建设
时间:2017-07-31
提权
提权最简单的方法之一就是利用计算机的配置问题。包括管理员凭据,配置错误的服务,故意削弱的安全措施,用户权限过大等。由于这种提权操作非常的简单,因此也是攻击者最常使用的一种方式。然而这种方法的弊端也显而易见,就是依赖运气的成分较大。
更为可靠有效的提权方法是攻击操作系统的内核导致缓冲区溢出从而执行任意代码,这种方法通常可以帮助攻击者绕过所有的安全限制。但这种方法也存在一定的局限性,如果目标系统的补丁更新的较为迅速和完整,那么攻击者想要通过这种方法提权就必须要拥有0day才行。
在某些情况下,攻击者也会利用密码相关的问题来进行提权。例如,管理员设置的密码为弱密码或重复性密码。此时攻击者就可以尝试对管理员的账户密码进行暴力破解,并以此来获得高权限运行他们的恶意软件。另一种方法是拦截用户的凭据信息,并将这些凭据用于跨网络的其他服务。
当大多数常见方法都失败时,攻击者还会继续尝试其他类型的提权手段,但这也意味着攻击者需要花费更多的精力和时间。例如,攻击者可能需要重新渗透另一个目标系统。提权作为APT生命周期中的重要一步,往往起着决定成败的作用。
提权技术
侦查
以下示例显示了攻击者是如何对目标系统的当前用户/组,以及补丁情况进行快速分析的。通过获取到的远程shell利用一些内置命令,攻击者枚举了当前的用户组和安全更新信息。如图1所示:
通过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),并且攻击者也因此获取到了完全控制目标系统的最高权限。
以上介绍的都是一些常见的提权技术,如果目标系统的防护做的比较到位,那么我们还可以利用一些其它的手段。例如键盘记录,社会工程学等。这些手段往往需要攻击者花费更多的时间,甚至需要物理接触受害者。此外,攻击者也更愿意将精力投入到利用工具的开发以及零日漏洞的挖掘上。