今天我們將探討被稱為資安「隱形特務」的特洛伊木馬、後門,以及它們賴以生存的命令與控制(Command and Control, C2)架構。
在日常討論中這兩者常被合稱為「木馬後門」,但在惡意程式分析中,它們扮演著不同的角色:
特洛伊木馬:欺騙與偽裝。它本身不具備像蠕蟲(Worm)那樣自我複製擴散的能力,而是將惡意偽裝成看起來無害、合法的軟體(例如:破解軟體、PDF 檔案、軟體更新檔),目的在於誘騙使用者主動點擊執行,進而繞過使用者的戒心與端點防護。
後門:隱蔽通行與繞過認證。 它是留在受害系統中的一個通道或程式碼片段,允許攻擊者繞過正常的身份驗證,隨時重新遠端存取該主機,目的在於執行任意指令、竊取資料、監控螢幕或鍵盤輸入
攻擊者為了讓受害者主動開啟木馬程式,使用了多種技巧:
攻擊者將一個真實合法的軟體與惡意腳本捆綁在一起。當使用者執行時,合法軟體正常開啟,但在使用者完全沒有察覺的情狀下,背景同時執行後門程式。
當木馬成功在受害主機執行後門後,第一件事就是「打電話回家(Call Home)」,這就是 C2 連線。C2 伺服器是攻擊者控制整個殭屍網路或受害主機的核心大腦。C2連線會偽裝成正常的網路流量,經過加密包裝在標準的 HTTP GET/POST 請求中,看起來像一般的網頁瀏覽流量。利用大型CDN的特性,將HTTP Header中的Host 設定為惡意網域,TLS SNI卻填寫CDN託管的合法大公司網域,讓安全檢測設備誤以為請求是發往合法網站。
傳統C2使用固定IP或單一網域,一旦被資安團隊標記,封鎖IP攻擊後就失效了。現代木馬採用以下彈性機制:
動態網域生成演算法(Domain Generation Algorithm,DGA):
木馬內部內建一段演算法,每天以「當天的日期」作為種子,動態生成數百個看似亂碼的網域,攻擊者只需要註冊其中一個當天會生成的網域,木馬就能成功入侵。資安人員即使封鎖了今天的網域,明天木馬又會自動切換到全新的網域。
Dead Drop Resolvers(死信箱轉發):
攻擊者將最新的C2伺服器 IP 加密後,發表在公開的社群媒體上,隨後,木馬啟動後先去抓取這些公開網頁,解密出 IP 後再發起連線,藉此繞過網域黑名單。
防禦木馬與 C2 不能只靠單點防護,需要結合端點與網路層面的縱深防禦: