w32.bacalid (巴克雷) / PE_VBAC.A-O

由 blue 於 週二, 09/12/2006 - 00:03 發表
::

[2006/9/15] 更新
McAfee 發佈了單獨版的 stinger-bacalid 偵測工具,Symantec 也完成了 W32.Bacalid Removal Tool。測試後我個人認為 Symantec 的好用很多。

前幾天在某論壇欣賞 Panasonic L1 DSLR 的倩影,當下就覺得照片出現的速度相當緩慢,好不容易讀完該篇文章後,發現再也無法用瀏覽器上網了 (不管哪牌),但 ping hostname 卻還可以成功解析並回應,不過有注意到回應的畫面中都多了一個亂碼,系統也變得十分緩慢,應該是中毒了,由於非常不愛 Windows Update,所以也不能怪誰,BTW,當時用的防毒是 NOD32,不過相當的安靜。此時尚不知病毒名稱,我的習慣是自己手動解毒。

首先可以留意到的是工作管理員中多出了 3.exe 的程序,這個程式位於 %tmp% 中,同時並存在 VCab.DLL、111.dat、222.dat、333.dat,其中 3.exe 可以終止程序後刪除,其他的則尚找不到,因而被鎖定而無法刪除,不過可以改名,然後建立一個同名空檔,這隻病毒這方面考量的不夠周詳,完全拿已存在(任何屬性)的檔案沒轍。我一開始太早做了這個動作,結果他會透過 windows API,幾乎執行每個動作都會載入 VCab.DLL 一次,而產生錯誤訊息,影響後面的分析,後來我只好又先換回中毒的版本。

關於網路連線的部份,基於前述狀況,應該是 winsock 的問題,於是用 LSPFIX 的工具 (有很多,我習慣用這個),找到多了一個 mssbupx.dll,將他移除就可正常連線,mssbupx.dll 也可在病毒清除後刪除。不過如果整個病毒尚未清除,過一會他又會出現。

觀察 registry 中的各個啟動區域,相當另我訝異的是,一切都很正常,但試著重開發現病毒仍然被載入了,十分不合理。重開後並自動開啟 desktop.ini,其中多了一行 LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21787,這個部份可以手動刪除,偷懶一點也可以直接刪掉 desktop.ini (只是會影響一些資料夾顯示的名稱),被修改的數量很多,桌面、啟動 .... 總知 Documents and Settings 下面好多個目錄都有,而且是 All users 和 username 都有,也因此如果你用刪除的會發現要刪兩次。不過到底 shell32.dll,-21787 代表什麼我還是不清楚,網路上也沒找到更詳細的資訊,多數只有解決方法,且看起來是一兩年前就開始有這個問題了 (代表並非只有這個病毒引起),微軟也有一篇相關說明,雖然完全沒提到病毒的事,不過更新版本的日期難免不令人產生聯想。

以上其實都算衍生物,玩了很久,尚未發現病毒的本體,就打開之前介紹過的 Sophos Anti-Rootkit,果然是採用 rookit 的方式,不但檔案本身和 Registry 是隱藏的,執行的 process 也是隱藏的,主要開機時載入的病毒檔為 C:\program Files\Internet Explorer\svhost32.exe,另外還有藏了 C:\windows\system32\mxdll.dll,雖然看不到 (與檔案屬性無關,是因為 MFT 沒記載)不過如果試著在該處建立同名檔案則會錯誤,Sophos Anti-Rootkit 會依要求在重開機後將檔案刪除,此時亦可看到 registry 中的相關資訊了,整個清除程序也告一段落。

bacalid 屬於多型(polymorphic)病毒 (但我尚未確認是否每次感染的內容會異動),會感染執行檔,這其實在現在並不多見,較符合 virus 的特性而非 worm (在感染中我有開啟 sniffer 觀察,並沒有試圖大量連線的情況),也因此趨勢將他以 PE 開頭命名為 PE_VBAC.A-O。在確定記憶體中沒有病毒之後,建議還要全系統掃描一次,確保其他的執行檔沒有感染,包括上述提到的各種工具本身。

部份廠商也將其稱為模組化病毒,因為他具有部份更新能力 (也因此上述的過程不見得完全適用於所有版本),且會從網路下載其他的惡意程式,例如我在上述過程中,其實還同時被下了 Trojan.PSW.Gamania (版本忘了),導致我的整個手動解毒過程加倍痛苦,針對 Gamania 我觀察到的部份有:
每個 windows 資料夾都出現病毒的 iexplorer.exe
系統服務中多了一個 directx service
\windows\system32 多了一個檔名為 . 的檔案,讓大多數工具都無法處理