滲透國內(nèi)某網(wǎng)絡(luò)游戲服務(wù)器群記實
時間:2008-12-07 14:08:00
來源:UltraLAB圖形工作站方案網(wǎng)站
人氣:4743
作者:admin
一個好友在國內(nèi)某網(wǎng)絡(luò)游戲企業(yè)工作,讓我?guī)兔y試他們游戲服務(wù)器群的安全性。加上我這段時間閑得無聊,也就答應(yīng)了。
我先下載了游戲客戶端程序,得到到了幾個游戲服務(wù)器的地址
游戲帳號在WEB網(wǎng)站上也可以注冊,看來游戲中央數(shù)據(jù)庫的調(diào)用WEB網(wǎng)站也可以。
先仔細的檢查了一下WEB網(wǎng)站,大部分是PHP+MYSQL的。代碼寫得還不錯,幾乎找不到什么突破口。再看看MYSQL,禁止遠程連接。查看了其他游戲服務(wù)器,都是LINUX系統(tǒng),都只是開了OPENSSH和游戲服務(wù)器程序端口。只有WEB網(wǎng)站多個80,而又沒什么可利用的地方。
看上去安全做得不錯,但這是種幻象!
隨后仔細分析了下游戲客戶端程序,我打開Sniffer Pro以便記錄下客戶端程序和服務(wù)器的所有通信 。發(fā)現(xiàn)客戶端程序有個自動更新功能,我Sniff到是通過FTP去下載更新文件的。但我掃描所有游戲服務(wù)器時沒發(fā)現(xiàn)這個FTP端口啊(8888)。仔細看了一下,原來這個端口連接延時十分長。所以掃描器沒發(fā)現(xiàn)這個端口。
意外的從更新過程中,竟然Sniff到一個固定的更新程序的FTP帳戶。檢查了FTP服務(wù)器是ProFTPd,我沒直接用這個帳戶去溢出ProFtpd。因為這臺服務(wù)器開了SSH,我直接拿帳戶去登陸SSH,獲得一個權(quán)限極低的shell。
就像一塊布,一但撕開一丁點口子,只要稍一加力,整塊布都會隨之撕開!
在系統(tǒng)中尋覓了半天,終于尋找到一個有權(quán)限去寫的tmp目錄。查看了內(nèi)核版本,用kernel do_brk()的問題溢出提升權(quán)限獲得了rootshell,沒去裝rkt,因為只是幫忙測試.
檢查了系統(tǒng)的路由表,發(fā)現(xiàn)有一個內(nèi)網(wǎng),最后確認是VPN,原來所有游戲服務(wù)器之間的連接是通過VPN,防火墻的信任檢查,都是通過內(nèi)網(wǎng)的IP地址。外網(wǎng)訪問這些服務(wù)器都只能看到22端口和游戲服務(wù)程序端口。
在這臺已控制的服務(wù)器上下載了一個nmap,掃描了其他服務(wù)器,發(fā)現(xiàn)其中一臺開了Samba,查看了一下版本,存在問題。溢出并獲得了rootshell。
到現(xiàn)在為止以控制兩臺服務(wù)器,我把兩臺服務(wù)器的shadow文件都弄回來,拿jonh跑了一遍,沒什么弱智密碼。看來密碼還設(shè)得挺好的。
逛尤了一會,在開了Samba的服務(wù)器上,發(fā)現(xiàn)了游戲服務(wù)器程序。并隨之在game.conf文件中發(fā)現(xiàn)了中央數(shù)據(jù)庫的地址和一個數(shù)據(jù)庫帳戶。登上去看了一下,數(shù)據(jù)庫太龐大,放棄了dump出來的念頭。
好象沒有必要去分析游戲服務(wù)器程序,找出vul,去exp,來撕開其他服務(wù)器,但從其中的一個名為"weihu"的table中,發(fā)現(xiàn)一個后臺管理帳戶和密碼,這個密碼大小寫互換加數(shù)字加符號。
我在web網(wǎng)站上找到一個后臺入口,并用在數(shù)據(jù)庫得到的帳戶登陸成功。發(fā)現(xiàn)后臺管理系統(tǒng)中有一個上傳的功能,而且沒檢查文件后綴名。存放文件目錄也是在web目錄之下。上傳了一個phpshell,執(zhí)行命令成功,隨后我又獲得提升權(quán)限為root的shell。
發(fā)現(xiàn)這臺機器上還有個root在上面工作,但正在專注用vi編輯一個文件。沒發(fā)現(xiàn)我。但我想到一個惡作劇。我給這臺web網(wǎng)站服務(wù)器裝了個能監(jiān)視tty輸入的sniff,隨后又skill了那個root,那個root被踢下去沒多久,又登陸上來。但我立馬就抓到了他的密碼。
我用這個抓到的密碼去登陸其他服務(wù)器的SSH,并也用root帳戶,都登陸成功。
感覺所有服務(wù)器的系統(tǒng)都應(yīng)該是直接拷的盤,因為系統(tǒng)版本和所安裝的程序和一些配置大都相同。
至此已經(jīng)控制游戲服務(wù)器群的所有服務(wù)器,其中還有一臺是SMS網(wǎng)關(guān)。
我們的游戲時間結(jié)束。只是因為一個小問題,最后導致整個服務(wù)器群被控制,其實這在安全問題上,這是必然會發(fā)生的。安全無小事!
其實這家企業(yè)對安全也有投入,硬件防火墻,支持VPN的。但因為一個程序自動更新的設(shè)計上的小失敗。導致一切都虛設(shè)。 #p#page_title#e#
隨后我把整個過程告訴了我那朋友,聽得他立馬向他們主管匯報了問題
我先下載了游戲客戶端程序,得到到了幾個游戲服務(wù)器的地址
游戲帳號在WEB網(wǎng)站上也可以注冊,看來游戲中央數(shù)據(jù)庫的調(diào)用WEB網(wǎng)站也可以。
先仔細的檢查了一下WEB網(wǎng)站,大部分是PHP+MYSQL的。代碼寫得還不錯,幾乎找不到什么突破口。再看看MYSQL,禁止遠程連接。查看了其他游戲服務(wù)器,都是LINUX系統(tǒng),都只是開了OPENSSH和游戲服務(wù)器程序端口。只有WEB網(wǎng)站多個80,而又沒什么可利用的地方。
看上去安全做得不錯,但這是種幻象!
隨后仔細分析了下游戲客戶端程序,我打開Sniffer
意外的從更新過程中,竟然Sniff到一個固定的更新程序的FTP帳戶。檢查了FTP服務(wù)器是ProFTPd,我沒直接用這個帳戶去溢出ProFtpd。因為這臺服務(wù)器開了SSH,我直接拿帳戶去登陸SSH,獲得一個權(quán)限極低的shell。
就像一塊布,一但撕開一丁點口子,只要稍一加力,整塊布都會隨之撕開!
在系統(tǒng)中尋覓了半天,終于尋找到一個有權(quán)限去寫的tmp目錄。查看了內(nèi)核版本,用kernel do_brk()的問題溢出提升權(quán)限獲得了rootshell,沒去裝rkt,因為只是幫忙測試.
檢查了系統(tǒng)的路由表,發(fā)現(xiàn)有一個內(nèi)網(wǎng),最后確認是VPN,原來所有游戲服務(wù)器之間的連接是通過VPN,防火墻的信任檢查,都是通過內(nèi)網(wǎng)的IP地址。外網(wǎng)訪問這些服務(wù)器都只能看到22端口和游戲服務(wù)程序端口。
在這臺已控制的服務(wù)器上下載了一個nmap,掃描了其他服務(wù)器,發(fā)現(xiàn)其中一臺開了Samba,查看了一下版本,存在問題。溢出并獲得了rootshell。
到現(xiàn)在為止以控制兩臺服務(wù)器,我把兩臺服務(wù)器的shadow文件都弄回來,拿jonh跑了一遍,沒什么弱智密碼。看來密碼還設(shè)得挺好的。
逛尤了一會,在開了Samba的服務(wù)器上,發(fā)現(xiàn)了游戲服務(wù)器程序。并隨之在game.conf文件中發(fā)現(xiàn)了中央數(shù)據(jù)庫的地址和一個數(shù)據(jù)庫帳戶。登上去看了一下,數(shù)據(jù)庫太龐大,放棄了dump出來的念頭。
好象沒有必要去分析游戲服務(wù)器程序,找出vul,去exp,來撕開其他服務(wù)器,但從其中的一個名為"weihu"的table中,發(fā)現(xiàn)一個后臺管理帳戶和密碼,這個密碼大小寫互換加數(shù)字加符號。
我在web網(wǎng)站上找到一個后臺入口,并用在數(shù)據(jù)庫得到的帳戶登陸成功。發(fā)現(xiàn)后臺管理系統(tǒng)中有一個上傳的功能,而且沒檢查文件后綴名。存放文件目錄也是在web目錄之下。上傳了一個phpshell,執(zhí)行命令成功,隨后我又獲得提升權(quán)限為root的shell。
發(fā)現(xiàn)這臺機器上還有個root在上面工作,但正在專注用vi編輯一個文件。沒發(fā)現(xiàn)我。但我想到一個惡作劇。我給這臺web網(wǎng)站服務(wù)器裝了個能監(jiān)視tty輸入的sniff,隨后又skill了那個root,那個root被踢下去沒多久,又登陸上來。但我立馬就抓到了他的密碼。
我用這個抓到的密碼去登陸其他服務(wù)器的SSH,并也用root帳戶,都登陸成功。
感覺所有服務(wù)器的系統(tǒng)都應(yīng)該是直接拷的盤,因為系統(tǒng)版本和所安裝的程序和一些配置大都相同。
至此已經(jīng)控制游戲服務(wù)器群的所有服務(wù)器,其中還有一臺是SMS網(wǎng)關(guān)。
我們的游戲時間結(jié)束。只是因為一個小問題,最后導致整個服務(wù)器群被控制,其實這在安全問題上,這是必然會發(fā)生的。安全無小事!
其實這家企業(yè)對安全也有投入,硬件防火墻,支持VPN的。但因為一個程序自動更新的設(shè)計上的小失敗。導致一切都虛設(shè)。 #p#page_title#e#
隨后我把整個過程告訴了我那朋友,聽得他立馬向他們主管匯報了問題