据称WindowsCOM结构存在安全问题,本地或远程攻击者可以利用这个漏洞提升特权或执行任意指令。受影响的操作系统和程序在处理COM结构化存储文件时,在访问共享内存的方式中存在权限提升漏洞,一个已登录的用户可利用此漏洞完全控制系统。
安全公告牌
这是一个权限提升漏洞。成功利用此漏洞的攻击者可以完全控制受影响的系统。攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新账户。要利用此漏洞,攻击者必须能够本地登录到系统并运行程序。
受影响的系统包括:Windows2000(SP3、SP4),WindowsXP(SP1、SP2),Windows2003,以及Windows98等操作系统。使用了WindowsOLE组件的OfficeXP、Office2003等办公软件也会受到影响。
漏洞的形成原理
Webfldrs.msi是Windows系统Web文件夹中的修复工具,Webfldrs.msi组件在卸载的时候由于权限的问题而出错,从而弹出一个提示窗口。这时线程被挂起,新线程创建初期会创建一个堆对象,而正好这个对象可以被写入,攻击者正是利用这个写入的机会将已经准备好的ShellCode写入到这个对象中,从而执行自己的ShellCode。
提示:ShellCode是一组可以完成我们想要的功能的机器代码,这些代码通常都是以十六进制的数组形式存在的。
实战提升权限
我们将会利用这一漏洞进行本地权限的提升实验和远程权限的提升实验。
首先打开一个命令提示符窗口,运行漏洞利用工具并查看该工具的使用说明(图1)。从图中我们可以看到该漏洞利用工具的使用说明非常详细,该工具可以根据不同的操作系统来执行不同的命令。
图 1
在Windows 2000(SP4)系统中,我们通过工具可以得到一个交互式的Shell,而在其他受影响的系统中只能执行非交互式的命令。在图1中所示的两段执行命令中,前面的参数是Webfldrs.msi组件的安装路径(每个操作系统的安装路径有所不同),后面的参数则是要执行的命令。
1.本地权限提升操作
我们首先来看看利用COM远程缓冲区溢出漏洞在本地的操作使用。
在很多特定环境下的电脑(如学校机房、公共场所里的电脑),为了防止使用者进行某些操作,电脑的管理者都会对电脑的使用权限加以限制,如只能读取已有的文件、不能创建新的文件等。然而,通过这个漏洞,我们可以将有功能限制的账户的权限提升到最高的管理员权限。
首先用一个普通用户的身份进行登录(非管理员)。
今天,我们进行本地提升权限的系统是Windows 2000,下面我们就来进行操作。运行“cmd”命令打开一个命令提示符窗口。执行“c:\ms05012.exe "c:\windows\s
ystem32\webfldrs.msi" "cmd.exe"”命令,工具提示命令执行成功以后就会弹出一个新的命令提示符窗口(图2)。在这个窗口中,我们就可以执行所有的命令。
图 2
既然我们的账户权限已经得到了提升,现在我们就可以执行管理员所能执行的所有命令了,包括安装程序,查看、更改或删除数据,或者创建拥有完全用户权限的新账户等等。
2.远程权限提升操作
本地提升权限操作完成后,下面让我们来看看远程提升权限是怎样进行的。
远程提升权限在黑客的入侵过程中是很常见的操作,因为黑客为了能完全控制远程计算机,必须拥有一个有极高权限的用户账号。
首先使用NC得到一个远程计算机的Shell,当然这个Shell的权限是有限的。现在我们就运行提升权限命令“ms05012.exe "c:\windows\system32\webfldrs.msi" "net localgroup administrators yonghu /add"”。当工具提示命令被成功执行后,我们就得到了一个名称为“yonghu”的管理员账户了。
这里要提醒大家一下,无论远程系统是什么版本,你都不要执行并激活“cmd.exe”。因为如果运行了这条命令,就会在远程计算机的桌面弹出一个命令提示符窗口,这样就会引起远程用户的警觉。同时,执行的命令不要过长,一般的下载文件、添加用户这些命令都可以成功执行。
之所以我们要进行远程提升权限的操作,主要就是为了能上传一些具有远程控制功能的程序,这样我们就可以方便地对远程系统进行控制了。远程提升权限完成以后,我们就可以利用FTP命令上传我们的远程控制程序了。
为了阻止该漏洞对用户系统的危害,用户还是赶紧安装由微软推出的漏洞补丁,这样才能有效防范漏洞的危害。
防范方法:对这个漏洞进行防范,最简单也是最稳妥的方法就是尽快安装微软公司推出的安全补丁(下载地址:http://www.microsoft.com/china/technethttp://security.chinaitlab.com/bulletin/ms05-012.mspx )。
小知识:什么是权限
在计算机的应用过程中,我们常常可以看到“权限”这个词,特别是Windows 2000/XP被越来越多的用户使用以后。到底什么是权限呢?Windows系统中的权限就是根据不同等级的用户进行权利分配和限制的方法。在Windows 2000/XP系统中,权限主要分为七类,包括:完全控制、修改、读取和运行、列出文件夹目录、读取、写入、特别的权限。其中,完全控制包括了其他六项权限,只要拥有它就等于同时拥有其他六项权限,在系统中只有管理员才拥有这样的最高权限。