在win 2003系統中提升權限是一個很重要的事,現在就給大家分享下一個網友的經歷:前幾天滲透了某大型網站,興奮中。拿到WebShell後,第一個念頭就是提升權限,把偶親愛的後門掛到系統裡。熟練的打開CMD,輸入NET USER。
不是好兆頭,接著在WSCRIPT組件前打鉤,再次執行NET USER。
提示倒是換了,但是結果一樣。接著偶想到了上傳CMD.EXE,但是windows 2003的上傳 在默認時是有限制的,不能大於200K,於是我上傳了經典的Serv-U本地溢出程序,使用在windows 2000下沒有禁用WSCRIPT時的無敵調用提權大法。
其實就是在調用CMD的地方寫上本地溢出程序的路徑及參數,一般在沒有禁止WSCRIPT組件時,此法的成功率很高。但是結果依然是“禁止訪問”,看來windows 2003在默認情況下,安全性比windows 2000默認時要強許多。失望之余,想到干脆去首頁掛個馬吧,最近正在玩PcShare,嘿嘿。跑到首頁,加入偶的木馬代碼,點保存,“沒有權限”,偶倒!太BT了吧?連修改首頁的權限都沒?管理員一定是把IIS用戶降低到了GUEST組,或者給IIS目錄單獨設置了一個GUEST組的用戶,並去掉了修改文件的權限。上帝太不公平了,怎麼說都是偶辛辛苦苦搞來的Shell啊,現在一點用都沒有!
沒辦法,看看服務器裡有啥好東西吧。翻來翻去,忽然眼前一亮:在某個目錄裡發現了congif.aspx文件。寫到這裡各位以為偶是要使用SA賬號,通過SQLROOTKIT執行系統命令吧?錯,偶看過了,賬號不是SA權限的,是PU權限,什麼都不能做,而且也不屬於本文的介紹范圍。偶注意的“ASPX”這個後綴,在默認安裝情況下,IIS 6.0是支持.net的,也就是ASPX文件,但是在IIS 6.0裡,ASP和ASPX兩個擴展使用的卻是2個不同的用戶角色,ASP使用的是IUSER用戶,管理員一般都比較注意這個賬號,害怕被提升權限,所以把權限都降低到了GUEST,所以在ASP的WebShell裡什麼也不能做了。但是網管往往忽略了ASPX!由於.net使用的系統賬號是ASPNET,而在默認情況下,這個賬號是屬於USER組的,這樣我們上傳一個.NET的後門上去,會以USER組的用戶ASPNET執行命令,權限會有很大的提高,就可以提權了!
說做就做,立即上傳了一個ASPX的後門上去,打開CMD模塊執行NET USER。
哇哈哈,果然不出偶所料,終於可以執行CMD了!來看看權限,輸入“net localgroup guests”。
看到了吧?剛才我們在AspWebShell中使用的賬號是IUSER_WEBSITE,屬於GUESTS組,難怪什麼權限都沒有呢。再來看一下USERS組。
ASPNET就是現在我們的AspxShell使用的賬號,權限是USERS,比Guest大好多,嘿嘿!
其實這並不算是什麼漏洞,只是由於管理員粗心大意造成的隱患而已。算是提升權限的一個思路吧。如果管理員把ASPNET也降低權限,或者刪除ASPX這個擴展,本文的方法就不管用了,不過這樣的管理員到目前我還沒遇到過。總之,整體安全才是最重要的。不要放過每一個細節。
有了實例是不是能看得更懂些了,總之如果想提升權限這些細節是一定要把握的,當然不是要求每個人都做到,只要你有興趣你就可以去做。