利用Windows 2000/Intel中的Debug Register来提升权限:
我是在Georgi Guninski的个人网站(http://www.guninski.com)上看到这篇文章: “Elevation of Privileges with debug registers on Win2k”,介绍如何利用Intel X86中的Debug Register来获取Local Administrator的权限。我的运气不太好,用文章中的Exploit程序Pipe3试了几次也不能成功,不过觉得利用Debug Register来攻击是个新的思路,所以就在这里顺便介绍一下。Intel X86的Debug Register(DR0-DR7寄存器)是所有进程共用的。也就是说,你在一般用户进程中下一个绊子(就是设置一个断点),没准会把某个系统进程或者服务进程(Service)绊一跤;这一跤要是把系统/服务进程摔垮了,导致它停止执行的话,你没准就可以伪造该进程的Named Pipe;然后当有其它进程企图通过Named Pipe与垮掉的系统/服务进程联络时,黑客就可以利用函数ImpersonateNamedPipeClient来窃取其它进程的权限----这很可能就是Local System的权限。文章中的Exploit程序Pipe3(请从网站http://www.guninski.com下载)就是按照这个思路设计的:它要整垮的进程是lsass,所以必须先找几个lsass进程将要运行的指令的地址,以便在这些地址设置断点(也就是搞清楚lsass要走哪一条路,我们才好在那条路上设绊脚石);然后Pipe3以一般用户的权限运行程序Calc(计算器),并在其中设置断点,因为这断点的地址是在lsass运行的途径上,所以它们并不会影响Calc进程;过不了多久lsass就会有报告“SingleStep Exception”并让你选择是中断lsass运行还是Debug lsass进程;选择中断lsass以便关闭lsass拥有的Named Pipe----\'5c.\pipe\lsass",这样Pipe3就可以伪造一个同名的Named Pipe;。。。。。。这以后的几步我想就不用重复了,大家都应该清楚。下面说说我Exploit的情况:先用WinDbg找到lsass可能要运行的指令地址,lsass有多个Thread,我从不同Thread的ESP寄存器中找了几个地址。然后以我的一般用户名“moda”登录dallas。最后让Pipe3在这些地址分别设断点,总有那么一个地址会成功地中断lsass程,并且产生一个Warning对话框(Dialog Box)报告“SingleStep Exception”。当我选择中断进程后, lsass退出执行,Pipe3报告“LSA died!”:
D:\MyJob\securitylab\pipe3\Debug>pipe3 Fun with debug registers. Written by Georgi Guninski vvdr started: lsasspid=240 breakp=5ffebc LSA died! Stop writing to pipe start \\.\pipe\lsass Failed to create named pipe: \\.\pipe\lsass
由于lsass是重要的系统进程,它的终止运行将使系统在一分钟内自动Shutdown。另外我们注意到, \\.\pipe\lsass并没有成功地创建。为什
么呢?我抢在系统Shutdown之前运行了一下Pipelist:
D:\MyJob\securitylab\pipe3\Debug>pipelist PipeList v1.01 by Mark Russinovich http://www.sysinternals.com
Pipe Name Instances Max Instances --------- --------- ------------- InitShutdown 2 -1 lsass 2 -1 ntsvcs 49 -1 scerpc 2 -1 net\NtControlPipe1 1 1 DhcpClient 1 -1 net\NtControlPipe2 1 1 。。。。。。。。。。。。。。。。
很奇怪,虽然lsass进程终止运行,但是它的Named Pipe还在----这大概是Pipe3没能创建“\\.\pipe\lsass”的原因。由于时间的关系,我没能深入研究这个问题,不过哪位朋友要是用Pipe3成功地实现Exploit的话,不要忘记告诉我一声!不过话又说回来,这种利用Debug Register来终止lsass进程的方法----即使成功的话,也太暴露了:整个系统居然会hutdown!任何一个傻瓜管理员都会发现有黑客入侵。这大概是黑客中的业余水平。好一点的黑客要做到“轻轻的我走了,正如我轻轻的来”,要象伟大的诗人兼武林高手徐自摩那样施展一把轻功,让傻瓜管理员根本发现不了,当然耳朵厉害的管理员还是会发现的----“谁?有黑客!抓黑客!”。水平达到最高境界的黑客应该是能够羚羊挂角、踏雪无痕的,这就不是我能评论的了。 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
|