滲透國(guó)內(nèi)某網(wǎng)絡(luò)游戲服務(wù)器群記實(shí)
沒(méi)什么技術(shù)性,只是想說(shuō)明現(xiàn)狀
現(xiàn)在想弄錢(qián)的入侵者,似乎熱衷于入侵網(wǎng)絡(luò)游戲服務(wù)器,盜出游戲服務(wù)器程序或是數(shù)據(jù)庫(kù)。國(guó)內(nèi)的網(wǎng)絡(luò)游戲企業(yè),都應(yīng)該招受過(guò)此損失,有暴露出來(lái)的,有沒(méi)暴露出來(lái)的。但游戲企業(yè)對(duì)安全問(wèn)題理解都十分片面,狹隘!
當(dāng)然,不只是網(wǎng)絡(luò)游戲企業(yè)。近一兩年來(lái),入侵者樂(lè)此不疲,各種商業(yè)數(shù)據(jù)的偷盜在國(guó)內(nèi)幾乎快形成一種"圈內(nèi)產(chǎn)業(yè)"。不論是技術(shù)性還是行事組織性都與 早年不可同日而語(yǔ)。需求與供應(yīng)在這里似乎有著完美結(jié)合。再看看各地公安網(wǎng)監(jiān)部門(mén),媒體似乎每天都有報(bào)道關(guān)于某地公安抓獲某黑客的事件。但卻似乎沒(méi)有一起真 正成熟的案件。抓到的都是小魚(yú),大魚(yú)都在偷著樂(lè)。原因有沒(méi)發(fā)現(xiàn)沒(méi)報(bào)案的,也有網(wǎng)監(jiān)部門(mén)的技術(shù)問(wèn)題。還有就是官僚主義,公安部門(mén)發(fā)布所謂的“戰(zhàn)果”也樂(lè)此不 疲。
話不說(shuō)遠(yuǎn)了,轉(zhuǎn)入正題。
一個(gè)好友在國(guó)內(nèi)某網(wǎng)絡(luò)游戲企業(yè)工作,讓我?guī)兔y(cè)試他們游戲服務(wù)器群的安全性。加上我這段時(shí)間閑得無(wú)聊,也就答應(yīng)了。
我先下載了游戲客戶(hù)端程序,得到到了幾個(gè)游戲服務(wù)器的地址。
游戲帳號(hào)在WEB網(wǎng)站上也可以注冊(cè),看來(lái)游戲中央數(shù)據(jù)庫(kù)的調(diào)用WEB網(wǎng)站也可以。
先仔細(xì)的檢查了一下WEB網(wǎng)站,大部分是PHP+MYSQL的。代碼寫(xiě)得還不錯(cuò),幾乎找不到什么突破口。再看看MYSQL,禁止遠(yuǎn)程連接。查看了其他游戲 服務(wù)器,都是LINUX系統(tǒng),都只是開(kāi)了OPENSSH和游戲服務(wù)器程序端口。只有WEB網(wǎng)站多個(gè)80,而又沒(méi)什么可利用的地方。
看上去安全做得不錯(cuò),但這是種幻象!
隨后仔細(xì)分析了下游戲客戶(hù)端程序,我打開(kāi)Sniffer Pro以便記錄下客戶(hù)端程序和服務(wù)器的所有通信。發(fā)現(xiàn)客戶(hù)端程序有個(gè)自動(dòng)更新功能,我Sniff到是通過(guò)FTP去下載更新文件的。但我掃描所有游戲服務(wù)器 時(shí)沒(méi)發(fā)現(xiàn)這個(gè)FTP端口啊(8888)。仔細(xì)看了一下,原來(lái)這個(gè)端口連接延時(shí)十分長(zhǎng)。所以掃描器沒(méi)發(fā)現(xiàn)這個(gè)端口。
意外的從更新過(guò)程中,竟然Sniff到一個(gè)固定的更新程序的FTP帳戶(hù)。檢查了FTP服務(wù)器是ProFTPd,我沒(méi)直接用這個(gè)帳戶(hù)去溢出ProFtpd。因?yàn)檫@臺(tái)服務(wù)器開(kāi)了SSH,我直接拿帳戶(hù)去登陸SSH,獲得一個(gè)權(quán)限極低的shell。
就像一塊布,一但撕開(kāi)一丁點(diǎn)口子,只要稍一加力,整塊布都會(huì)隨之撕開(kāi)!
在系統(tǒng)中尋覓了半天,終于尋找到一個(gè)有權(quán)限去寫(xiě)的tmp目錄。查看了內(nèi)核版本,用kernel do_brk()的問(wèn)題溢出提升權(quán)限獲得了rootshell,沒(méi)去裝rkt,因?yàn)橹皇菐兔y(cè)試.
檢查了系統(tǒng)的路由表,發(fā)現(xiàn)有一個(gè)內(nèi)網(wǎng),最后確認(rèn)是VPN,原來(lái)所有游戲服務(wù)器之間的連接是通過(guò)VPN,防火墻的信任檢查,都是通過(guò)內(nèi)網(wǎng)的IP地址。外網(wǎng)訪問(wèn)這些服務(wù)器都只能看到22端口和游戲服務(wù)程序端口。
在這臺(tái)已控制的服務(wù)器上下載了一個(gè)nmap,掃描了其他服務(wù)器,發(fā)現(xiàn)其中一臺(tái)開(kāi)了Samba,查看了一下版本,存在問(wèn)題。溢出并獲得了rootshell。
到現(xiàn)在為止以控制兩臺(tái)服務(wù)器,我把兩臺(tái)服務(wù)器的shadow文件都弄回來(lái),拿jonh跑了一遍,沒(méi)什么弱智密碼??磥?lái)密碼還設(shè)得挺好的。
逛尤了一會(huì),在開(kāi)了Samba的服務(wù)器上,發(fā)現(xiàn)了游戲服務(wù)器程序。并隨之在game.conf文件中發(fā)現(xiàn)了中央數(shù)據(jù)庫(kù)的地址和一個(gè)數(shù)據(jù)庫(kù)帳戶(hù)。登上去看了一下,數(shù)據(jù)庫(kù)太龐大,放棄了dump出來(lái)的念頭。
好象沒(méi)有必要去分析游戲服務(wù)器程序,找出vul,去exp,來(lái)撕開(kāi)其他服務(wù)器
但從其中的一個(gè)名為"weihu"的table中,發(fā)現(xiàn)一個(gè)后臺(tái)管理帳戶(hù)和密碼,這個(gè)密碼大小寫(xiě)互換加數(shù)字加符號(hào)。
我在web網(wǎng)站上找到一個(gè)后臺(tái)入口,并用在數(shù)據(jù)庫(kù)得到的帳戶(hù)登陸成功。發(fā)現(xiàn)后臺(tái)管理系統(tǒng)中有一個(gè)上傳的功能,而且沒(méi)檢查文件后綴名。存放文件目錄也是在web目錄之下。上傳了一個(gè)phpshell,執(zhí)行命令成功,隨后我又獲得提升權(quán)限為root的shell。 #p#page_title#e#
發(fā)現(xiàn)這臺(tái)機(jī)器上還有個(gè)root在上面工作,但正在專(zhuān)注用vi編輯一個(gè)文件。沒(méi)發(fā)現(xiàn)我。但我想到一個(gè)惡作劇。我給這臺(tái)web網(wǎng)站服務(wù)器裝了個(gè)能監(jiān)視 tty輸入的sniff,隨后又skill了那個(gè)root,那個(gè)root被踢下去沒(méi)多久,又登陸上來(lái)。但我立馬就抓到了他的密碼。
我用這個(gè)抓到的密碼去登陸其他服務(wù)器的SSH,并也用root帳戶(hù),都登陸成功。
感覺(jué)所有服務(wù)器的系統(tǒng)都應(yīng)該是直接拷的盤(pán),因?yàn)橄到y(tǒng)版本和所安裝的程序和一些配置大都相同。
至此已經(jīng)控制游戲服務(wù)器群的所有服務(wù)器,其中還有一臺(tái)是SMS網(wǎng)關(guān)。
我們的游戲時(shí)間結(jié)束。只是因?yàn)橐粋€(gè)小問(wèn)題,最后導(dǎo)致整個(gè)服務(wù)器群被控制,其實(shí)這在安全問(wèn)題上,這是必然會(huì)發(fā)生的。安全無(wú)小事!
其實(shí)這家企業(yè)對(duì)安全也有投入,硬件防火墻,支持VPN的。但因?yàn)橐粋€(gè)程序自動(dòng)更新的設(shè)計(jì)上的小失敗。導(dǎo)致一切都虛設(shè)。
隨后我把整個(gè)過(guò)程告訴了我那朋友,聽(tīng)得他立馬向他們主管匯報(bào)了問(wèn)題
本篇文章來(lái)源于 黑客基地-全球最大的中文黑客站 原文鏈接:http://www.hackbase.com/tech/2009-09-30/56600.html