介绍
从黑客的角度来看,权限提升是从初始访问权限(通常是标准用户或应用程序帐户)一直提升到administrator, root甚至SYSTEM访问权限的艺术。
先决条件:最好具有基本的 Windows 知识。
黑客使用一些常见技术或攻击手段来获得高权限帐户访问权限。
在这里,我将首先教您一些有关特权提升的理论,然后教您在机器上进行实际操作,这些技术对红队和蓝队都有帮助。
注意:为了实用,我将重点介绍用于检测和利用不同权限提升技术的手动方法,但会提到可以完成相同工作并节省您一些时间的自动化工具。在本系列的这一部分中,我将介绍两种技术。
01 服务(不安全的服务权限或BINPATH)
理论
Windows服务是一种在后台运行的计算机程序,它在概念上类似于 Unix 守护进程。
Windows 中的每个服务都将其可执行文件的路径存储在名为“BINARY_PATH_NAME”的变量中。当我们启动服务时,它将检查此变量并执行其下设置的 .exe。
利用不安全服务权限或 BINPATH来提权很简单。前提条件:必须在服务上启用第 3 点权限之一,并且当前用户有权启动或停止服务,否则我们必须等待系统重新启动才能执行有效负载。
1. 检查目标系统中的所有服务。
2. 枚举服务设置的权限。
3. 检查SERVICE_ALL_ACCESS或SERVICE_CHANGE_CONFIG已启用。
(这些权限允许用户修改服务配置和 binpath)
4. 检查该服务是否以更高权限运行。
5. 修改服务的 BINARY_PATH_NAME (binpath)。
6. 刷新或启动服务并获得更高权限的shell。
实践
为了查找此错误配置,我使用PowerUp脚本枚举计算机 binpath 中的服务,返回当前用户可以写入binpath或其配置的服务。
https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1
powershell -ep bypass
.powerup.ps
Get-ModifiableServiceFile
最终,我找到了一个名为“daclsvc”的服务。
我们人工检查一下,确认这个服务确实具有SERVICE_ALL_ACCESS或SERVICE_CHANGE_CONFIG权限,因为有时自动化工具可能会误报。
我们还有权启动(service_start)和停止该服务。
是的,我们确实有权更改服务“daclsvc”的 binpath。现在,让我们检查一下该服务是以什么权限运行。注意:大多数情况下,Windows以SYSTEM或administrator权限运行所有服务。
02 服务(不安全的服务可执行文件)
理论
可执行文件是包含可由操作系统执行的编码指令的文件。可执行文件可以是特定于平台的,也可以是跨平台的。
利用不安全服务可执行文件进行提权的方法很简单。前提条件:服务的 .exe(二进制)权限可写或启用“FILE_ALL_ACCESS”权限,并且还有启动或停止服务的权限。
1. 枚举所有服务,检查其原始.exe(二进制)是否可写。
2. 使用有效负载 .exe 二进制文件修改或更改原始二进制文件。
3.刷新或启动服务,该服务将执行其.exe并以系统权限运行其上写入的任何内容。
实践
在这里,我使用winPEAS枚举所有可执行权限被破坏或配置错误的服务。
https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS/winPEASexe
在这个 winpeas 的报告中,我们可以看到“filepermsvc”服务的原始 .exe 为每个人设置了AllAccess权限。简单来说就是系统上的所有用户都可以对此文件执行任何操作(r,w,x)。但我们再次使用“accesschk”工具来确认这一点。
参考及来源:
https://infosecwriteups.com/privileges-escalation-techniques-basic-to-advanced-for-windows-d0f0c04d6d04
免责&版权声明
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...