从烂土豆开始的土豆家族入门
对.NET和COM一窍不通,代码一行都没写过,全篇内容由读各种文章+自行想象完成,不保证准确性,若发现错误请及时联系我更改
windows在远古版本前,各种服务都是以最高权限SYSTEM跑起来的,那个时候mssql的一个xp_cmdshell就可以一键打到底,而在某个版本后,添加了local service用户,之后iis或者mssql就被降权为了networkservice之类的账户,权限很低,直接操作几乎啥也干不了,但由于这些账户本身作为服务账户,也需要在特定的情况下拥有高权限,微软是允许这些账户进行提权的,而如果我们能对这些情况进行滥用,同样的也就可以将networkservice账户恢复到system
土豆系列提权的核心是NTLM中继,通过欺骗运行在高权限(Administrator/SYSTEM)的账户进行ntlm认证,同时作为中间人对认证过程进行劫持和重放,最后调用本地认证接口使用高权限账号的ntml认证获取一个高权限token,只要当前进程拥有SeImpersonatePrivilege
或SeAssignPrimaryToken
权限即可进行令牌模仿,即可取得对应权限(同理,对于直接的令牌窃取利用也需要拥有SeImpersonatePrivilege
权限,感觉一般只用于Administrator提到SYSTEM,其他的用户一般来说要么没有这个权限,要么没法直接open高权限账户的token
hot potato