防範WEB SHELL(整理文)
做了1年時間的虛拟主機管理者,大概對NT下的WEB SHELL的防範也有一定的了解。現在通過整理一些高手的文章來說說如何防範WEBSHELL。常見的WEBSHELL也就是ASP,PHP,PERL,這些腳本寫成的。市面上比較流行的WEBSHELL也就是海陽頂端網asp木馬2005、桂林老兵的ASP站長助手(不知道算不算WEBSHELL,呵呵)、藍屏ASP木馬(好象有點過時了)、安全天使的phpspy2005、咖啡的PHP檔案管理器1.6、cmd.cgi(PERL的我不熟悉,隻知道這個)。本文的目的也就是要防範這些WEBSHELL。 防範這些WEBSHELL,首先是設定伺服器的權限,禁止他們越權通路東西。伺服器權限設定可以參考沉睡不醒整理的IIS FAQ 9.如何讓iis的最小ntfs權限運作? 依次做下面的工作: a.選取整個硬碟: system:完全控制 administrator:完全控制 (允許将來自父系的可繼承性權限傳播給對象) b.\program files\common files: everyone:讀取及運作 列出檔案目錄 讀取 c.\inetpub\wwwroot: iusr_machinename:讀取及運作 e.\winnt\system32: 選擇除inetsrv和centsrv以外的所有目錄, 去除“允許将來自父系的可繼承性權限傳播給對象”選框,複制。 f.\winnt: 選擇除了downloaded program files、help、iis temporary compressed files、 offline web pages、system32、tasks、temp、web以外的所有目錄 去除“允許将來自父系的可繼承性權限傳播給對象”選框,複制。 g.\winnt: (允許将來自父系的可繼承性權限傳播給對象) h.\winnt\temp:(允許通路資料庫并顯示在asp頁面上) everyone:修改 再單獨對cmd.exe net.exe net1.exe ping.exe netstat.exe ftp.exe tftp.exe telnet.exe設定為隻允許administrators組通路,這樣就可以防範通過Serv-U的本地提升權限漏洞來運作這些關鍵的程式了,再删除cacls.exe這個程式,防止有人通過指令行來修改權限,呵呵。 再來去掉一些ASP WEBSHELL需要使用的一些元件,這些元件其實普通的虛拟主機使用者也是用不上的。 很多防範ASP木馬的文章都提到要删除FileSystemObject元件,但删除了這個元件後,很多ASP的程式可能會運作不了,其實隻要做好了前面的工作,FileSystemObject元件能操作的,隻能是自己目錄下的檔案,也就構成不了什麼威脅了! 現在看來,還比較有威脅的元件就是Shell.Application和Wscript.Shell這兩個元件了,Shell.Application可以對檔案進行一些操作,還可以執行程式,但不能帶參數,而Wscript.Shell可以操作系統資料庫和執行DOS指令。 防範Wscript.Shell元件的方法: 可以通過修改系統資料庫,将此元件改名。 HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\ 改名為其它的名字,如:改為WScript.Shell_ChangeName或WScript.Shell.1_ChangeName自己以後調用的時候使用這個就可以正常調用此元件了 也要将clsid值也改一下 HKEY_CLASSES_ROOT\WScript.Shell\CLSID\項目的值 HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\項目的值 也可以将其删除,來防止此類木馬的危害。 防範Shell.Application元件的方法: HKEY_CLASSES_ROOT\Shell.Application\ 及 HKEY_CLASSES_ROOT\Shell.Application.1\ 改名為其它的名字,如:改為Shell.Application_ChangeName或Shell.Application.1_ChangeName 自己以後調用的時候使用這個就可以正常調用此元件了。 HKEY_CLASSES_ROOT\Shell.Application\CLSID\項目的值 附參考文《建構免受 Fso 威脅虛拟主機》 作者:稻香居士 現在絕大多數的虛拟主機都禁用了 ASP 的标準元件:FileSystemObject,因為這個元件為 ASP 提供了強大的檔案系統通路能力,可以對伺服器硬碟上的任何檔案進行讀、寫、複制、删除、改名等操作(當然,這是指在使用預設設定的 Windows NT / 2000 下才能做到)。但是禁止此元件後,引起的後果就是所有利用這個元件的 ASP 将無法運作,無法滿足客戶的需求。 如何既允許 FileSystemObject 元件,又不影響伺服器的安全性(即:不同虛拟主機使用者之間不能使用該元件讀寫别人的檔案)呢?這裡介紹本人在實驗中獲得的一種方法,下文以 Windows 2000 Server 為例來說明。 在伺服器上打開資料總管,用滑鼠右鍵點選各個硬碟分區或卷的盤符,在彈出菜單中選擇“屬性”,選擇“安全”頁籤,此時就可以看到有哪些帳号可以通路這個分區(卷)及通路權限。預設安裝後,出現的是“Everyone”具有完全控制的權限。點“添加”,将“Administrators”、“Backup Operators”、“Power Users”、“Users”等幾個組添加進去,并給予“完全控制”或相應的權限,注意,不要給“Guests”組、“IUSR_機器名”這幾個帳号任何權限。然後将“Everyone”組從清單中删除,這樣,就隻有授權的組和使用者才能通路此硬碟分區了,而 ASP 執行時,是以“IUSR_機器名”的身份通路硬碟的,這裡沒給該使用者帳号權限,ASP 也就不能讀寫硬碟上的檔案了。 下面要做的就是給每個虛拟主機使用者設定一個單獨的使用者帳号,然後再給每個帳号配置設定一個允許其完全控制的目錄。 如下圖所示,打開“計算機管理”→“本地使用者群組”→“使用者”,在右欄中點選滑鼠右鍵,在彈出的菜單中選擇“新使用者”: 現在建立立的使用者已經出現在帳号清單中了,在清單中輕按兩下該帳号,以便進一步進行設定: 在彈出的“IUSR_VHOST1”(即剛才建立的新帳号)屬性對話框中點“隸屬于”頁籤: 剛建立的帳号預設是屬于“Users”組,選中該組,點“删除”: 現在出現的是如下圖所示,此時再點“添加”: 在彈出的“選擇 組”對話框中找到“Guests”,點“添加”,此組就會出現在下方的文本框中,然後點“确定”: 出現的就是如下圖所示的内容,點“确定”關閉此對話框: 打開“Internet 資訊服務”,開始對虛拟主機進行設定,本例中的以對“第一虛拟主機”設定為例進行說明,右擊該主機名,在彈出的菜單中選擇“屬性”: 彈出一個“第一虛拟主機 屬性”的對話框,從對話框中可以看到該虛拟主機使用者的使用的是“F:\VHOST1”這個檔案夾: 暫時先不管剛才的“第一虛拟主機 屬性”對話框,切換到“資料總管”,找到“F:\VHOST1”這個檔案夾,右擊,選“屬性”→“安全”頁籤,此時可以看到該檔案夾的預設安全設定是“Everyone”完全控制(視不同情況顯示的内容不完全一樣),首先将最将下的“允許将來自父系的可繼承權限傳播給該對象”前面的對号去掉: 此時會彈出如下圖所示的“安全”警告,點“删除”: 此時安全頁籤中的所有組和使用者都将被清空(如果沒有清空,請使用“删除”将其清空),然後點“添加”按鈕。 将如圖中所示的“Administrator”及在前面所建立的新帳号“IUSR_VHOST1”添加進來,将給予完全控制的權限,還可以根據實際需要添加其他組或使用者,但一定不要将“Guests”組、“IUSR_機器名”這些匿名通路的帳号添加上去! 再切換到前面打開的“第一虛拟主機 屬性”的對話框,打開“目錄安全性”頁籤,點匿名通路和驗證控制的“編輯”: 在彈出的“驗證方法”對方框(如下圖所示),點“編輯”: 彈出了“匿名使用者帳号”,預設的就是“IUSR_機器名”,點“浏覽”: 在“選擇 使用者”對話框中找到前面建立的新帳号“IUSR_VHOST1”,輕按兩下: 此時匿名使用者名就改過來了,在密碼框中輸入前面建立時,為該帳号設定的密碼: 再确定一遍密碼: OK,完成了,點确定關閉這些對話框。 經此設定後,“第一虛拟主機”的使用者,使用 ASP 的 FileSystemObject 元件也隻能通路自己的目錄:F:\VHOST1 下的内容,當試圖通路其他内容時,會出現諸如“沒有權限”、“硬碟未準備好”、“500 伺服器内部錯誤”等出錯提示了。 另:如果該使用者需要讀取硬碟的分區容量及硬碟的序列号,那這樣的設定将使其無法讀取。如果要允許其讀取這些和整個分區有關的内容,請右鍵點選該硬碟的分區(卷),選擇“屬性”→“安全”,将這個使用者的帳号添加到清單中,并至少給予“讀取”權限。由于該卷下的子目錄都已經設定為“禁止将來自父系的可繼承權限傳播給該對象”,是以不會影響下面的子目錄的權限設定。 附錄: 參考文章: 《建構免受 Fso 威脅虛拟主機》 [url]http://www.chinesehack.org/file/hkart/show.asp?id=7371[/url] IIS FAQ [url]http://www.chinesehack.org/file/hkart/show.asp?id=7370[/url] 如何防止ASP木馬在伺服器上運作 [url]http://www.chinesehack.org/file/hkart/show.asp?id=7372[/url] windows2000虛拟主機基本權限設定不完全版本 [url]http://www.chinesehack.org/file/hkart/show.asp?id=7373[/url] 後記廢話: 頭一次整理文章,弄的暈暈的,好象很亂,将就看看吧-_-! By Blackfox QQ:6858849 2/17/2005 10:16:31 PM 本文轉自loveme2351CTO部落格,原文連結:http://blog.51cto.com/loveme23/8222,如需轉載請自行聯系原作者