SeImpersonatePrivilege提权
如果一个账户被授予SeImpersonatePrivilege特权,那么该账户可以模仿任何我们能获得引用或者句柄的令牌。我们可以通过命令whoami /priv 来查看当前账户是否拥有该特权。通常,本地服务器帐号一级域服务帐号开启该特权,例如IIS的默认服务账号、SQL Server服务账号,以及域中被一些被设置了SPN的服务帐号。
该特权为我们提供了提升至SYSTEM权限的路径。我们可以利用DuplicateTokenEx Api来根据模仿令牌创建一个主令牌并且创建一个被模仿用户上下文的新进程,当然我们甚至可以强制SYSTEM帐号提供给我们一个令牌。更加技术性的原理涉及较为复杂的Win32 Api调用,并且SeImpersonatePrivilege的利用方法有多种,因此在课程前期的该章节不做过多的技术性讲解。对于该特权的利用,目前主流的是PrintSpoofer以及Potato系列。但需要注意的是,Potato系列中的一些方法例如 juicy potato 可能已经不在较新的版本中适用了,而且都需要考虑免疫AV/EDR。
SweetPotato:https://github.com/uknowsec/SweetPotato/blob/master/README.md
PrintSpoofer:https://github.com/itm4n/PrintSpoofer