權限實例攻擊 權限將是你的最後一道防線!那我們現在就來對這台沒有經過任何權限設置,全部采用Windows默認權限的服務器進行一次模擬攻擊,看看其是否真的固若金湯。 假設服務器外網域名為http://www.webserver.com,用掃描軟件對其進行掃描後發現開放WWW和FTP服務,並發現其服務軟件使用的是IIS 5.0和Serv-u 5.1,用一些針對他們的溢出工具後發現無效,遂放棄直接遠程溢出的想法。 打開網站頁面,發現使用的是動網的論壇系統,於是在其域名後面加個/upfile.asp,發現有文件上傳漏洞,便抓包,把修改過的ASP木馬用NC提交,提示上傳成功,成功得到WEBSHELL,打開剛剛上傳的ASP木馬,發現有MS-SQL、Norton Antivirus和BlackICE在運行,判斷是防火牆上做了限制,把SQL服務端口屏蔽了。 通過ASP木馬查看到了Norton Antivirus和BlackICE的PID,又通過ASP木馬上傳了一個能殺掉進程的文件,運行後殺掉了Norton Antivirus和BlackICE。再掃描,發現1433端口開放了,到此,便有很多種途徑獲得管理員權限了,可以查看網站目錄下的conn.asp得到SQL的用戶名密碼,再登陸進SQL執行添加用戶,提管理員權限。也可以抓SERV-U下的ServUDaemon.ini修改後上傳,得到系統管理員權限。 還可以傳本地溢出SERV-U的工具直接添加用戶到Administrators等等。大家可以看到,一旦黑客找到了切入點,在沒有權限限制的情況下,黑客將一帆風順的取得管理員權限。 那我們現在就來看看Windows 2000的默認權限設置到底是怎樣的。對於各個卷的根目錄,默認給了Everyone組完全控制權。這意味著任何進入電腦的用戶將不受限制的在這些根目錄中為所欲為。 對於Winnt,Administrators擁有完全控制權;Creator owner擁有特殊權限;Power users有完全控制權;SYSTEM同Administrators;Users有讀&運,列和讀權限。而非系統卷下的所有目錄都將繼承其父目錄的權限,也就是Everyone組完全控制權! 現在大家知道為什麼我們剛剛在測試的時候能一帆風順的取得管理員權限了吧?權限設置的太低了!一個人在訪問網站的時候,將被自動賦予IUSR用戶,它是隸屬於Guest組的。本來權限不高,但是系統默認給的Everyone組完全控制權卻讓它“身價倍增”,到最後能得到Administrators了。 那麼,怎樣設置權限給這台WEB服務器才算是安全的呢?大家要牢記一句話:“最少的服務 最小的權限=最大的安全”對於服務,不必要的話一定不要裝,要知道服務的運行是SYSTEM級的哦,對於權限,本著夠用就好的原則分配就是了。 對於WEB服務器,就拿剛剛那台服務器來說,我是這樣設置權限的,大家可以參考一下:各個卷的根目錄、Documents and settings以及Program files,只給Administrator完全控制權,或者干脆直接把Program files給刪除掉;給系統卷的根目錄多加一個Everyone的讀、寫權;給e:\www目錄,也就是網站目錄讀、寫權。 最後,還要把cmd.exe這個文件給挖出來,只給Administrator完全控制權。經過這樣的設置後,再想通過我剛剛的方法入侵這台服務器就是不可能完成的任務了。可能這時候又有讀者會問:“為什麼要給系統卷的根目錄一個Everyone的讀、寫權? 網站中的ASP文件運行不需要運行權限嗎?”問的好,有深度。是這樣的,系統卷如果不給Everyone的讀、寫權的話,啟動計算機的時候,計算機會報錯,而且會提示虛擬內存不足。 當然這也有個前提----虛擬內存是分配在系統盤的,如果把虛擬內存分配在其他卷上,那你就要給那個卷Everyone的讀、寫權。ASP文件的運行方式是在服務器上執行,只把執行的結果傳回最終用戶的浏覽器,這沒錯,但ASP文件不是系統意義上的可執行文件,它是由WEB服務的提供者----IIS來解釋執行的,所以它的執行並不需要運行的權限。 深入了解權限背後的意義 經過上面的講解以後,你一定對權限有了一個初步了了解了吧?想更深入的了解權限,那麼權限的一些特性你就不能不知道了,權限是具有繼承性、累加性 、優先性、交叉性的。 繼承性是說下級的目錄在沒有經過重新設置之前,是擁有上一級目錄權限設置的。這裡還有一種情況要說明一下,在分區內復制目錄或文件的時候,復制過去的目錄和文件將擁有它現在所處位置的上一級目錄權限設置。但在分區內移動目錄或文件的時候,移動過去的目錄和文件將擁有它原先的權限設置。 累加是說如一個組GROUP1中有兩個用戶USER1、USER2,他們同時對某文件或目錄的訪問權限分別為“讀取”和“寫入”,那麼組GROUP1對該文件或目錄的訪問權限就為USER1和USER2的訪問權限之和,實際上是取其最大的那個,即“讀取” “寫入”=“寫入”。 又如一個用戶USER1同屬於組GROUP1和GROUP2,而GROUP1對某一文件或目錄的訪問權限為“只讀”型的,而GROUP2對這一文件或文件夾的訪問權限為“完全控制”型的,則用戶USER1對該文件或文件夾的訪問權限為兩個組權限累加所得,即:“只讀” “完全控制”=“完全控制”。 優先性,權限的這一特性又包含兩種子特性,其一是文件的訪問權限優先目錄的權限,也就是說文件權限可以越過目錄的權限,51自學網,不顧上一級文件夾的設置。另一特性就是“拒絕”權限優先其它權限,也就是說“拒絕”權限可以越過其它所有其它權限,一旦選擇了“拒絕”權限,則其它權限也就不能取任何作用,相當於沒有設置。 交叉性是指當同一文件夾在為某一用戶設置了共享權限的同時又為用戶設置了該文件夾的訪問權限,且所設權限不一致時,它的取捨原則是取兩個權限的交集,也即最嚴格、最小的那種權限。如目錄A為用戶USER1設置的共享權限為“只讀”,同時目錄A為用戶USER1設置的訪問權限為“完全控制”,那用戶USER1的最終訪問權限為“只讀”。 權限設置的問題我就說到這了,在最後我還想給各位讀者提醒一下,權限的設置必須在NTFS分區中才能實現的,FAT32是不支持權限設置的。同時還想給各位管理員們一些建議: 1.養成良好的習慣,給服務器硬盤分區的時候分類明確些,在不使用服務器的時候將服務器鎖定,經常更新各種補丁和升級殺毒軟件。
2.設置足夠強度的密碼,這是老生常談了,但總有管理員設置弱密碼甚至空密碼。 3.盡量不要把各種軟件安裝在默認的路徑下 4.在英文水平不是問題的情況下,盡量安裝英文版操作系統。 5.切忌在服務器上亂裝軟件或不必要的服務。 6.牢記:沒有永遠安全的系統,經常更新你的知識。