Lazarus 組織開始在攻擊中應用反取證技術
大約一年前開始,在韓國國防、衛(wèi)星、軟件和媒體出版等多個行業(yè)的公司中都發(fā)現(xiàn)了 Lazarus 組織的身影。本文旨在通過 Lazarus 組織入侵的組織,總結該犯罪團伙所使用的反取證技術。
概述
反取證技術是攻擊者旨在篡改證據(jù),試圖提高犯罪現(xiàn)場取證調查難度而應用的一類技術。反取證技術通常要達成以下目標:
- ?規(guī)避檢測并阻礙信息收集
- 增加取證分析的難度
- 禁用或使數(shù)字取證工具失靈
- 阻止、繞過或刪除日志以隱藏痕跡?
反取證技術的分類多種多樣,本文使用 Marcus Roger 博士提出的分類標準(數(shù)據(jù)隱藏、數(shù)據(jù)清除、痕跡混淆、針對數(shù)字取證的攻擊、物理攻擊)來進行分析。具體來說,Lazarus 組織使用了數(shù)據(jù)隱藏、數(shù)據(jù)清除與痕跡混淆三種技術。
數(shù)據(jù)隱藏
數(shù)據(jù)隱藏是指使數(shù)據(jù)難以被發(fā)現(xiàn),主要包括混淆、加密、隱寫術與其他形式的手段。
加密
Lazarus 組織在加載程序、可執(zhí)行文件與配置文件中都應用了加密操作:
- 加載程序:解密加密的 PE 文件并加載到內存中
- 可執(zhí)行文件:由加載程序加載后解密配置文件與 C&C 服務器通信
- 配置文件:存儲加密的 C&C 服務器信息
后門執(zhí)行過程
Lazarus 組織通過加密方式傳輸帶有 C&C 服務器信息的配置文件和與 C&C 服務器通信的 PE 可執(zhí)行文件。加密文件在被加載程序加密到內存后運行,再從 C&C 服務器接收其他文件執(zhí)行惡意行為。
其他數(shù)據(jù)隱藏方式
Lazarus 組織經(jīng)常使用系統(tǒng)文件夾作為藏身之處,也會模仿普通文件的名稱來進行隱藏。攻擊者通過在系統(tǒng)中創(chuàng)建類似的文件夾,或將惡意軟件偽裝成默認隱藏的系統(tǒng)文件中的普通文件。常用的目錄如下:
- C:\ProgramData\
- C:\ProgramData\Microsoft\
- C:\Windows\System32\
創(chuàng)建類似文件夾
C:\ProgramData 文件夾是默認隱藏的系統(tǒng)文件夾。在此文件夾內創(chuàng)建一個名稱與默認文件夾相似的文件夾作為惡意軟件隱藏位置,或者將惡意軟件偽裝成默認文件夾內的類似文件。
模仿默認文件名
數(shù)據(jù)清除
數(shù)據(jù)清除是指永久刪除特定文件或整個文件系統(tǒng)。在刪除文件外,還可以抹去所有使用痕跡。
文件清除
Lazarus 會刪除惡意軟件與惡意軟件執(zhí)行時出現(xiàn)的各種文件,手段是數(shù)據(jù)覆蓋或者直接刪除文件,部分甚至會在刪除前更改文件名。數(shù)據(jù)被覆蓋后,就很難再找到原始文件內容,使得分析人員在文件恢復與數(shù)據(jù)取證的過程變得異常困難。
惡意軟件刪除
Lazarus 也會清除應用程序執(zhí)行時預讀取文件,全面消除惡意軟件執(zhí)行的痕跡。
預讀取文件刪除
在初始訪問或橫向平移時,Lazarus 組織可能會利用應用程序的 0-day 漏洞進行攻擊。由漏洞攻擊產(chǎn)生的錯誤報告與內存 Dump 文件,也會被攻擊者一并刪除。
漏洞攻擊痕跡刪除
痕跡混淆
痕跡混淆是指混淆那些取證過程中可能揭示惡意行為的情況,達成隱藏的目的。例如日志的修改、刪除、插入不正確的信息等都是干擾分析和痕跡混淆的例子。
時間戳更改
Lazarus 幾乎會刪除所有的文件與日志,但仍然會將后門類惡意軟件留在失陷主機。為了保證后門在失陷主機上長期存在不被發(fā)現(xiàn),Lazarus 組織會修改惡意軟件創(chuàng)建時間戳來進行隱藏。
廠商經(jīng)常會跟蹤事件發(fā)生前后的創(chuàng)建、修改、刪除、訪問文件,更改時間戳的動機應該是為了逃避時間線分析。時間戳被篡改后,分析過程中就可能會被遺漏,引導分析人員誤入歧途。
時間戳比較
時間戳比較
在失陷主機上發(fā)現(xiàn)的惡意軟件時間戳,與系統(tǒng)上其他文件的時間戳完全一致。
NTFS 文件系統(tǒng)上 $STANDARD_INFORMATION?屬性和 $FILE_NAME?屬性有四個時間戳:文件創(chuàng)建、修改、訪問與屬性修改。Windows 文件屬性中顯示的時間戳是來自 $STANDARD_INFORMATION的時間戳。
- $STANDARD_INFORMATION:默認存在于所有文件中的屬性,包含文件的基本信息,如時間戳、所有者和安全等。
- $FILE_NAME:默認存在于所有文件中的屬性,包含文件名和文件的各種其他附加數(shù)據(jù),其目的是保存文件名。
經(jīng)過分析,發(fā)現(xiàn)默認系統(tǒng)文件 notepad.exe 與惡意軟件 DapowSyncProvider.dll 的 $STANDARD_INFORMATION時間戳完全一致。
時間戳比較
近期在失陷主機上發(fā)現(xiàn)的篡改時間戳的樣本如下所示:
篡改時間戳
Lazarus 對時間戳的修改可以歸納為以下幾點:
- 并非所有惡意軟件都要修改時間戳
- 時間戳并非修改為任意值,而是與默認系統(tǒng)文件相同
- 同一事件中可修改也可不修改,修改時間戳應該是可選項
- 默認系統(tǒng)文件也是可選的,相同的惡意軟件會存在不同的時間戳
不僅是 Lazarus,修改時間戳的技術也被其他各個 APT 組織所廣泛使用:
使用同類技術的 APT 組織
結論
在 Lazarus 組織攻擊時,會使用各種各樣的反取證技術。一方面可以逃避安全產(chǎn)品的檢測,另一方面也可以阻礙安全人員的分析。攻擊者全面清除了文件與日志,幾乎完全消除了執(zhí)行痕跡來阻礙數(shù)據(jù)取證,顯示出攻擊者的細致。
在調查和分析事件時,必須考慮攻擊者使用反取證技術的可能性。也需要對相關方法與技術進行持續(xù)研究,以確保即使在攻擊者應用反取證技術時也可以跟蹤惡意軟件。