廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 1851 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
upside 手機 葫蘆墩家族
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章
頭銜:反病毒 反詐騙 反虐犬   反病毒 反詐騙 反虐犬  
版主
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[病毒蠕蟲] ASP木馬Webshell安全防範解決辦法
ASP木馬Webshell安全防範解決辦法

注意:本文所講述之設置方法與環境:適用於Microsoft Windows 2000 Server/Win2003 SERVER   IIS5.0/IIS6.0
  
  1、首先我們來看看一般ASP木馬、Webshell所利用的ASP組件有那些?我們以海洋木馬為列:
  
  <object runat="server" id="ws" scope="page" classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8">
  
  </object>
  
  <object runat="server" id="ws" scope="page" classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B">
  
  </object>
  
  <object runat="server" id="net" scope="page" classid="clsid:093FF999-1EA0-4079-9525-9614C3504B74">
  
  </object>
  
  <object runat="server" id="net" scope="page" classid="clsid:F935DC26-1CF0-11D0-ADB9-00C04FD58A0B">
  
  </object>
  
  <object runat="server" id="fso" scope="page" classid="clsid:0D43FE01-F093-11CF-8940-00A0C9054228">
  
  </object>
  
  shellStr="Shell"
  
  applicationStr="Application"
  
  if cmdPath="wscriptShell"
  
  set sa=server.createObject(shellStr&"."&applicationStr)
  
  set streamT=server.createObject("adodb.stream")
  
  set domainObject = GetObject("WinNT://.")
  
  以上是海洋中的相關代碼,從上面的代碼我們不難看出一般ASP木馬、Webshell主要利用了以下幾類ASP組件:
  
   WScript.Shell (classid:72C24DD5-D70A-438B-8A42-98424B88AFB8)
  
   WScript.Shell.1 (classid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)
  
   WScript.Network (classid:093FF999-1EA0-4079-9525-9614C3504B74)
  
   WScript.Network.1 (classid:093FF999-1EA0-4079-9525-9614C3504B74)
  
   FileSystem Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)
  
   Adodb.stream (classid:{00000566-0000-0010-8000-00AA006D2EA4})
  
   Shell.applicaiton....
  
  hehe,這下我們清楚了危害我們WEB SERVER IIS的最罪魁禍首是誰了!!開始操刀,come on...
  
  2、解決辦法:
  
   刪除或更名以下危險的ASP組件:
  
  WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、Shell.application
  
  開始------->運行--------->Regedit,打開註冊表編輯器,按Ctrl+F搜尋,依次輸入以上Wscript.Shell等組件名稱以及相應的ClassID,然後進行刪除或者更改名稱(這裡建議大家更名,如果有部分網頁ASP程式利用了上面的組件的話呢,只需在將寫ASP代碼的時候用我們更改後的組件名稱即可正常使用。當然如果你確信你的ASP程式中沒有用到以上組件,還是直
  
  接刪除心中踏實一些^_^,按常規一般來說是不會做到以上這些組件的。刪除或更名後,iisreset重啟IIS後即可升效。)
  
  [注意:由於Adodb.Stream這個組件有很多網頁中將用到,所以如果你的伺服器是開虛擬主機的話,建議酢情處理。]
  
   關於 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常說的FSO的安全問題,如果您的伺服器必需要用到FSO的話,(部分虛擬主機伺服器一般需開FSO功能)可以參照本人的另一篇關於FSO安全解決辦法的文章:Microsoft Windows 2000 Server FSO 安全隱患解決辦法。如果您確信不要用到的話,可以直接反註冊此組件即可。
  
   直接反註冊、卸載這些危險組件的方法:(實用於不想用及類此類煩瑣的方法)
  
  卸載wscript.shell對象,在cmd下或直接運行:regsvr32 /u %windir%\system32\WSHom.Ocx
  
  卸載FSO對象,在cmd下或直接運行:regsvr32.exe /u %windir%\system32\scrrun.dll
  
  卸載stream對象,在cmd下或直接運行: regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"
  
  如果想恢復的話只需要去掉 /U 即可重新再註冊以上相關ASP組件例如:regsvr32.exe %windir%\system32\scrrun.dll
  
   關於Webshell中利用set domainObject = GetObject("WinNT://.")來獲取伺服器的進程、服務以及用戶等資訊的防範,大家可以將服務中的Workstation[提供網路鏈結和通訊]即Lanmanworkstation服務停止並禁用即可。此處理後,Webshell顯示進程處將為空白。
  
  3、按照上1、2方法對ASP類危險組件進行處理後,用阿江的asp探針測試了一下,"伺服器CPU詳情"和"伺服器作業系統"根本查不到,內容為空白的。再用海洋測試Wsript.Shell來運行cmd命令也是提示Active無法創建對像。大家就都可以再也不要為ASP木馬危害到伺服器系統的安全而擔擾了。
  
  當然伺服器安全遠遠不至這些,這裡為大家介紹的僅僅是本人在處理ASP木馬、Webshell上的一些心得體會。在下一篇中將為大家介紹如何簡簡單單的防止別人在伺服器上執行如net user之類的命令,防溢出類攻擊得到cmdshell,以及執行添加用戶、改NTFS設置許可權到終端登錄等等的最簡單有效的防範方法。



爸爸 你一路好走
獻花 x0 回到頂端 [樓 主] From:臺灣和信超媒體寬帶網 | Posted:2006-12-06 03:12 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.054400 second(s),query:15 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言