11.再次提权
那现在我们只要想办法加个管理员级别的用户,然后用lcx把3389端口转出来连接,就可以解决内网3389的问题了。可是我该怎么加用户呢?用刚才的cmd明显权限是不够的,我尝试往启动项里写入bat文件,结果就是没有权限。
接着我开始浏览网站的目录,才发现这个站的主站是aspx的,我想既然支持aspx,我们可以上传一个aspx的大马,这样权限可能会大些。我又突然一想,有没有更简单的办法呢?对,我为什么不尝试一下用MS Windows Token Kidnapping本地提权呢?这个漏洞虽然出来一段时间了,可是貌似没有引起足够重视,如果系统没有打补丁,那就有戏了。
这个漏洞是由于在NetworkService 或者 LocalService 下运行的代码,可以访问同样是在 NetworkService 或者 LocalService 下运行的进程,某些进程允许提升权限为LocalSystem。
对于IIS,默认安装是不受影响的,受影响的是你的ASP.NET代码是以 Full Trust 运行,如果权限低于 Full Trust,也不会受影响。老的Asp 代码不受影响,只有 ASP.NET才受影响。对于 SQL Server,如果用户以 administrative 权限运行代码,则会受影响 对于Windows Server 2003,攻击者可以通过MSDTC获取token访问其他同样token的进程,从而可能造成提权。任何具有SeImpersonatePrivilege的进程都有可能造成提权。对于服务器管理员来说,做一些简单的调整可以在IIS上对抗此威胁。
首先上传一个相关提权工具Churrasco.exe到服务器上,也不知道为什么现在的大多数杀毒软件对这个提权工具都不查杀,很是奇怪。然后用webshell执行命令D:\jingguan\oa\adrot\0day.exe “net user layne$ 871104 /add”(0day.exe为我上传的Churrasco.exe),然后执行,如图13所示,表明执行成功了!看来运气不错。

图13执行添加用户成功
然后执行命令D:\jingguan\oa\adrot\0day.exe “net localgroup administrators layne$ /add”,再次执行成功,添加用户“layne$”到管理员组。再用webshell的账号查看功能看看都有哪些账户了,果然我的账户layne$被加了进去,成功,如图14所示。

图14添加用户成功