這幾天挺無聊的,沒什麼事情做,恰巧朋友新做了個網站,讓我去看看,順便測試一下網站的安全性。
先看了看網站的結構和布局,感覺整體上用了整站程式,細細分析猜想可能是FreePower3.6,偶還是比較熟的,還有個論壇是LeadBBS的,“敵情”先檢查到這,開工!
小提示:入侵前收集資訊是非常重要的,它可以幫你決定入侵的過程、思路。
通過Ping得到目標網站的IP,在IE中開啟這個IP時,卻是另外的頁面,估計是虛擬機器主機。在http://whois.webhosting.info這個網站上查詢該IP地址綁定了78個網域名稱,好傢夥,真多呀,到其它的網站轉了轉,大多數是ASP網站,有少量的PHP的。本來想通過別的網站進行跨站攻擊的,可是小菜我水平不行,基礎不牢,沒辦法,換換思路吧。
首先在網站上找到了這個串連:
http://www.xxxxx.com/Article_Show.asp?ArticleID=7
感覺有問題,隨手加了個分號,顯示出錯頁面;換成點號,頁面正常顯示了,說明很有可能存在SQL注入漏洞,用工具注入吧。開啟NBSI2,填上注入頁面地址,顯示暫未檢測到注入漏洞,然後在特徵字元裡寫上ID,再次檢測,顯示發現漏洞,
依次破解出使用者名稱和md5加密密碼,跑MD5得到密碼是kignpl。
由於首頁上有現成的後台管理地址,省掉尋找的麻煩了。直接進入後台後,開始上傳我的ASP木馬,仔細翻看每個功能,雖然上傳檔案管理不能使用,但是文章管理能用的。在本地先把海陽2005版的ASP木馬改名成GIF檔案,然後在文章管理中上傳,提示我上傳成功後檔案的相對位址是“uploadfiles/2005-2/2005217193345303.gif”,可是我怎麼把它變成ASP檔案呢,小菜我又卡殼了,鬱悶!突然記得羽藝在黑防介紹過使用備份恢複資料庫的方法來對付DVBBS不能上傳ASP檔案的問題,正好適合我!馬上找到資料庫管理部分,把我上傳的GIF檔案恢複成ASP檔案,。
木馬地址是http://www.xxxxx.com/database/8.asp,總算有點成就感了,呵呵。馬上登入我可愛的ASP木馬,得到WebShell,大致看了看主機的資訊:IIS6.0,Windows Server 2003,還好支援FSO,高興得我樂開了花——要知道,這可是我的第一次呢!
小知識:FSO(File System Object)是微軟ASP的一個對檔案操作的控制項,該控制項可以對伺服器進行讀取、建立、修改、刪除目錄以及檔案的操作,是ASP編程中非常有用的一個控制項。
本來想就此打住的,但是在雜誌上看到別人都提升許可權了,我也來湊湊熱鬧吧。在WebShell裡瀏覽了一會,發現當我瀏覽這個網站的C盤時,居然做了許可權限制
沒想到主機上僅有的3個盤,我都不能瀏覽其根目錄,被限制在網站的主目錄裡,向上跳轉也不可能,而且管理員還禁止了WSH,由於我是Internet來賓賬戶,只有user許可權,所以抱著一線希望試了試CMD,結果不能執行,看來管理員又設定了不能訪問Cmd.exe。沒有了CMD,沒有了WSH,目錄沒有執行程式的許可權,我怎麼混啊……
帶著鬱悶的心情,再來試試上傳,心想,你不讓我用CMD,我自己傳個上去吧!依然失敗!把本地的Cmd.exe換名成1.gif上傳,還是不行;改成HTM檔案,一樣不行!納了悶兒了。這樣看來是什麼程式都不能運行了!真有點想放棄,不能寫檔案,不能讀網站目錄外的檔案,以前高手們的方法怎麼都不行了,反向串連也沒用了,更別說什NC和木馬了。
對了,還沒檢查連接埠呢!我趕緊拿出SuperScan掃描連接埠,結果讓我這個小菜絕望了,只開放了21和389連接埠,估計對方有防火牆或者做了TCP/IP篩選過濾,389連接埠又不熟悉,21是FTP服務的預設連接埠,串連上去看看Banner怎麼樣?興許是Serv-U呢?
從返回的資訊來判斷,雖然它修改了FTP Server的Banner,但是從“user name okay,need password”這句可以大膽的猜測它就是Serv-U!雖然它的版本我現在還不知道,但是這也許會多條通向成功的途徑,試試!
經過仔細的思考,眼下有兩個思路可以走:第一個是通過這個IP上的其它網站來滲透,我就不信,77個虛擬機器主機都是這麼BT,應該有些使用者權限能大點,可是說得容易做起難,都黑上一遍第二天我就是有兩黑眼圈的國寶了;第二就是Serv-U,不是開了21嗎?於是我拿起前輩們的遠程溢出攻擊武器,輪番轟炸,可是人家21陣地堅若磐石,絕望了……
回過頭再想想:伺服器不是支援PHP指令碼嗎(這個IP上有PHP網站的)?雖然我的許可權很小,但也不是一無是處,EXE上傳不了,來個PHP的,誰知還真的能正常解析!趕緊上傳個PHP木馬,可惜PHP木馬的許可權也是很低的,與ASP木馬一樣幾乎沒有任何有用的許可權。不過這給我了啟發:要是有個PHP指令碼能實現Serv-U的本地許可權提升不就能成功了嗎?說幹就幹,我可是不會PHP語言的,自己編是不行了,去網上找找,可惜沒找到合適的。後來把這個想法跟羽藝說了說,他說他正好有個這樣的指令碼,我拿回一看說明,這不正是我想要的嗎?哈哈,看來要柳暗花明了。
趕緊把它上傳到Web目錄裡,地址是:http://www.xxxxx.com/database/servu.php,這裡我改成了Servu.php。IE中直接運行.
我們只要在Serv-U裡加個超級使用者!說說它的使用吧:主機IP中填上提供虛擬機器主機的伺服器位址;主機FTP管理連接埠要根據情況來修改;添加使用者名稱和密碼這個根據自己的喜好來修改,這裡預設是wofeiwo,密碼是wrsky;使用者主目錄一般是C:\。其它的一般不需要進行修改。
好了,我根據我的情況修改了IP、添加的使用者名稱與密碼後,點擊添加按鈕,Serv-U本地提升許可權指令碼將在伺服器端被解析執行,需要一些時間,有點慢,等捲軸走完後即執行成功,將添加一個Serv-U使用者admim,密碼是admim,並且它的許可權是system,方框裡有命令執行的回顯,我的回顯是(看到以下的資訊基本上執行成功):
220 Serv-U FTP Server v5.2 for WinSock ready...
331 User name okay, need password.
230 User logged in, proceed.
230-Switching to SYSTEM MAINTENANCE mode.
230 Version=1
900-Type=Status
900 Server=Online
900-Type=License
900-DaysLeft=0
……
900 MinorVersion=0
200-User=admim
200 User settings saved
注意在這裡,由於我沒有辦法查看處於防火牆之後(假如有)的主機開放的真實連接埠(技術太差了,呵呵),所以我假設它的本地Serv-U管理連接埠沒有被修改,有點蒙的味道了。哈哈!成功了!是Serv-U 5.2,連版本都顯示出來了!結果是歪打正著了!
現在局勢已經明朗了:直接FTP過去登入,切換目錄到system32下,然後執行以下命令添加使用者“mdj:Quote site exec net.exe user mdj 123456 /add”
怎麼回事?提示我執行失敗:
ftp> quote site exec net.exe user mdj 123456 /add
501 Cannot EXEC command line (error=0)
細想了一下,既然net.exe存在說明可能管理員對net檔案做了訪問限制,測試cmd也是一樣。這樣我來上傳net.exe,改名為200.exe,然後執行添加管理使用者命令.
命令執行成功!說明具有系統管理員的許可權!可以利用Serv-U進行遠端管理、上傳免殺木馬等等。大家都是行家,小菜我這裡就不廢話了,滲透到這裡也就結束了。
Serv-U.php對所有Serv-U版本均通用的,本地許可權提升工具的話,我還是個小小的user許可權,可見它在這次滲透過程中起到了至關重要的作用。現在有的伺服器還是允許執行程式的,這樣一開上傳一個提升Serv-U許可權的exe就一切搞定!但如果你在Web測試中遇到了和我一樣或者類似的情況,不妨試試這個指令碼,會有驚喜的哦!最後感謝羽藝哥的大力支援!