需要了解的几个知识点
- BITS服务是什么
BITS是一个与网络传输相关的系统服务。可用于上传下载文件到HTTP或SMB服务器,Windows更新也用到了BITS,BITS可以实现网络重连或系统重启后,续传文件。
BITS是与.NET/C/C++开发相关的COM接口。BITS是一种COM服务。
BITS会监听本地6666端口。
- RottenPotatoNG是什么
基于BITS服务进行提权工具。
当具备SeImpersonate和SeAssignPrimaryToken权限时,禁用BITS服务,并占用6666端口,实现权限提升。
- CLSID,即ClassID,是全局唯一标识,用于标识COM服务。JuicyPotato利用的就是COM服务进行提权。
- 可用于提权的COM服务有:Wuauserv(Windows update)、Wsearch(Windows search)、XblGameSave(Xbox live save game)、BITS
漏洞利用的点是什么
基于RottenPotatoNG的提权原理,利用其他类似COM服务,实现提权。
个人理解:类似中间人攻击,冒名顶替COM服务,以高权限执行脚本或程序,实现提权。
juicypotato提权过程
juicypotato关键内容如下:
CLSID:靶机上可利用的CLSID,不同操作系统CLSID可能会不同。对应“-c”参数。
COM监听端口:自定义可用端口,和回连shell的端口无关,不一定要设置成一样的。对应“-l”参数。
用户权限:CreateProcessWithToken(需要SeImpersonate)和CreateProcessAsUser(需要SeAssignPrimaryToken),不同的用户权限可调用的程序会有所不同,同时具备就能获取system权限。对应“-t”参数。
期望运行的程序或脚本:指定需要靶机执行