H4ck3R-XiX

Windows服务

1.不安全的服务权限或可执行文件路径

基本原理

Windows服务是一种在后台运行的计算机程序,它在概念上类似于Unix守护进程。

每个Windows服务都将其可执行文件的路径存储在称为BINARY_PATH_NAME的变量中。当启动服务时,会检查此变量并执行其下设置的.exe文件。

方法:

前提条件:Windows服务必须启用第3点权限,并且当前用户有启动或停止服务权限,否则必须等待系统重启才能执行恶意攻击载荷。

  • 1.检查目标系统中的所有服务
  • 2.枚举服务上的所有权限集
  • 3.查找 SERVICE_ALL_ACCESS 或 SERVICE_CHANGE_CONFIG 是否已启用。(这些权限允许用户修改服务配置和 bin 路径)
  • 4.查询该服务以检查该服务是否以更高的权限运行
  • 5.可使用命令或恶意文件更改服务的 BINARY_PATH_NAME (binpath)
  • 6.刷新或启动服务并获得更高权限shell

实操

为了找到这个错误配置,使用 PowerUp脚本来枚举机器以查找打开了 binpath 的服务。

#返回当前用户可以写入服务的路径或其配置的服务
powershell -ep bypass

.\powerup.ps

Get-ModifiableServiceFile

找到了一个名为“daclsvc”的服务,为避免工具误报,可使用Accesschk工具再次检查此服务以确认它确实设置了SERVICE_ALL_ACCESSSERVICE_CHANGE_CONFIG权限。

不难看出,有启动 (service_start)权限 、停止权限,也有权更改服务“daclsvc”的可执行文件路径的权限

进一步查看一下该服务以何种权限运行

注意:大多数情况下,窗口会以 SYSTEM 或管理员权限运行所有服务

以本地系统权限运行

利用这个错误配置,可以使用scservice control(默认安装)来更改此服务的可执行文件路径

可将其设置为反弹shell的可执行文件路径。再次使用sc查询以检查设置的新路径是否正确

配置无误后,使用net(默认安装)启动此服务即可获得 SYSTEM 权限的shell

服务已运行

2.不安全的服务可执行文件

基本原理

可执行文件是包含可以由操作系统执行的机器码指令构成的文件,可以是特定于平台的,也可以是跨平台

前提条件:服务的 .exe(二进制文件)权限是可写的或启用“FILE_ALL_ACCESS”权限以及启动或停止服务的权限

1.枚举所有服务以检查全部原始.exe(二进制)是否可写

2.使用恶意文件替换或更改原始二进制文件

3.刷新或启动该服务,该服务将执行其 .exe 并以 SYSTEM 权限运行上面写的任何内容

实操

使用 winPEAS 来枚举所有可执行权限配置错误的服务。

在 winpeas 探测结果中,我们可以看到“filepermsvc”服务的原始 .exe 为每个人设置了 AllAccess 权限。简单来说就是“系统上的所有用户都可以对该文件进行任何操作(r、w、x)”,但让我们再次使用“accesschk”工具确认,这些自动化工具在加固的系统运行时可能出发报警。

利用这个错误配置,只需修改脚本,或者在这里用恶意攻击载荷覆盖原始的 .exe

最后只需启动服务

注意:即使服务以localSystem权限运行,我们也有启动和停止服务的权限。

分类:

技术点:

相关文章: