JuicyPotato
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
JuicyPotato 在 Windows Server 2019 和 Windows 10 build 1809 及之后版本上无法工作。然而, PrintSpoofer、 RoguePotato、 SharpEfsPotato 可以用来 利用相同的权限并获得 NT AUTHORITY\SYSTEM
级别的访问权限。 检查:
一个经过糖化的 RottenPotatoNG 版本,带有一点“果汁”,即 另一个本地权限提升工具,从 Windows 服务账户到 NT AUTHORITY\SYSTEM
RottenPotatoNG 及其 变种 利用基于 BITS
服务 的权限提升链,具有在 127.0.0.1:6666
上的 MiTM 监听器,并且当你拥有 SeImpersonate
或 SeAssignPrimaryToken
权限时。在一次 Windows 构建审查中,我们发现了一个 BITS
被故意禁用且端口 6666
被占用的设置。
我们决定武器化 RottenPotatoNG:向 Juicy Potato 打个招呼。
有关理论,请参见 Rotten Potato - 从服务账户到 SYSTEM 的权限提升 并跟踪链接和参考链。
我们发现,除了 BITS
之外,还有几个 COM 服务器可以被滥用。它们只需要:
由当前用户实例化,通常是具有模拟权限的“服务用户”
实现 IMarshal
接口
以提升的用户身份运行(SYSTEM、管理员等)
经过一些测试,我们在多个 Windows 版本上获得并测试了一份广泛的 有趣 CLSID 列表。
JuicyPotato 允许你:
目标 CLSID 选择你想要的任何 CLSID。 这里 你可以找到按操作系统组织的列表。
COM 监听端口 定义你喜欢的 COM 监听端口(而不是硬编码的 6666)
COM 监听 IP 地址 在任何 IP 上绑定服务器
进程创建模式 根据模拟用户的权限,你可以选择:
CreateProcessWithToken
(需要 SeImpersonate
)
CreateProcessAsUser
(需要 SeAssignPrimaryToken
)
两者都可以
要启动的进程 如果利用成功,启动一个可执行文件或脚本
进程参数 自定义启动进程的参数
RPC 服务器地址 为了隐蔽的方式,你可以认证到外部 RPC 服务器
RPC 服务器端口 如果你想认证到外部服务器且防火墙阻止端口 135
,这很有用…
测试模式 主要用于测试目的,即测试 CLSID。它创建 DCOM 并打印令牌的用户。请参见 这里进行测试
如果用户拥有 SeImpersonate
或 SeAssignPrimaryToken
权限,那么你就是 SYSTEM。
几乎不可能防止所有这些 COM 服务器的滥用。你可以考虑通过 DCOMCNFG
修改这些对象的权限,但祝你好运,这将是一个挑战。
实际的解决方案是保护在 * SERVICE
账户下运行的敏感账户和应用程序。停止 DCOM
无疑会抑制此漏洞,但可能会对底层操作系统产生严重影响。
来自: http://ohpe.it/juicy-potato/
注意: 访问 此页面 获取可尝试的 CLSID 列表。
通常,JuicyPotato 使用的默认 CLSID 无法工作,并且漏洞利用失败。通常,需要多次尝试才能找到一个 有效的 CLSID。要获取特定操作系统的 CLSID 列表,您应该访问此页面:
首先,您需要一些可执行文件,除了 juicypotato.exe。
下载 Join-Object.ps1 并将其加载到您的 PS 会话中,然后下载并执行 GetCLSID.ps1。该脚本将创建一个可能的 CLSID 列表以供测试。
然后下载 test_clsid.bat (更改 CLSID 列表和 juicypotato 可执行文件的路径)并执行它。它将开始尝试每个 CLSID,当端口号改变时,这意味着 CLSID 有效。
使用参数 -c 检查 有效的 CLSID
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)