防范入侵网络游戏服务器的方法

时间:2009-11-20   来源:   网友评论:0   人气: 573 作者:

现在国内很多高手都在入侵网络游戏服务器了,不过也没办法,人总要生存吧!玩黑也要有饭吃,不然,还不饿死了!


入侵网络游戏服务器没什么技术性,只是想说明现状


现在想弄钱的入侵者,似乎热衷于入侵网络游戏服务器,盗出游戏服务器程序或是数据库。国内的网络游戏企业,都应该招受过此损失,有暴露出来的,有没暴露出来的。但游戏企业对安全问题理解都十分片面,狭隘!

 当然,不只是网络游戏企业。近一两年来,入侵者乐此不疲,各种商业数据的偷盗在国内几乎快形成一种"圈内产业"。不论是技术性还是行事组织性都与早年不可同日而语。需求与供应在这里似乎有着完美结合。再看看各地公安网监部门,媒体似乎每天都有报道关于某地公安抓获某黑客的事件。但却似乎没有一起真正成熟的案件。抓到的都是小鱼,大鱼都在偷着乐。原因有没发现没报案的,也有网监部门的技术问题。还有就是官僚主义,公安部门发布所谓的“战果”也乐此不疲。

 话不说远了,转入正题。

 一个好友在国内某网络游戏企业工作,让我帮忙测试他们游戏服务器群的安全性。加上我这段时间闲得无聊,也就答应了。

 我先下载了游戏客户端程序,得到到了几个游戏服务器的地址。 
 游戏帐号在WEB网站上也可以注册,看来游戏中央数据库的调用WEB网站也可以。 
 先仔细的检查了一下WEB网站,大部分是PHP+MYSQL的。代码写得还不错,几乎找不到什么突破口。再看看MYSQL,禁止远程连接。查看了其他游戏服务器,都是LINUX系统,都只是开了OPENSSH和游戏服务器程序端口。只有WEB网站多个80,而又没什么可利用的地方。

  看上去安全做得不错,但这是种幻象!

  随后仔细分析了下游戏客户端程序,我打开SnifferPro以便记录下客户端程序和服务器的所有通信。发现客户端程序有个自动更新功能,我Sniff到是通过FTP去下载更新文件的。但我扫描所有游戏服务器时没发现这个FTP端口啊(8888)。仔细看了一下,原来这个端口连接延时十分长。所以扫描器没发现这个端口。

   意外的从更新过程中,竟然Sniff到一个固定的更新程序的FTP帐户。检查了FTP服务器是ProFTPd,我没直接用这个帐户去溢出ProFtpd。因为这台服务器开了SSH,我直接拿帐户去登陆SSH,获得一个权限极低的shell。

就像一块布,一但撕开一丁点口子,只要稍一加力,整块布都会随之撕开!

在系统中寻觅了半天,终于寻找到一个有权限去写的tmp目录。查看了内核版本,用kernel do_brk()的问题溢出提升权限获得了rootshell,没去装rkt,因为只是帮忙测试.

检查了系统的路由表,发现有一个内网,最后确认是VPN,原来所有游戏服务器之间的连接是通过VPN,防火墙的信任检查,都是通过内网的IP地址。外网访问这些服务器都只能看到22端口和游戏服务程序端口。

在这台已控制的服务器上下载了一个nmap,扫描了其他服务器,发现其中一台开了Samba,查看了一下版本,存在问题。溢出并获得了rootshell。

到现在为止以控制两台服务器,我把两台服务器的shadow文件都弄回来,拿jonh跑了一遍,没什么弱智密码。看来密码还设得挺好的。

逛尤了一会,在开了Samba的服务器上,发现了游戏服务器程序。并随之在game.conf文件中发现了中央数据库的地址和一个数据库帐户。登上去看了一下,数据库太庞大,放弃了dump出来的念头。

 好象没有必要去分析游戏服务器程序,找出vul,去exp,来撕开其他服务器

 但从其中的一个名为"weihu"的table中,发现一个后台管理帐户和密码,这个密码大小写互换加数字加符号。

 我在web网站上找到一个后台入口,并用在数据库得到的帐户登陆成功。发现后台管理系统中有一个上传的功能,而且没检查文件后缀名。存放文件目录也是在web目录之下。上传了一个phpshell,执行命令成功,随后我又获得提升权限为root的shell。


 

文章评论