2013/11/23

案例: Keyspy Keylogger (Continued)

接續上次的鍵盤側錄事件。

上星期將病毒刪除之後,我本來比較偏向認為是某個不知情的可憐受害者,在不知道自己隨身碟中毒的狀況下不小心把病毒傳到系館電腦。

但是星期五下午上課時,我發現這次事件的規模比想像中還要大。

其實整個電腦教室的電腦,不管是由中央伺服器 C204-SERVER1、C204-SERVER2、C204-SERVER3 控管的電腦、還是兩側的大約 10 台獨立電腦,全部都有問題,感染的病毒和上星期我發現的一模一樣,大家之前打過的東西全都錄,開始時間最早來到 2012 年 4 月。

除此之外,上星期已經被我刪除病毒的那台電腦,又再次被植入側錄程式了。這次的方法非常粗糙,開始 > 所有程式 > 啟動 (位置在 C:\Users\...\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup) 下有一個 Start.exe,沒有數位簽章、沒有任何介面、沒有詳細資料,種種跡象指出這個東西嫌疑非常大。用 WinHex 打開可以看到 "Key Logger Class" 之類的字串,根本測都不用測就可以確定又是一支側錄程式。但是和上次不同的是,根據搜尋結果這支是一個 GPL 3.0 開放源碼 (Open Source) 的側錄程式,而且是某人自己用 MinGW GCC 編譯的。但是嫌犯忘記一件事,這支側錄程式會嘗試把紀錄檔 KLUpdate.bin 以隱藏屬性放置在 C:\Program Files 下,但是因為電腦的使用者權限不夠而無法寫入,側錄程式就當在那不動。

以這種狀況研判,肯定是有個無聊的人利用系館電腦裸奔的弱點,植入病毒竊取別人的帳號密碼,至於是純粹惡作劇還是另有目的就只有真正抓到嫌犯之後才會知道。

有鑑於這次事件的規模,我已經知會負責的系統工程師,目前有問題的 C204-SERVER1、C204-SERVER2、C204-SERVER3 已經離線進行重灌,而獨立電腦也有待處理。雖然如此,我覺得類似狀況還會再次發生,因為那幾台伺服器和獨立電腦都能夠連外,而且都裸奔不裝防毒、也從來沒裝過 Windows 更新,安全上完全只靠限制使用者權限可能稍嫌不足。但是站在系統工程師的角度想,因為很多系上課程、學生作業...... 等等都會用到這裡的電腦,維持電腦正常、持續的運作是他的工作要務,安裝防毒、安裝 Windows 更新之後可能會有意想不到的東西出錯,防毒誤判、影響效能、軟體衝突...... 等等各種鳥事發生,因此在佈署軟體之前都需要測試,而且佈署之前還要備份,發現問題時才能馬上還原。電腦問題發生時,通常使用者第一件事只知道幹譙系統工程師,因此與其忙個半死確保軟體都保持在最新、卻要冒著東西出錯被幹譙的風險,系統工程師大概會覺得乾脆什麼都不做比較保險,這我非常可以體會,因為我有一個曾經靠這行吃飯的爸爸。

看來以後用我自己的筆電就好了,至少我非常清楚自己電腦的安全。

繼續閱讀......

2013/11/15

案例: Keyspy Keylogger

我今天在系館的電腦教室用電腦的時候,本來想說拿投影片出來複習下午報告要講的東西,結果隨身碟一插我馬上就察覺異狀。

這間電腦教室的電腦有兩種,一種是連到機房由中央控管的、另一種是有獨立主機的,其中只有獨立主機的電腦可以插隨身碟和影印東西。

發生什麼異狀? 我的隨身碟裡多了一個東西: "System Volume Information"。其實在正常狀況下,這個擁有系統 (S)、隱藏 (H) 屬性的資料夾是由 Windows 的系統還原自動產生,但是現在產生在我隨身碟裡的這個東西可不是資料夾......,而是一個執行檔,而且將它刪除後,過幾秒就會自動重生,當下我就可以確定那台電腦中標了。

因為那台電腦的帳號權限不是系統管理員,很多可以產生紀錄檔用來分析的解毒工具 (ComboFix、DDS、HijackThis......) 都不能用,所以當時只好先試試 Sysinternals 的 Process Explorer 進行檢查,沒想到這麼容易就發現問題所在。注意下圖中的紅色框部分,那是一個假冒的 svchost.exe,這應該非常容易判斷。


我前往那個檔案的位置,發現這是一支 Keylogger (鍵盤側錄程式)。下圖中我開了一個記事本,在裡面打了一些字之後存檔,這些動作全部都被這支 Keylogger 記錄下來。我只能說,受到影響的人非常多,因為這支 Keylogger 側錄到的東西全部都會以純文字檔儲存在旁邊的資料夾裡,而我看到最早的時間點可以回溯到 2012 年 6 月 (!)。


我已經將病毒刪除了,所以目前那台電腦是安全的,但是電腦教室裡的其他電腦是不是有類似狀況就不得而知,我哪來這麼閒只是想用個電腦還要幫系統管理員免費解毒喔。因為我有備份這支病毒的主程式,以下是我無聊用自己的電腦測試它的行為 (括弧中是行為解釋)。

"svchost.exe 正在嘗試修改受保護的檔案或資料夾"
(這支病毒嘗試將自己複製到 C:\Users\...\Documents\Important\svchost.exe)


"svchost.exe 正在嘗試修改受保護的檔案或資料夾"
(這支病毒嘗試將 C:\Users\...\Documents\Important 這個資料夾設為隱藏屬性)


"svchost.exe 正在嘗試執行 svchost.exe"
(這支病毒嘗試執行它剛剛複製好的分身)


"svchost.exe 正在嘗試修改受保護的註冊值"
(這支病毒嘗試在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 中加入註冊值,使其能夠自動啟動)


"svchost.exe 正在嘗試安裝 Global Hook"
(這支病毒嘗試為自己安裝 Global Hook,使其能夠攔截視窗訊息、滑鼠、鍵盤等動作)


"svchost.exe 正在嘗試修改受保護的檔案或資料夾"
(這支病毒嘗試將側錄到的資訊儲存到純文字檔 C:\Users\...\Documents\Important\log.txt)


相較於很多其他精密、行為複雜、甚至會利用零時差漏洞的病毒而言,這支病毒的行為非常簡單。目前我沒有測出這支病毒有連網行為,它純粹只會把側錄結果儲存起來而已,若有隨身碟插入則它會嘗試感染。我用 WinHex 打開這支病毒,可以發現有 "Keyspy" 這個字串,因此這支病毒很有可能是商用的鍵盤側錄程式產生的 (沒錯,的確有開發者會賣這種東西,Blackhole 都能夠賣了這根本小咖)。最後,這支病毒其實已經很舊了,Virus Total 顯示幾乎每家防毒公司都偵測得到,偏偏系館的電腦每台都是裸奔,呵呵。

重點是,這是某個不知情的同學不小心把病毒傳到系館的電腦,還是有人刻意種的?

繼續閱讀......