當一台伺服器被植入木馬過後,不只系統管理者會開始緊張,對於主機的一些奇奇怪怪的檔案也會開始特別敏感。木馬程式經常會對程式檔案加上一些特殊的屬性,例如:系統檔案屬性(System file attribute)、隱藏檔案屬性(Hidden file attribute)與唯讀檔案屬性(Read-only file attribute)等。
在 Windows 作業系統中,預設並不會顯示設有「隱藏檔案屬性」的檔案,除非你開啟下圖標示 1 的選項才看的到。但就算你開了這個選項,若檔案被設定「系統檔案屬性」的話,你也一樣看不到,除非你將下圖標示 2 的地方勾選拿掉才看的到,但一般來說不會特別關閉這個選項。
設定了這些屬性可以有效隱匿檔案的存在,甚至於可以把檔案標記「唯讀檔案屬性」讓檔案沒那麼輕易被刪除,以真正達到「木馬」的功效。
在一般網站目錄下,照常理來說若出現有標記「系統檔案屬性」的檔案,那就應該要高度懷疑為什麼有這些檔案存在了,這時我們就可以利用 Windows 的命令提示字元內建的 attrib 指令,可顯示與變更檔案屬性,用法如下:
C:\>attrib /?
顯示或變更檔案屬性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:][path][filename]
[/S [/D]]
+ 設定屬性。
- 清除屬性。
R 唯讀檔案屬性。
A 保存檔案屬性。
S 系統檔案屬性。
H 隱藏檔案屬性。[drive:][path][filename]
指定一個或一個以上的檔案給 attrib 處理。
/S 處理目前的資料夾及所有子資料夾中相
符的檔案。
/D 一併處理資料夾。
假設我們的網站安裝在 C:\Inetpub\wwwroot 目錄下,就可以用以下指令查出所有檔案的屬性:
C:\>attrib /s /d c:\Inetpub\wwwroot\*
A C:\Inetpub\wwwroot\css\style.css
A SHR C:\Inetpub\wwwroot\scripts\backdoor.aspx
A C:\Inetpub\wwwroot\scripts\jquery-1.2.6-min.js
C:\Inetpub\wwwroot\css
A C:\Inetpub\wwwroot\index.htm
C:\Inetpub\wwwroot\scripts
從上例可知,有個檔案叫做 backdoor.aspx 同時被標記了 S (系統), H (隱藏) 與 R (唯讀) 屬性,若看到這些「詭異」的檔案,請務必小心。
如果我只要顯示出所有被標記「系統檔案屬性」的檔案,就必須搭配 Findstr 指令進行篩選,預設來說 Findstr 指令支援 Regular expression ( 正則表達式 ),所以你可以用以下指令進行篩選:
1. 找出所有含有 系統檔案屬性 (S) 的檔案
attrib /d /s C:\Inetpub\wwwroot\* | findstr "^...S"
2. 找出所有含有 隱藏檔案屬性 (H) 的檔案
attrib /d /s C:\Inetpub\wwwroot\* | findstr "^....H"
3. 找出所有含有 唯讀檔案屬性 (R) 的檔案
attrib /d /s C:\Inetpub\wwwroot\* | findstr "^.....R"
4. 找出所有同時含有 系統檔案屬性 (S) , 隱藏檔案屬性 (H) 與 唯讀檔案屬性 (R) 的檔案 (最詭異的檔案)
attrib /d /s C:\Inetpub\wwwroot\* | findstr "^...SHR"
建議每天或每週定時執行這個指令用以進行例行性的系統安全查核,即便這樣不見得可以真正查出有問題的檔案或程式,但至少也能找出一些看起來有風險的檔案,防止再次遭受木馬侵襲。
相關連結