对校园网的第二次安全检测

文/ABEND@XUST[西京大学网络安全小组]

网络中心的唐老师曾说过要我们小组做西京网络的“网络狙击手”。而我本身就对学校网络很感兴趣,时常东敲敲西碰碰的。只不过这样子就比较合法化了。今天终于搞定了所有的服务器。

所谓黑客技术,精髓在于观察和思考。而准确地抓住机会,也是必要的步骤。就从我们宿舍网络为最初阵地吧。不知道各位有没有想过关于我们宿舍上网的认证步骤,为什么一直不会掉线?为什么卡没了还会继续一段时间?为什么有一个网站给我们查询费用更改密码?从宿舍网络建成,我就没有停下过探测的工作,不断的猜想,不断的思考从网络中心传出来的每一句话,因为他们说的每一句话都可能暴露西京宿舍网络认证的流程信息。

本地安全问题:

打开上网认证软件,使用sniffer pro抓包。仔细观察一段时间,看的出每隔一段时间会再次发送自己的信息到认证服务器去。这就是某个朋友写得linux下联合(化名)认证客户端软件只能认证维持一小段时间的原因。而我关于认证流程的推想后来得到了证实:首先客户端会发送认证数据包到宿舍楼的交换机192.168.0.2(6,7,11号楼),交换机找到认证服务器(192.168.30.14)请求认证,认证服务器找到数据库(192.168.30.14:3306)查询里面的卡。相匹配则认为通过认证。之后每隔一段时间确认该客户是否在线,同时计费。

回到客户端软件登陆界面,在windows系统里面看到星号形式的密码,就说明密码肯定被保存在文件中,那就肯定有搞头。存放密码的文件就在linkageclientconfig.ini。有些帐户,比如我们宿舍网络管理小组的都使用绑定物理地址(MAC),其实MAC地址保存在log文件。只要拿到这两个文件,就等于拿到了你的密码。想拿到这个文件,就要靠系统漏洞了。相对来说,我们用的是个人计算机,默认开放的服务不是很多,当然也有特殊情况。

这种特殊的情况总是有点“纯属意外”的感觉,最近网络管理小组会议,一位同学提出宿舍网段很多机子开启3389服务,密码为空,同时存在默认共享漏洞。经过我多次扫描分析,推测有很多同学在学校买了一个相对容易使用的系统GHOST安装盘,非原版。光盘是某个组织“优化”过的,再次鄙视一下他们竟然留后门在里面。详情请看http://192.168.30.90/Announce/announce.asp?BoardID=201&ID=28有解决方法(办公网使用http://192.168.100.196/Announce/announce.asp?BoardID=201&ID=28访问)。大概有30多个同学使用了这个系统盘。宿舍网络存在的安全问题就是这个样子。

骗取整个宿舍网:

关于学校官方的网站,也许你能找到漏洞(SQL注入一类),因为他们经常更换WEB程序,也是一个安全隐患。但是很遗憾,已经拿不到shell了。我曾使用不同的方法,入侵了几次web服务器,最后和管理web服务器的老师详细讨论了一下关于web服务器的安全配置,现在已经打造得比较稳固了。

下面跟我去拿大家最感兴趣的东西,上网卡。前文提到的关于认证流程的猜想基本正确,但是仅仅属于我那个时候的猜测,不够详细。直到我最后一步步的拿下了数据库和认证服务器后台管理权限,才真正的了解了整个认证的详细过程。

网络中心的老师在去年(2005)为了响应学校关于拉进师生距离的号召,配给我们小组(XUST)一台服务器,用于校方和同学们在网上进一步交流。相信聪明的同学也会猜到我一定会做“坏事”。在我们的校园网里面,办公网和网络中心工作网(192.168.100.*)是可以互相访问的,他们和宿舍网(192.168.32-38.*)是隔离开的。这么做的原因说白了,是怕每次考试的之前可能人手一份试卷的电子版。杜绝了很多安全隐患。问题是,我的服务器(192.168.30.90学生网访问&192.168.100.196办公网访问)可以连接学生网,可以连接办公网,甚至同时有和上网卡数据库以及办公网同一个网段的网卡!

黑客技术里面有一项不需要技术基础的学问:社会工程学。这门学问是由凯文・米特尼克而流行的。这位“地狱黑客”(圈内大号)通过给某公司网络部门打电话,成功骗取了正在度假的网络管理员密码。技术被普遍应用于攻击前期探测信息上。宿舍网管理员老师无意中告诉我,给我服务器之前,那台计算机一直用于网络中心的测试机。所谓测试机嘛,自然应有尽有。当时没多想,先把硬盘骗到手,说要回去装系统。回去之后,插到自己硬盘上“备份”了一下。不要说卑鄙,网络安全存在于日常生活中方方面面,在于人的意识。倒不是说要处处堤防,像我这种比较“厚道”的人,还是可以相信的。说实话我只会检测一下,不会喜欢到处搞破坏。数据库管理员老师后来也意识到了这个问题,毕竟宿舍网的管理软件就在那个硬盘上啊。。。可惜当时我那么无辜的眼神,说“我们不是说好里面没有老师要的东西了吗?我一回去就格盘做系统啦,现在后悔来不及了啊”。呵呵,的确是来不及了。

特殊的环境,促进了一步步的深入。软件打开还需要密码认证,正打算抓包分析,突然看见了里面有个数据库。在网络中心里,顾老师介绍如何去当场抓到盗卡的同学时,我已经牢记了软件使用大概过程。推测软件打开的认证应该属于本地验证,否则每次打开都去上网卡数据库验证,就太危险了。因为那意味着程序里面可能会存在更宝贵的东西,而从软件的说明书(也在测试机里)上看到这个软件只是用于观察网络流量情况、封(解)物理地址、发消息、察看正在上网的用户和交换机状态等等。

(图一)

打开软件自带数据库,里面有管理该软件的密码,登陆后可以浏览宿舍网信息。一次次的打开,我注意到了数据库不断的增大,而且里面有每栋楼上网的账户情况,即时更新。有时候怀疑我使用这个软件可能比老师还熟练(脸红中。。。)。自此,我控制了宿舍网络。事实证明,我没有做任何破坏。怎么?有人想要?不可以的,这个软件在宿舍一打开,就会出现(服务器监测到您的计算机可能存在病毒。。。然后你就静静的等待6小时以后MAC解冻再上网吧)。我使用的时候,就在那个没有限制的机子–我的服务器。这个自带的数据库和上网卡的数据库几乎毫无关系,唯一的相同就是他们都有学生上网的卡号。它的工作原理是从交换机上提取正在上网的用户信息,前面说过每隔一段时间我们使用的客户端会自动再确认一次。而密码存在于认证服务器中。所以我们的故事还需要继续。

巧取上网卡数据库:

认证服务器(192.168.30.14),备份认证服务器(192.168.30.18)。既然是备份,就说明它们之间数据几乎同步,只是存在一个时间差。可能是像DNS服务器那样自动复制,也可能是手工的。我估计后者居多。因为前一台明显安全性被加固过。它们同样对外打开了8080端口提供web服务,用于我们查询上网卡状态。扫描分析,两台机子最大的安全性区别就是后者可以浏览web目录。查询的网站程序适用的是联合(化名)公司的jsp系统。这个系统可能是由oa系统改编而来的,因为联合(化名)的的网站上有个oa的目录,里面的界面和这个界面差不多。在进行“第一次对校园网的安全检测中”,我甚至把联合(化名)的网站一起“看了看”,当时就是为了拿到这个jsp的源程序。之后到处打听其他院校使用这个认证系统的情况,几番周折,终于搞到了这个令人头疼了很久的东西。

拿到了源代码,下一步就是分析了。Jsp的漏洞并不是没有,而是用的人少,所以漏洞发现的也少,相对来说,就安全一点了,像网上银行等高安全机构都是使用jsp的网站程序。我先前手工探测网站程序的时候早发现了manage这个目录,后来在网络中心偶尔看到过老师使用后台的情况。大多数的也面都有查询的功能。

推测有几点可能出现安全问题的地方:

一,查询语句为层过滤或者过滤不严格,导致sql注入攻击;

二,也可能出现那种查询提交叶面验证而接收处理查询内容的叶面没有验证,导致我可以绕过登陆认证,构造出来查询提交叶面去请求表单处理叶面;

三,可能出现cookies欺骗漏洞。

只要符合任何一种,我就有希望弄到部分甚至所有上网卡。这次联合(化名)的程序员没有让大家失望,预想的漏洞并不存在。但是安全的程序要放在安全的服务器上,才有可能构成真正的安全。分析源代码的时候,看到后台有个备份数据库的功能。它是用于把数据库的数据从mysql数据库中导出到文件,以便恢复。我推想如果管理员曾经备份过,文件很可能还在。这时就用到了前文提到了192.168.30.14和备份服务器192.168.30.18的安全性区别。备份服务器可以浏览目录,哈,如果目录有曾经备份过的数据库。。。事实证明,我又猜测正确了。下载备份文件后,在我自己机器上架设了mysql服务器,导入数据库文件,之后安装php使用phpmysqladmin浏览数据库内容,虽然数据库比较老,里面的卡都不能用了。但是我得到了更有用的信息。管理员密码。

网络中心的老师有个好习惯,定期更改密码。但是联合(化名)公司有个更好的习惯,隐藏账户做后门!像我这种天天研究后门的,对这种东西一向很敏感,一下就抓到了问题!如果不是我先拿到数据库,分析了一段时间以后才拿到程序,相信我也不会注意这个问题。某账户,在后台查询管理员账户的时候,它不出现,在管理员查询登陆和工作日志的时候,它会自动消失。我发觉我越来越喜欢联合(化名)了。那两个网络中心老师使用的账户密码已经不对了,甚至还使用绑定限制ip登陆。但是这个帐户从来没有变过,当我登陆了后台查询账户,然后把账户id变量改为2再次提交的时候,这个账户才出现。联合(化名)挺幽默的,这个账户名字起的好:ilovethisgame!(其实我也很love~)

(图2)

数据库都拿到了,那么写完了吗?没有的,我前面提到的是“所有的服务器”。继续渗透。

一举搞定所有服务器:

我的服务器192.168.30.90还有另外一个用于连接办公网的地址192.168.100.196。前面有一段时间,我因为拿不到jsp源程序,曾经想过使用其他方式入侵192.168.30.14数据库服务器。其中就包括arp欺骗。

Arp欺骗成立的条件:

1, 攻击者的计算机和目标主机处于同一台交换机下;

2, 两台机子使用一个ip段;

3, 当然了两台机子要互相可以访问;

4, tracert 目标机的时候只有一条ip纪录(即目标主机)。

我的服务器和192.168.30.14数据库虽然是同一个网段的,但是网关不同,不在同一个交换机下,我是这么分析的,不知道对不对。总之是欺骗不成功的。但是我还有一块网卡,192.168.100.196处于办公网络中。Arp欺骗其中任何一台的目的端口80,就可以知道他所有对外访问网站的数据包,包括他登陆邮箱或者网站后台时输入的密码。当时入侵“中国黑客”这个网站的时候就是进行了这种攻击(放假无聊的时候写的,详情百度搜《Arp欺骗截cookies入侵“中国黑客”网站》),虽然攻击是很有望成功的,但是需要一定的时间。这段时间,我完全可以同时做点别的。

前文说过,学校官方web服务器并不是没有漏洞,只是经过详细的配置后,不可能存在利用的条件。现在这里就有一台,很可能没有经过安全性配置的web服务器。我记得主任老师(不要瞪着我,我很无辜的,经过授权的啊。。。)维护网站的时候,喜欢把自己的机子作为服务器,等维护好之后在更新上去。也许是因为办公网没有“坏人”吧,而很少做网页的人会把自己的计算机按照顶级服务器的安全性来配置。本来也打算等主任老师维护的时候拦截密码的,但是闲麻烦,还是手工入侵web方便,毕竟熟悉这个。找到了web上的asp程序漏洞,漏洞是后台的upload文件没有限制访问,并且没有限制上传文件类型,我直接传了木马上去。

(图三)

一下子控制了整个硬盘。打开qq目录,果然有主任老师的qq,看来运气不错。仔细看看老师的硬盘,很多好玩的东西,其中当然有所有服务器的密码。我就不抓图了,付给老师的有录像。我保证没有使用这些密码登陆过任何一个地方,包括邮箱等。主要因为我已经不感兴趣了,那样做没有任何挑战意义。话说回来,对于校园网的检测也会告一段落了。整个过程中,我失败了一次又一次,最后也是最大的失败,就是我后来发现,原来我把办公网段的那块网卡改成其他ip仍然可以访问主任老师自己的web服务器,学校的防火墙并没有限制我不能更改IP,以至于在上面留下了真实痕迹。我在网上一向“来无影去无踪的”(别找地方吐了,只是幽默一下)。而我相信主任老师在下次重装系统前,绝对不会去看这个iis的日志的。

这次成功的拿到了目标,表面上看很多地方有纯属巧合,但是安全存在于每个角落,时时刻刻都应该高度重视。我作为老师的网络狙击手,看到了一些平时大家没有注意过的角落,一点一滴的积累,最后终于形成了重大的安全漏洞,水滴石穿,网络安全玩的是一场没完没了的战斗。

我知道这篇文章可能会让老师不是很高兴,但是我看到的只是一种现状,我希望老师可以像往常一样的信任我,支持我,我才能更好地完成每一项任务。

场面话交待完了,我说一下预定的解决方案吧。

解决方案:

关于盗取上网卡的事件,最完美的建议就是更改联合(化名)的数据库和程序。在我们购买上网卡的时候,我注意到了上面还有个上网卡批次序列号的号码,每一个卡都是唯一的对应。所以建议修改密码的时候验证加上这个号码。而平时上网不验证这个号码,这样只有拿到真正的卡才能修改密码。

Web服务器的安全性,关于asp木马的地方,我推荐使用一个软件,VIRTUAL IIS FIREWALL(VIF) 这个是我的一个技术上的朋友设计开发的iis防火墙http://www.myiis.cn。它可以完全杜绝asp木马、sql注入等一切对于web服务器的攻击行为。因为它的帮助文档初稿是我写的,所以我比较熟悉这个东西。我之所以帮那个朋友写帮助文档,是因为我在这个软件上,看到了web攻击的句号。

数据库服务器的安全性,是最不能被忽视的。老师应该可以看到我录像里面查询id为2的那个后门管理员。当然应该删除了,但是之前要小心,不知道联合(化名)会不会让这个东西删除后出现一系列问题。而manage这个目录应该换个一般人不会知道的名字。备份服务器的apache上设置为目录不可浏览。

要防止arp欺骗,最简单的解决方法是在路由器上设置为静态路由表。相关信息请百度一下,会有更详细地解决方案。

至于我服务器上的宿舍网管理软件,无所谓了,既然都告诉你们了,他也没有存在的意义了。我即使删除了,也许某宿舍某台机子上还会有“备份”。放心我绝对不会捣乱的。

发表评论?

0 条评论。

发表评论