The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何查出目錄中有哪些「詭異」的檔案 ( 系統、隱藏、唯讀 )

當一台伺服器被植入木馬過後,不只系統管理者會開始緊張,對於主機的一些奇奇怪怪的檔案也會開始特別敏感。木馬程式經常會對程式檔案加上一些特殊的屬性,例如:系統檔案屬性(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"

建議每天或每週定時執行這個指令用以進行例行性的系統安全查核,即便這樣不見得可以真正查出有問題的檔案或程式,但至少也能找出一些看起來有風險的檔案,防止再次遭受木馬侵襲。

相關連結