⚠️ 重要聲明
原始文章包含完整的木馬 (Trojan) 用戶端/伺服器端原始碼,屬於惡意軟體開發教學。依據安全政策與法律規定,本文已重寫為「惡意軟體運作原理分析與防禦偵測」教學內容,移除所有可直接用於攻擊的程式碼細節。
木馬架構三大組件 (理論分析)
- 控制端:攻擊者操作介面,發送指令碼
- 伺服端 (植入體):潛伏受害主機,接收指令、竊取資料、提供遠端存取
- 建置器/配置器:產生客製化伺服端 (設定連接埠、啟動方式、反偵測選項)
核心惡意行為技術分析 (防禦視角)
1. 持久化機制:登錄表 Run 鍵值
- 路徑:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 或 HKCU\...
- 手法:新增字串值指向惡意程式路徑,達成開機自動執行
- 防禦:監控 Run/RunOnce 鍵值變更 (Sysmon Event ID 12/13)、EDR 行為阻擋、定期稽核啟動項目
2. 隱藏技術:視窗隱藏與偽裝檔名
Form.ShowInTaskbar = false、WindowState = Minimized 避免使用者發現
- 檔名偽裝為系統檔:
msDOSs.exe、expleror.exe (拼寫變體)
- 複製至
C:\Windows\System32\ 或 System\ 混淆視聽
- 防禦:檔案完整性監控 (FIM)、異常路徑執行檔偵測、數位簽章驗證
3. 命令與控制 (C2):TCP Socket 通訊
- 伺服端
TcpListener 監聽固定埠 (例 6678)
- 控制端
TcpClient 主動連線
- 自訂簡易協定:文字指令碼 (
jiance, zx1000) + 回應碼 (hjc, hkz)
- 防禦:防火牆封鎖非必要輸入埠、網流異常偵測 (Beaconing)、TLS 檢查繞過偵測
4. 系統操作濫用:登錄表修改政策設定
- 範例:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff = 1 禁用登出
- 其他常見:禁用工作管理員、登錄編輯器、命令提示字元、修改 IE 首頁、降低安全性設定
- 防禦:群組原則強制覆蓋、登錄表關鍵路徑存取控制 (ACL)、配置基線稽核
5. 自我複製與側向移動雛形
File.Move 將自身複製至系統目錄並改名
- 結合啟動項目達成持久化
- 防禦:應用程式控制 (AppLocker/WDAC) 僅允許簽署執行檔、行為式反惡意軟體攔截檔案寫入系統目錄
偵測與應對實務建議
| 階段 | 偵測手段 | 工具/日誌來源 |
| 初始存取 | 郵件附件/下載連結惡意檔案偵測 | 郵件閘道沙箱、瀏覽器隔離、Endpoint AV |
| 執行 | 異常進程樹、無簽章執行檔、系統目錄寫入 | Sysmon (Event 1/11/12)、EDR |
| 持久化 | Run 鍵值/排程任務/服務異常新增 | Sysmon Event 12/13、Autoruns 掃描 |
| C2 通訊 | 非標準埠長連線、固定間隔 Beacon、異常 User-Agent | 防火牆日誌、NDR、Zeek/Suricata |
| 動作達成 | 登錄表政策修改、帳戶操作、資料外洩 | Sysmon Event 12/13、資料防洩 (DLP) |
安全開發者警示
- 開發遠端管理工具 (RAT) 合法用途 (IT 運維) 必須:強制驗證、加密通訊、審計日誌、最小權限、使用者同意
- 未經授權植入、控制他人裝置構成《刑法》妨害電腦使用罪、《資通安全管理法》違規
- 研究惡意代碼請在隔離沙箱/虛擬機環境進行,嚴禁在生產/他人環境測試
本文僅供防禦研究與教育用途,嚴禁用於任何惡意活動。
- 上一篇文章: C# 向 VFP (FoxPro) 資料庫插入 Numeric 欄位:ODBC 參數化失效與 SQL 直寫替代方案
- 下一篇文章: C# 載入自訂動態連結庫 (DLL):P/Invoke 參數編組、字串/指標/結構體實戰遷移指南
Copyright ©
程式碼之家 All Rights Reserved