微软的.NET组件爆出严重的溢出漏洞,只要是安装了.NET组件的操作系统都会受到此漏洞的影响。也就是说,我们用得最多的Windows XP、Win7系统,网站服务器用得最多的Windows 2003,Winodws 2008都不能幸免。那么这个漏洞的出现对于黑客来说意味着什么呢?网络安全界又将掀起怎样的风波呢?请看本文。
★编辑提示:本地权限提升的危害
这次.NET爆出的溢出漏洞并不能远程执行代码,而只能进行本地溢出,溢出后可以拿到系统的管理员权限。简单的说:这个是一个本地权限提升漏洞。那么本地权限提升漏洞是什么,有什么危害呢?
在我们的Windows中,是有“权限”这个概念的。除了我们平时使用的管理员权限外,还有一个用户权限。顾名思义,用户权限肯定比管理员权限 要低,所能执行的操作也肯定比管理员要少,例如无法更改系统的设置,无法安装软件,无法创建用户等。对于黑客而言,如果拿到目标的账户是用户权限,那么他 上传上去的木马将无法运行(木马需要修改系统设置),到手的肥肉吃不到别说有多痛苦了。
权限提升漏洞却恰恰帮了黑客一个大忙,黑客可以通过这个漏洞将原本的用户权限账户提升为系统管理员,从而进行账户创建、安装木马等操作。而对于 网站服务器来说,本地权限提升漏洞更是一种灾难。因为黑客在利用网站程序的漏洞拿到服务器的webshell后,只有普通的用户权限,只能对网站中的文件 进行操作,无法影响服务器的安全。而利用本地权限提升漏洞,他就能以此拿到服务器权限,从而入侵整台服务器。
0day漏洞一般是一些黑客牛人公布的,在公布的同时他们也会发布测试漏洞所用的代码。这次.NET的溢出漏洞也一样,他们公布了攻击代码,但并没有提供现成的攻击程序,那么在这种情况下我们就只能自己编译了,我们也能顺便了解一下0day攻击程序是如何诞生的。
由于这次漏洞的测试代码是通过C语言写的,因此我们需要用到cygwin(C语言代码编译工具)来进行编译。cygwin可以到网上下载,大小 约为200多M。运行安装程序,第一步选择“Install from Local Directory”,接下去几步保持默认即可,一直到最后一步,我们需要将其安装参数设置为“Install”,这样才能使cygwin完全安装,否则 将不能使用其中的GCC编译功能。
▲安装cygwin
安装完成后,我们进入其安装目录,在home目录下有一个以当前用户名命名的文件夹,我们可以把溢出程序代码放入其中进行编译。将溢出程序代码 (从网上复制代码用记事本另存)test.c放入此文件夹中。然后运行安装目录中的cygwin.bat,会出现cygwin.bat的操作界面,在其中 输入“gcc -o test.exe test.c”,回车后会在home用户名这个文件夹中生成test.exe,这样攻击程序的编译工作就完成了。
▲测试攻击程序
编译完成后,我们来对这个溢出程序进行测试。测试的方法很简单,首先我们以用户权限的账户登录系统,然后在“命令提示符”中运行 test.exe,运行后程序会在系统中添加一个名为“ServiceHelper”,密码为“ILov3Coff33!”的管理员用户。接下来我们就可 以利用这个账户进行登录,从而拿到系统的管理员权限了。
▲管理员权限账户已经建立成功