去年,資訊安全廠商接獲一連關於「Nitro Attack」 此 APT-進階持續性滲透攻擊 (Advanced Persistent Threat, APT)通報。它所採用的後門程式為 PoisonIvy,亦稱 BKDR_POISON。網路上可以找到此後門程式的產生器。當時,資訊安全場商已採取反制措施來協助客戶對抗這項威脅並防範未來類似的感染。但是,從最近發現的一些匿蹤機制來看,對抗該惡意程式的戰鬥尚未結束。
當趨勢科技第一次分析這個惡意下載程式時,原本以為它沒有什麼驚人之處。它是一個由 Visual Basic 編譯出來的執行檔案,所做的事情不過就是透過 HTTP GET 來開啟某個 HTML 網頁。

當趨勢科技透過瀏覽器連上該網頁時,表面上看起來也是一個無害的網頁,但是經過詳細解碼之後裡面卻大有文章。
如同微軟所指出,此惡意下載程式有別於其他程式。它不會下載二進位檔案來執行,但它會執行已下載檔案當中看似無害的一些代碼。要達成此目的,惡意程式會將文字內容轉成可執行的程式碼,然後呼叫 DllFunctionCall 來執行。
而它所執行的程式碼其實就是 BKDR_POISON 惡意程式家族的變種,此惡意程式家族涉及了去年多起鎖定特定目標攻擊。
BKDR_POISON 背景簡介
BKDR_POISON 惡意程式家族亦稱為 PoisonIvy (毒藤),已經在網路上肆瘧多年。原因是它的產生器很容易使用,而且可從其網站免費下載。其自動啟用機制以及 mutex 和惡意檔案名稱皆可透過產生器輕易設定,因此,每一個產生出來的樣本,其行為可能不盡相同。
BKDR_POISON 的後門程式功能包括:鍵盤側錄、聲音/影像側錄、畫面擷取、處理程序和服務管理,檔案存取或上傳、以及其他等等。簡而言之,它基本上可讓其使用者完全存取受感染的系統。
此外,BKDR_POISON 也很容易整合至其他惡意程式,因為其後門程式產生器也提供了選項讓使用者產生一段 shellcode 攻擊程式碼,而非完整的執行檔。
在前述的 Nitro Attack 惡意下載程式案例中,一旦它執行了 BKDR_POISON 的 shellcode,就能因而繼承其後門程式特性。
由於 shellcode 不像獨立的二進位執行檔可單獨偵測並分析,它必須和繼承其特性的執行檔一併分析才看得出端倪。因此,資訊安全研究人員若沒有拿到配對的 shellcode 和執行檔 (例如,執行檔經過加密或隱藏),那麼很可能就不會偵測到 shellcode。