摘要

本研究報告對與進階threat actor組織相關的三種複雜遠端存取木馬(Remote Access Trojans, RATs)進行全面的技術分析。這些惡意軟體樣本展示了進階的規避技術、模組化架構和複雜的命令與控制機制。本分析專注於這些惡意工具的技術特性、實作細節和操作能力,為網路安全中的防禦對策和未來研究方向提供見解。

駭客御用 RATs 大揭密:深入剖析三大進階惡意軟體架構與運作機制 | 資訊安全新聞

1 簡介

進階threat actor不斷演進的惡意軟體武器庫,對網路安全專業人員構成重大挑戰。本報告審視了三個不同的RAT家族,它們擁有共同的設計理念和實作模式,這表明其是由同一個技術團隊或組織開發。每個RAT都展現出獨特的特性,同時保有隱匿運作、資料外傳和持續存取的核心功能。

這些惡意軟體家族因其進階的規避能力、模組化架構和穩健的命令與控制(C2)基礎設施,對企業網路構成嚴重威脅。技術分析揭示了複雜的反分析技術,包括環境感知、程式碼混淆和濫用合法憑證。本研究的目的是提供詳細的技術見解,以用於防禦策略和偵測機制。

2 RAT #1 技術分析:基於Delphi的載入器

2.1 架構概覽

第一個RAT使用基於Delphi的載入器元件,採用複雜的技術來規避偵測與分析。該惡意軟體在部署其最終payload之前,會執行一個帶有環境檢查的多階段載入程序。

graph LR A[Delphi
Loader] --> B{Environment
Checks} B --> C{Checks
Pass?} C -->|No| D[Exit] C -->|Yes| E[Decrypt
Payload] E --> F[Inject
into
Process] F --> G[Execute
Core
RAT] G --> H[C2
Communication]

該載入器整合了多種反分析技術,包括針對虛擬化/沙箱Artifact的環境感知檢查、利用加密字串和API呼叫進行程式碼混淆,以及針對合法程序的 process hollowing 以進行注入。

2.2 程式碼分析

Delphi程式碼展示了複雜的程式設計模式和加密的設定資料。加密routine使用XOR cipher,其key源自環境因素,使得在沒有適當環境下進行靜態分析變得困難。

  1. // Example of encrypted string reconstruction (pseudo-code)
  2. function DecryptString(encryptedData: array of Byte): String;
  3. var
  4. i: Integer;
  5. key: Byte;
  6. begin
  7. key := GetKeyFromEnvironment;
  8. SetLength(Result, Length(encryptedData));
  9. for i := 0 to High(encryptedData) do
  10. Result[i+1] := Chr(encryptedData[i] xor key);
  11. end;
  12. // Configuration data storage
  13. const
  14. ENCRYPTED_CONFIG: array [0..47] of Byte = (
  15. $12, $45, $78, $AB, $CD, $EF, $34, $56,
  16. $78, $9A, $BC, $DE, $F0, $12, $34, $56,
  17. $78, $9A, $BC, $DE, $F0, $12, $34, $56,
  18. $78, $9A, $BC, $DE, $F0, $12, $34, $56,
  19. $78, $9A, $BC, $DE, $F0, $12, $34, $56,
  20. $78, $9A, $BC, $DE, $F0, $12, $34, $56
  21. );

此惡意軟體採用多層次的執行方法,每個階段負責解密和載入下一個元件。此設計限制了惡意軟體完整功能對分析工具和研究人員的曝光。

3 RAT #2 技術分析:基於Windows服務的持久性

3.1 架構設計

第二個RAT採用Windows服務來實現持久性,並具備複雜的程序間通訊機制。該惡意軟體在服務和使用者模式元件之間建立了一個隱蔽通道,使其在規避安全工具偵測的同時保持持久性。

這種基於服務的架構提供了多個優點,包括跨重新開機的持久性、在使用者空間運作時的系統層級存取,以及透過與合法系統服務融合來實現隱匿。

3.2 服務實作分析

該惡意軟體建立了一個具有欺騙性屬性的服務,模仿合法的Windows服務。該服務整合了進階功能,例如用於保留運作狀態的優雅關機Handle、僅供惡意軟體操作者存取的隱藏功能自訂控制碼,以及透過模仿標準服務行為來實現的合法外觀。

  1. // Service configuration structure (reconstructed)
  2. typedef struct _SERVICE_CONFIG {
  3. DWORD dwServiceType;
  4. DWORD dwStartType;
  5. DWORD dwErrorControl;
  6. CHAR lpBinaryPathName[MAX_PATH];
  7. CHAR lpServiceStartName[MAX_PATH];
  8. CHAR lpDisplayName[MAX_PATH];
  9. CHAR lpDescription[MAX_PATH];
  10. DWORD dwPersistenceFlags;
  11. BYTE encryptedC2Config[64];
  12. DWORD dwCheckInInterval;
  13. DWORD dwFailedCheckInThreshold;
  14. } SERVICE_CONFIG, *PSERVICE_CONFIG;
  15. // Service control handler with malicious functionality
  16. DWORD WINAPI ServiceCtrlHandler(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext)
  17. {
  18. PMALWARE_SERVICE_CONTEXT pContext = (PMALWARE_SERVICE_CONTEXT)lpContext;
  19. switch (dwControl) {
  20. case SERVICE_CONTROL_STOP:
  21. // Perform cleanup and prepare for restart
  22. LogEvent("Service stopping", EVENTLOG_INFORMATION_TYPE);
  23. ScheduleRestart();
  24. break;
  25. case SERVICE_CONTROL_PAUSE:
  26. // Temporarily suspend malicious activities
  27. SuspendOperations();
  28. break;
  29. case SERVICE_CONTROL_CONTINUE:
  30. // Resume operations after pause
  31. ResumeOperations();
  32. break;
  33. case SERVICE_CONTROL_INTERROGATE:
  34. // Respond to status queries
  35. break;
  36. default:
  37. // Custom control codes for malware functionality
  38. if (dwControl >= 128 && dwControl <= 255) {
  39. HandleCustomCommand(dwControl, pContext);
  40. }
  41. break;
  42. }
  43. return NO_ERROR;
  44. }

4 RAT #3 技術分析:複雜的C2通訊

4.1 通訊協定架構

第三個RAT展示了特別進階的C2通訊能力,使用多層加密和協定模仿來規避網路偵測。該惡意軟體在標準HTTP/HTTPS通道上實作了一個客製化協定,同時整合了與合法流量融合的技術。

graph LR A[Infected Host] --> B{Protocol Selection} B --> C[HTTPS] B --> D[HTTP Fallback] C --> E[Encrypted Request] D --> F[Obfuscated Request] E --> G[C2 Server] F --> G G --> H[Encrypted Response] H --> A

該通訊協定實作了多種安全規避技術,包括模仿協定以與合法網路流量融合、使用不同演算法的多層加密,以及流量整形以控制時間和大小模式以避免偵測。

4.2 加密方案分析

該惡意軟體採用複雜的多階段加密方法,展示了對密碼學原理和規避技術的進階理解。

  1. // Encryption process pseudo-code
  2. void EncryptPayload(PVOID pPayload, DWORD dwPayloadSize, PCSTR pszKey)
  3. {
  4. // Stage 1: XOR encryption with key derivation
  5. XORCrypt(pPayload, dwPayloadSize, DeriveKey(pszKey, 32));
  6. // Stage 2: Custom block cipher
  7. BlockCipherEncrypt(pPayload, dwPayloadSize, DeriveKey(pszKey, 64));
  8. // Stage 3: Base64 encoding with custom alphabet
  9. CustomBase64Encode(pPayload, dwPayloadSize);
  10. // Stage 4: Additional obfuscation
  11. AddObfuscationLayer(pPayload, dwPayloadSize);
  12. }
  13. // Key derivation function using environmental factors
  14. BOOL DeriveKey(PCSTR pszInputKey, DWORD dwKeySize, PBYTE pbOutputKey)
  15. {
  16. // Combine input key with system-specific data
  17. BYTE systemData[64];
  18. GetSystemUniqueData(systemData);
  19. // Cryptographic mixing using HMAC-SHA256
  20. CHMAC_SHA256 hmac;
  21. hmac.Init();
  22. hmac.Update((BYTE*)pszInputKey, strlen(pszInputKey));
  23. hmac.Update(systemData, sizeof(systemData));
  24. hmac.Final();
  25. // Expand or contract to desired key size
  26. return KeyDerivationFunction(hmac.GetHash(), SHA256_DIGEST_SIZE,
  27. pbOutputKey, dwKeySize);
  28. }

5 比較分析

5.1 RATs間的技術相似性

儘管功能上有所不同,這三種RATs共享顯著的技術相似性,包括用於功能擴展的帶有外掛程式系統的模組化架構、用於偵測debugger和虛擬環境的常見方法、用於在規避偵測的同時保持存取的類似策略,以及在協定設計和加密方法上的共享模式。

5.2 演進模式

技術實作顯示出從早期工具到更進階的明確演進,其隱匿能力透過更複雜的環境感知得到提升、持久性透過多重回退機制來維持存取、使用進階加密技術來保護通訊,以及透過減少鑑識Artifact和偵測面來實現更好的操作安全性。

特性 RAT #1 RAT #2 RAT #3
持久性機制 Process injection Windows service 多種方法
加密方案 帶有環境key的XOR 分層加密 多階段客製化加密
C2通訊 基本HTTPS 基於HTTP的客製化協定 進階協定模仿
反分析技術 環境檢查 Service偽裝 流量整形

6 防禦建議

基於對這些RATs的技術分析,建議採取以下防禦措施:

1. 行為偵測 :實作對這些RATs所採用的process hollowing和基於服務的持久性技術進行監控。

2. 網路流量分析 :部署能夠偵測加密通訊中異常模式的解決方案,即使是使用標準協定也一樣。

3. 憑證驗證 :監控異常的憑證使用或偽造嘗試,這可能表示惡意軟體通訊。

4. 記憶體分析 :定期進行記憶體鑑識,以識別可能規避基於硬碟偵測的惡意程式碼注入。

5. 應用程式白名單 :只限制授權應用程式的執行,以防止未經授權的程式碼執行。

7 結論

本報告分析的三種RATs展示了惡意軟體開發中顯著的技術複雜性和演進。它們的模組化架構、進階規避技術和穩健的通訊協定對組織安全構成嚴重威脅。

技術分析揭示了持續專注於隱匿、持久性和操作安全。防禦者必須實施多層次的安全控制,並側重於行為分析而非基於簽章的偵測,才能有效反制這些威脅。

未來的研究應專注於自動化分析技術,以更有效地分解類似的惡意軟體家族,並開發專門的偵測機制來應對這些RATs所採用的特定反分析方法。