metasploit之Windows Services漏洞提权实战

简介: 本文讲的是metasploit之Windows Services漏洞提权实战,在获得目标机器基本权限以后,面临我们最大的问题就是如何从普通用户提升为管理员用户。众所周知,Windows服务是以SYSTEM权限运行的,因此,它们的文件夹、文件和注册的键值,都是受到强访问控制保护的。
本文讲的是 metasploit之Windows Services漏洞提权实战

0×01引言

在获得目标机器基本权限以后,面临我们最大的问题就是如何从普通用户提升为管理员用户。众所周知,Windows服务是以SYSTEM权限运行的,因此,它们的文件夹、文件和注册的键值,都是受到强访问控制保护的。但在某些情况下,会有一些没有受到有效保护的服务。

0×02 Windows服务漏洞介绍

windows服务漏洞。Windows系统服务运行在后端,由操作系统通过SCM(服务控制管理)控制,它负责处理所有发送给windows服务的命令,接收windows服务的更新。如果我们能够修改一个服务的二进制文件路径属性,在重启服务的时候,我们可以让服务以system权限替我们启动一个命令。

0×03 Windows服务漏洞的实战利用

同样此时假设我们通过一系列前期渗透,已经成功获得了目标机的meterpreter shell(过程略),当前权限为administrator,我们想获取系统的system权限,但是尝试了各类提权方法后失败。

1.  先检测目标主机是否存在该漏洞。

我们将检查大量的访问权限,最简单的方法时使用AccessChk(SysInterals套件中的一个工具)。这个工具是由Mark Russinovich写的用于在Windows上进行一些系统或程序的高级查询、管理和故障排除。在进行渗透测试的时候鉴于反病毒软件的检测等原因我们应该尽量少的接触目标磁盘,由于AccessChk是微软官方工具,所以基本不会引起杀毒软件的报警。

中文版下载地址:http://technet.microsoft.com/ZH-cn/sysinternals/bb664922 。

首先我们Metasploit下使用upload命令将AccessChk上传至目标机下,如图1所示。

metasploit之Windows Services漏洞提权实战

然后我们到目标机CMD下就可以使用如下的命令来判断到底哪个服务可以被认证的用户修改,不论用户的权限级别。如图2所示。

accesschk.exe -uwcqv "Authenticated Users" * /accepteula

metasploit之Windows Services漏洞提权实战

Authenticated Users 是指Windows系统中所有使用用户名、密码登录并通过身份验证的账户,不包括来宾账户Guest。运行后我们看到有一个可以修改的服务PFNet,SERVICE_ALL_ACCESS意思我们对PFNet的属性拥有完全控制权。正常情况下未授权的用户是不应该有这些Windows服务权限的,但由于管理员甚至是第三方开发人员错误的配置才可能导致这种漏洞的出现。

知识点:几个有用的accesschk命令

第一次执行sysinternals工具包里的工具时,会弹出一个许可协议弹框,这里可以添加一个参数“/accepteula”去自动接受许可协议

accesschk.exe/accepteula

找出某个驱动器下所有权限配置有缺陷的文件夹路径

accesschk.exe–uwdqsUsersc:
accesschk.exe–uwdqs"AuthenticatedUsers"c:

找出某个驱动器下所有权限配置有缺陷的文件路径

accesschk.exe–uwqsUsersc:*.*
accesschk.exe–uwqs"AuthenticatedUsers"c:*.*

接着使用SC命令来查看PFNet服务的配置也可以用来管理Windows服务,见图3所示。

metasploit之Windows Services漏洞提权实战

BINARY_PATH_NAME值指向了该服务的可执行程序(Executable.exe)路径,如果如果我们将这个值修改成任何命令,那意味着这个命令在该服务下一次启动时,将会以SYSTEM权限运行。(确保SERVICE_START_NAME被指向了LocalSystem)。

2.Metasploi下设置模块参数

Metasploit中有对应的利用模块service_permissions,我们还是把当前的meterpreter shell转为后台执行。然后使用该模块,并设置相应参数。如图4所示。

metasploit之Windows Services漏洞提权实战

3.攻击

输入run命令,可以看到自动反弹了一个新的meterpreter,我们在此meterpreter shell下输入getuid 发现是system 权限,如图5所示。证明我们已经提权成功了。

metasploit之Windows Services漏洞提权实战

我们输入sessions可以看到多了一个ID为5的就是新反弹回来的,如图6所示。

metasploit之Windows Services漏洞提权实战

该模块尝试使用两种方法来提升到system权限。第一种,如果Meterpreter session正以管理员权限运行,该模块会尝试创建并运行一个新的服务。如果当前账户权限不允许创建服务,该模块会判断哪些服务的文件或者文件夹权限有问题,并允许对其进行劫持。

当创建新的服务或者劫持已经存在的服务时,该模块会创建一个可执行程序,其文件名和安装的文件路径是随机生成的。使用该模块的AGGRESSIVE选项会利用目标机上每一个有缺陷的服务。当该选项被禁止的时候,该模块在第一次权限提升成功后就会停下来。




原文发布时间为:2017年4月10日
本文作者:shuteer
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
1月前
|
Unix 编译器 开发者
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
|
8月前
|
安全 关系型数据库 MySQL
windows提权总结
windows提权总结
213 1
|
2月前
|
安全 Windows
Windows提权辅助工具
Windows提权辅助工具
43 1
|
7月前
|
安全 Windows
Windows提权/杀软进程在线对比
Windows提权/杀软进程在线对比
284 0
Windows提权/杀软进程在线对比
|
7月前
|
安全 Shell 测试技术
Windows提权EXP多种执行方式
Windows提权EXP多种执行方式
115 0
|
7月前
|
存储 JSON 安全
phpStudy 小皮 Windows面板 RCE漏洞
详情看文章内叙述
109 1
|
7月前
|
存储 安全 API
Windows Server 2022 21H2 本地域权限提升漏洞(PetitPotam)
Windows Server 2022 Standard/Datacenter 存在本地域权限提升漏洞,攻击者可通过使用PetitPotam工具进行获取服务器SYSTEM权限。
105 1
|
4月前
|
SQL Shell 数据库
七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
|
5月前
|
TensorFlow 算法框架/工具 计算机视觉
YOLOv3物体/目标检测之实战篇(Windows系统、Python3、TensorFlow2版本)
 基于YOLO进行物体检测、对象识别,在搭建好开发环境后,先和大家进行实践应用中,体验YOLOv3物体/目标检测效果和魅力;同时逐步了解YOLOv3的不足和优化思路。
80 0
|
11月前
|
并行计算 计算机视觉 C++
部署实战 | 手把手教你在Windows下用TensorRT部署YOLOv8(一)
部署实战 | 手把手教你在Windows下用TensorRT部署YOLOv8(一)
517 0