概要
Juicy Potato是一个本地特权提升工具,是RottenPotatoNG的加强版。RottenPotatoNG及其变体利用了基于在127.0.0.1:6666上具有MiTM侦听器的BITS服务,以及当你拥有SeImpersonate或SeAssignPrimaryToken权限时的特权提升链。在Windows构建审核期间,我们找到了一个设置,其中有意禁用了BITS并使用了6666端口。
因此,我们决定武器化RottenPotatoNG。
关注+转发,私信获取工具
我们发现除了BITS之外,还有一些我们可以滥用的COM服务器。只需满足以下条件即可:
可由当前用户实例化,通常是具有模拟( impersonation)权限的“服务用户”
实现IMarshal接口
以特权用户身份运行(SYSTEM,Administrator,…)
经过一些测试,我们在几个Windows版本上获得并测试了大量有趣的CLSID列表。
JuicyPotato 的功能
Target CLSID
选择你想要的任何CLSID。在这里,你可以找到多个windows版本的CLSID列表。
COM Listening port
定义你喜欢的COM侦听端口
COM Listening IP address
在任意IP上绑定服务器
Process creation mode
取决于模拟用户的权限,有以下三个选择:
CreateProcessWithToken (需要SeImpersonate权限)
CreateProcessAsUser (需要SeAssignPrimaryToken权限)
both
Process to launch
如果利用成功,则启动可执行文件或脚本
Process Argument
自定义已启动的进程参数
RPC Server address
对外部RPC服务器进行身份验证
RPC Server port
如果你想要对外部服务器进行身份验证,并且防火墙阻止135端口,那么这将非常有用…
TEST mode
主要用于测试目的,即测试CLSID。
使用
截图
如果用户具有SeImpersonate或SeAssignPrimaryToken权限,那么你将最终提升为SYSTEM。
另外,你几乎不可能防止对所有这些COM服务器的滥用行为。你或许可以考虑通过DCOMCNFG来修改这些对象的权限,但这样做的难度非常的大。
实际的解决方案是,保护在* SERVICE帐户下运行的敏感帐户和应用程序。停止DCOM是最有效的做法,但这可能会对操作系统底层产生严重的影响。
相关参考
Rotten Potato – Privilege Escalation from Service Accounts to SYSTEM
Windows: DCOM DCE/RPC Local NTLM Reflection Elevation of Privilege
Potatoes and Tokens
The lonely Potato
Social Engineering the Windows Kernel by James Forshaw
联系客服