网站提权,我用本地漏洞Windows Token Kidnapping
作者:hackest [H.S.T.]
blog:www.hackest.cn
site:www.hexsafe.com
此文章已发表在《黑客X档案》2008年第11期杂志上
后经作者发布在博客上,如转载请务必保留此信息!
话说很久很久没有爆过Windows下比较有影响的漏洞了,这回终于微软也可爱了一回,爆了个可以让大家爽歪歪的本地权限提升漏洞。如果你手里有一大批以前提不了权限的Webshell的话,看完本文之后就赶紧拿出来提权去,效果还是蛮不错的。因为微软并没有修补这一漏洞,只是在安全公告里做了提醒(详见http://www.microsoft.com/technet/security/advisory/951306.mspx)。
受此漏洞影响的系统:
Windows XP Professional Service Pack 2
Windows XP Professional Service Pack 3
Windows Server 2003
Windows Vista
Windows Server 2008
漏洞信息:
Microsoft Windows是一款流行的操作系统。漏洞是由于在NetworkService或LocalService上运行的代码,可以访问同样是在NetworkService或LocalService上运行的进程,部分进程允许提升权限到LocalSystem。对于IIS,默认安装是不受影响的,但以Full Trust运行的ASP.NET代码受此漏洞影响,如果权限低于Full Trust,也不受此漏洞影响。同样ASP代码不受此漏洞影响,只有ASP.NET才受影响。针对SQL Server,如果用户以administrative权限运行代码,则受此漏洞影响。针对Windows Server 2003,攻击者可以通过MSDTC获取token访问其他同样token的进程,从而提升权限。任何具有SeImpersonatePrivilege的进程都有可能造成权限提升。
漏洞相关描述就先看这么多了,本地权限提升嘛,当然前提是你要能访问到Windows,比如你已经获得了目标的一个Webshell,而且这个目标支持ASP.NET程序,而你又能够执行命令,那么基本上这台服务器就跑不掉了(当然还得人家没做相应的安全设置,因为这个洞也是可以防的嘛)。
一、攻
耳听为虚,眼见为实。那我们就来实地演练一下这个漏洞到底有多么的酷!
测试环境:
操作系统:Microsoft Windows Server 2003 Enterprise Edition Service Pack 2(已更新所有补丁)
IIS版本:IIS 6.0
ASP.NET版本:Microsoft.NET Framework 1.1

添加IIS支持.NET程序,然后在WEB目录放一个ASPX的Webshell。为了方便演示,直接使用ASPX脚本,其实用ASP的Webshell也是可以的,前提是要目标支持ASPX(当前目录不支持也不要紧,ASP的Webshell能执行命令都不妨一试),而且Webshell是可以执行命令的,如图2。

然后就把利用程序上传到WEB目录(老外公布的东西,有源代码,编译好的利用工具和源代码都会打包在光盘里),然后就可以执行提权操作了。执行如下命令:
●/c D:\wwwroot\Churrasco.exe "net user hackest estidc.com /add"●
Churrasco.exe是利用工具名,后面是要执行的命令,注意要用英文双引号括住。稍等一下之后返回执行结果,可以看到提示成功了,当然不同的环境PID可能不一样,如图3。

再看看是否真的成功添加了用户,这回放心了吧,证实已经成功添加了用户hackest,如图4。
![[H.S.T.]十六进制信息安全网官方网站](http://www.hexsafe.com/images/logo.gif)