摘要:這篇文章屬於系統分析類的文章,透過詳細的實驗分析了離地攻擊(Living-Off-The-Land)的威脅性和流行度,包括APT攻擊中的利用及示例程式碼論證。
本文分享自華為雲社群《[論文閱讀] (21)S&P21 Survivalism: Living-Off-The-Land 經典離地攻擊》,作者: eastmount 。
摘要
隨著惡意軟體檢測演算法和方法變得越來越複雜(sophisticated),惡意軟體作者也採用(adopt)同樣複雜的逃避機制(evasion mechansims)來對抗(defeat)它們。
民間證據表明離地攻擊技術(Living-Off-The-Land,LotL)是許多惡意軟體攻擊中最主要的逃避技術之一。這些技術利用(leverage)系統中已經存在的二進位制檔案來執行(conduct)惡意操作。
基於此,我們首次對Windows系統上使用這些技術的惡意軟體進行大規模系統地調查。
在本文中,我們分析了這些本地系統的二進位制檔案在多個惡意軟體資料集上的使用情況,這些資料集共包含31,805,549個樣本。我們發現平均流行率(prevalence)為9.41%。實驗結果表明,LotL技術被大量的使用,特別是在高階永續性威脅(Advanced Persistent Threat ,APT)惡意軟體樣本中,離地攻擊佔比為26.26%,是社群惡意軟體的兩倍多。
為了驗證(illustrate)LotL技術的逃逸潛力,我們在本地沙箱環境(sandboxed environment)中對幾個完全打補丁的Windows系統進行了離地攻擊技術的測試,其結果表明在10個最流行的反病毒產品(anti-virus)中存在明顯的gap。
一.引言
由於每篇論文的引言都非常重要,會告訴大家為什麼有這個工作,以及這個工作做了什麼,有什麼貢獻。因此該部分作者會全文翻譯,後續章節則介紹重點內容。
1.什麼是離地攻擊
惡意軟體開發和檢測是貓和老鼠的遊戲,惡意軟體作者不斷開發新技術來繞過(bypass)檢測系統。像AV防毒軟體(anti-virus)這樣的安全產品透過靜態和啟發式分析(heuristic analysis)技術,以檢測、分類和防止惡意軟體有效執行。
在過去,許多解決方案嚴重依賴於基於簽名的檢測,但不幸的是,由於使用了多型性(polymorphism)和加殼程式(packers),這些方法變得不再那麼有效。相反,許多產品開始開發啟發式分析解決方案,包括檢測惡意行為的演算法。這些演算法已成為AV引擎的重要組成部分。隨著時間的推移,這些演算法越來越複雜,因此需要更多創新性的逃避技術。
惡意軟體作者和紅隊經常研究和發現新方法來繞過安全解決方案。雖然它們的潛在目標本質上可能有所不同,但這兩種型別的攻擊者通常都利用(leverage)最先進(state-of-the-art)的逃避技術來實現目標。從防守者的角度來看,為了及時作出響應,瞭解這些攻擊和研究它們的趨勢是至關重要的(crucial)。其中,在紅隊和惡意軟體作者中都流行的規避策略就是使用離地攻擊(LotL)技術。
離地攻擊(LotL)技術是指使用系統中已經存在或易於安裝的二進位制檔案(如已簽名的合法管理工具)來執行後滲透活動(post-exploitation activity)。
- 透過利用這些工具,攻擊者可以實現登錄檔修改、持久化、網路或系統偵察,或執行其他惡意程式碼。它們甚至可以用來減少由惡意活動產生的事件日誌,而不需要將其他檔案下載到本地的系統中。
LotL techniques refer to the use of binaries that are already present on systems or are easy to install (e.g., signed, legitimate administration tools) to conduct post-exploitation activity.
2.APT中的離地攻擊
離地攻擊並不是隱蔽的技術,它們在網際網路上公開記錄著。許多開源的攻擊安全工具利用了LotL技術,並且經常被攻擊者所使用,從合法的紅隊到業餘的網路攻擊者,以及有組織的APT團隊。
PoshSpy[15]
:是一個俄羅斯APT29攻擊模組,它是第一個被檢測到的APT組織使用的LotL技術,特別是在PowerShell和Windows Management中。
– Dissecting One of APT29’s Fileless WMI and PowerShell Backdoors (POSHSPY)- 伊朗威脅組織[1]、APT33、APT34和其他組織也以使用本地Windows二進位制檔案和其它簽名工具而聞名,特別是PowerShell[8]。
表1列出了幾個國家背景的APT組織所使用的LotL技術。
儘管“離地攻擊”在資訊保安界是一個相對知名的術語,但有時很難找到一個精確的定義。此外,據我們所知,沒有任何研究包含了對LotL技術在惡意軟體樣本中的流行程度的系統分析。
- Moreover, to the best of our knowledge no research contains a systematic study of LotL techniques’ prevalence in malware samples.
關於LotL技術的文件大多以部落格的形式出現,並記錄著某些惡意軟體家族的在野發現,或者攻擊者在遠端訪問受損系統中所使用技術的描述。
- 例如,
Emotet
和Trickbot
,兩個最常見的遠端訪問木馬(Remote Access Trojans,RAT),據稱是使用連結的LotL二進位制檔案來實現持久化。 - 作為一種對策,微軟描述了對抗使用LotL技術商用RAT的基本步驟。高度逃逸的遠端訪問木馬
Astaroth
,TA505
組織的一些惡意軟體庫,Dexphot cryptominer
和Nodersok
同期使用的多個LotL二進位制檔案。
3.提出五個關鍵問題
在本文中,我們分析了LotL現象,即商用惡意軟體中與離地攻擊二進位制檔案利用相關的檔案。我們首先描述了什麼是LotL binary以及它如何被惡意軟體利用來實施惡意行為的。=
- Our first step is to describe what a LotL binary is and how it can be leveraged by malicious software to conduct its nefarious actions.
本文的研究重點是以Windows為主導的作業系統下流行且惡意軟體最常針對的目標。許多基於離地攻擊的AV逃逸行為已被記錄下來。因此(As a consequence),安全界很大程度上認為,LotL技術(如代理執行惡意軟體)實際上對安全解決方案是有效的。
首先,我們提出了第一個假設以及第一個研究問題:
問題1: Can LotL techniques effectively evade commercial AV?
LotL技術能有效地逃避目前大部分安全廠商的防毒軟體檢測嗎?
為了回答這個問題,我們評估了一組具有代表性的安全產品,並展示了其中的一些技術,雖然這是攻擊者和防禦者所熟知的,但仍然是繞過安全解決方案的有效方法,因此對安全行業來說這仍是一個開放的挑戰。
事實上,LotL二進位制檔案經常被系統管理員和高階計算機使用者使用來執行(perform)系統管理任務,這使得即使是對於訓練有素的分析人員來說,區分(distinguish)合法行為和惡意行為也非常困難。我們負責任地向受影響的供應商披露了我們的發現並進行跟進,因此提高了他們的檢測能力。
儘管現有的文件提供了這些技術使用的可靠證據,但仍然不清楚這種現象在惡意軟體樣本中有多普遍。因此(In this way),我們就提出了第二個研究問題:
問題2:How prevalent is the use of LotL binaries in malware?
在惡意軟體中使用LotL二進位制檔案的情況有多普遍?
在此基礎上,我們試圖闡明當前威脅情景中的一些趨勢,以確定(identify):
問題3:What purposes do malware binaries use LotL techniques for?
惡意軟體的二進位制檔案使用LotL技術的目的是什麼?問題4:Which malware families and types use LotL binaries most prolifically and how does their usage differ?
哪些惡意軟體家族和型別使用LotL二進位制檔案最多,它們的使用情況又有何不同?
此外,我們還調查(investigate)了為什麼這些技術難以檢測。部分防毒軟體公司參與了我們的披露,即將惡意攻擊與系統管理員執行完全合法的管理任務區分開來是困難的。這就給我們帶來了另一個問題:
問題5:What are the overlaps and differences in the behavior of legitimate and malicious binaries with respect to the usage of LotL binaries? How would this affect detection by heuristic AV engines?
在使用LotL二進位制檔案方面,合法和惡意二進位制檔案的行為有哪些重疊和差異呢?這將如何影響啟發式AV引擎的檢測呢?
雖然惡意樣本和良性樣本之間的LotL二進位制使用頻率(prevalence)有一些明顯的差異,但我們也注意到一些類別存在某些相似性,如代理執行(proxied execution)。
最後,我們將注意力集中在高逃逸和高階持續威脅的惡意軟體上,我們發現它利用離地攻擊技術是商用惡意軟體的兩倍。在表1中列出了一些使用LotL技術進行攻擊的APT組織。
- Finally, we focus our attention on highly evasive and Advanced Persistent Threat (APT) malware to find out that it leverages these techniques twice as much as commodity malware.
4.貢獻(Contribution)
據我們所知,本文提出了迄今為止對商用和APT惡意軟體使用LotL技術最大規模的系統分析。本文的核心(core )貢獻:
-
我們透過測試一組最流行的AV引擎來對抗基於LotL技術部署的惡意載荷,以評估LotL技術的可行性,並展示了離地攻擊檢測的複雜性對行業仍是一個挑戰。即使在披露9個月後,這些技術仍沒有被發現。
-
我們對代表現代商用惡意軟體的幾個資料集進行了大規模的評估,並確定了LotL技術的流行程度,以及在不同惡意軟體家族和型別之間的差異。我們還評估了LotL技術由於假陽性風險可能對行業產生的影響。
-
我們評估了一個APT惡意軟體資料集,並將其公開以促進(facilitate)後續的研究,並確定它執行LotL技術的頻率是商用惡意軟體的兩倍。此外,我們還確定了哪些APT組織最多地使用LotL技術。
二.背景和相關工作
我們首先定義LotL二進位制檔案,並列舉惡意軟體使用這些二進位制檔案的目的。
A.LotL Binaries
近年來,“Living-Off-The-Land binary(LOLbin)
”已經成為一個常用詞,用來指在網路攻擊中廣泛使用的二進位制檔案。歷史上,“Living-Off-The-Land”一直被用來表示可以為農業或狩獵提供餵養土地或離地的概念。轉換為惡意軟體和入侵領域,攻擊者可能利用那些已經可以使用的檔案(即系統上已經存在或易於安裝的)來發起攻擊並躲避檢測。
在本文中,我們將LotL二進位制定義為:
- 任何具有公認合法用途的二進位制檔案,在攻擊期間利用它直接執行惡意行為,或間接協助一系列惡意行動,從而達到惡意結果。
In this paper, we define a LotL binary as any binary with a recognised legitimate use, that is leveraged during an attack to directly perform a malicious action; or to assist indirectly, in a sequence of actions that have a final malicious outcome.
舉例:
- 在Windows系統上預設安裝的二進位制檔案(binaries installed),如
Reg.exe
、Sc.exe
和Wmic.exe
是最常被惡意軟體執行的檔案。 - 大多數預設安裝的二進位制檔案都是由微軟認證碼簽名的。認證碼簽名證明二進位制檔案沒有在編譯中被篡改或修改,這些二進位制檔案甚至可能被列為白名單。利用可信的LotL二進位制檔案的惡意軟體可能因此避開防毒軟體。在Windows系統上使用系統二進位制檔案可以作為惡意軟體操作的一部分,更重要的是,許多LotL技術使用系統二進位制檔案來實現這些二進位制檔案的目的。
- 此外,可以使用外部簽名二進位制檔案(external signed binaries),如
PsExec.exe
或其他系統內部二進位制檔案。雖然它們使用頻率不高,但本文的分析也囊括了這些檔案。如APT組織在SoftCell
和Havex
中都使用PsExec.exe
來秘密執行遠端命令,從而實現網路中的橫向移動。 - 某些罕見情況,脆弱的(已簽名)驅動程式被用來升級系統上的許可權。這是
RobbinHood
勒索軟體和各種APT wiper
惡意軟體樣本所使用的一種技術,針對Saudi Arabian
系統,包括Dustman
、Shamoon
和Zerocleare
。
可追溯性(Traceability)。
- 某些LotL二進位制檔案可能會比其他檔案留下更多的系統日誌,安全工具或取證分析人員可以利用這些日誌來檢測惡意操作。例如,可以將Powershell配置為具有全面的日誌記錄。
- 微軟甚至建議阻止在系統上執行一些本機的二進位制檔案,除非有充分的理由。
B.Scope of our Study
在本文中,我們關注的是Windows惡意軟體執行系統二進位制檔案的目的。這些目的通常包括沿著 kill chain
的進展或逃避AV的檢測。所有這些技術都被部署在系統的使用者空間中。
hollowing
和 injection(注入)
不在我們的研究範圍內,儘管這是無檔案惡意軟體部署的常見技術。因為根據我們早期的定義,它們不是LotL技術。
C.Related Work
離地攻擊相關工作較少,並且都非常經典,因此下面羅列了詳細的相關研究,僅供自己後續深入,也希望對您有所幫助。
LotL惡意軟體及其別名,“advanced volatile threat”或“無檔案”惡意軟體在當前的學術文獻中很少被提及。這主要受限於介紹分析少或描述為一個新興的高逃逸惡意軟體變體。
- Li等[31]對惡意PowerShell指令碼進行了分析,其中有一個小節專門描述了LotL攻擊和無檔案攻擊作為近年來網路攻擊的趨勢。(作者第17篇部落格詳細介紹過PS經典)
- Wang等[72]最近發表的一篇關於資料來源分析的論文指出,Living-Off-The-Land 是一種新興的、突出的逃避型惡意軟體子類(evasive malware subtype)。(經典的You Are What You Do後續即將分享)
- 先前的工作[64]進行了介紹性分析,然而LotL惡意軟體還沒有受到詳細的學術分析。(An emerging threat Fileless malware: a survey and research challenges)
- 賽門鐵克[73,66]和思科Talos的[65]白皮書介紹了這個主題,並對多個資料集的流行性進行了分析。目前,沒有論文對包含多個使用LotL技術的Windows惡意軟體資料集進行大規模地系統分析。(經典)
– https://www.symantec.com/content/dam/symantec/docs/security-center/white-papers/istr-living-off-the-land-and-fileless-attack-techniques-en.pdf
– https://www.symantec.com/content/dam/symantec/docs/white-papers/living-off-the-land-turning-your-infrastructure-against-you-en.pdf
– https://blog.talosintelligence.com/2019/11/hunting-for-lolbins.html
在一些論文中提到了LotL技術,強調了高隱蔽(stealthiness)和APT惡意軟體曾使用。
- 在一篇關於惡意軟體分析工具Yara的論文中,Cohen[9]將LotL描述 “ LotL as a trend that has been recently observed in the tactics used by elite threat actors”,我們的分析結果進一步證實了該說法。
- Hassan等[21]的研究表明,APT惡意軟體使用LotL攻擊策略來實現持續攻擊並分析了兩個活動,他們的工作還利用了MITRE ATT&CK框架[45],透過MITRE定義了一個描述和分類知名攻擊的分類方法。許多LotL技術在MITRE ATT&CK框架內被索引。Mitre公司及其常見CVE漏洞是安全領域的既定權威,他們囊括並描述許多LotL技術,這樣表明離地攻擊是一個值得深入分析的課題。
– W. U. Hassan, A. Bates, and D. Marino, “Tactical Provenance Analysis for Endpoint Detection and Response Systems,” IEEE Symposium on Security and Privacy, 2020.
強烈推薦一個包含LotL二進位制和ATT&CK功能對映的資源:
與我們研究相關的是對基於指令碼的惡意軟體分析和去混淆。使用LotL技術的惡意軟體經常使用惡意指令碼作為有效負載。(下列論文在作者第16篇PowerShell總結部落格中詳細介紹過)
- Ugarte等[67]透過識別可疑行為模式,測試了經
Powershell.exe
二進位制呼叫的惡意指令碼。 - Rubin等[61]將機器學習應用於檢測PowerShell惡意軟體(微軟團隊)。
- Curtsinger[11]等人提出了惡意Javascript攻擊的檢測機制——ZOZZLE。
雖然這些論文提出了有效的檢測方法,但是他們都是為狹隘的惡意載荷(payload)所用,他們沒有分析更廣泛的惡意軟體生態系統和這些有效載荷是如何被LotL二進位制檔案觸發的。
三.MOTIVATION: 防毒軟體產品 vs 離地攻擊技術
安全研究人員已經記錄了許多使用LotL技術成功躲避安全產品的案例。在許多情況下,這些LotL二進位制檔案被用來代理惡意載荷的執行,使其在一個合法的程式上下文中執行,或者作為一個合法系統程式的子程式生成一個新程式。在某些情況下,這些有效載荷作為LotL二進位制呼叫的副作用被執行,而在其他情況下,它只是其主要記錄行為的結果。此外,許多防毒產品未能正確檢測到這些技術。
為了回答第一個問題,我們首先分析了當前AV產品是否將LotL技術作為惡意行為的指標。
為此,我們首先選擇了10個具有代表性的AV產品(詳見附錄C),並利用常見基於LotL的代理執行技術來實施反彈Shell的模擬攻擊。此外,本研究的目的不是測試任何特定AV產品的檢測能力或將它們相互比較,而是確定是否存在普遍的檢測差距。
- 實驗在聯網的Windows 10虛擬機器執行,並將最新的本地AV產品連線到它們的雲元件。
- 利用一個反彈Shell來評估AV系統在部署LotL技術的惡意軟體中有多脆弱。本文認為能夠允許遠端執行命令的reverse shell是成功執行程式碼的證明,這與許多遠端訪問木馬(RAT)功能相同。
- 透過從不同LotL二進位制檔案中執行這個反彈shell來進行實驗,以測試AV產品是否檢測到離地攻擊技術是惡意的。
- 我們在必要時混淆了反彈shell的有效載荷,並使用各種有效載荷型別來測試AV檢測傳遞機制本身的能力,而不是透過靜態簽名傳遞的特定有效載荷(詳見附錄D)。
實驗結果如表2所示:
- 可以發現大部分的AV引擎允許我們建立一個反彈Shell並執行命令,它們並沒有檢測出利用LotL技術的惡意軟體,60箇中只檢測出4個。
Responsible Disclosure and Response.
此後,我們向相關的AV供應商釋出了一份檔案,包含我們檢查的結果並協助補救。9個月後,我們在Windows 10機器上重複了類似的測試,這允許我們測試AV供應商是否在他們的產品中包含了新的啟發式規則來檢測LotL二進位制的使用。其結果如下:
- 可以發現在60個相同的有效載荷中檢測到了25個
- 在檢測到的反彈shell測試中,我們修改了載荷(利用混淆或執行不同的載荷),同時為LotL二進位制檔案保持了完全相同的命令列引數,透過利用這些混淆和修改的有效載荷,我們成功地在這25個被攔截的例項中的19個執行了一個反向shell。
實驗結果表明,LotL技術仍然是防毒軟體供應商面臨的一個重大挑戰。合法使用者通常以不可預知的方式使用這些工具,而安全公司很難在沒有誤報的情況下部署有效的檢測策略。
接下來將展示這些技術如何在商用惡意軟體中是普遍存在的,以及離地攻擊是不應該被安全社群忽視的問題。
四.離地攻擊流行性評估
在本節中,我們測量了惡意軟體中LotL技術的流行程度,並試圖回答所提出的研究問題。
A.Dataset Composition
評估工作是在9個獨立的子資料集上進行的。我們總共收集了31,805,549個樣本,其中我們從VirusTotal(VT)中獲得了16,048,202份行為報告。
- To be as comprehensive as possible, we obtained public and private datasets from different sources.
Public Datasets
- 公共惡意軟體資料集,包括商用惡意軟體、VirusShare語料庫的二進位制檔案、視窗惡意PE檔案、佐治亞理工學院釋出的可執行檔案、VX-Mumbal和MalShare共享的樣本(兩個重點的共有資料集)。
– https://impactcybertrust.org/dataset{ }view?idDataset=1143
– https://vx-underground.org/samples.html
– https://malshare.com
VirusTotal Balanced Dataset
- 從VT中收集了237,288個hash值,利用
AVClass
預處理程式碼和打標籤(家族分類),並平衡資料集中每個族。
APT Malware
- 我們根據一種類似於資料集論文dAPTaset[59]的方法收集了一個APT惡意軟體的資料集。我們處理了HTML頁面和pdf檔案(
APTnotes
),並提取了這些檔案中包含的所有惡意軟體的hash值。
– https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-rezaeirad.pdf
– https://github.com/aptnotes/data
Yara Rule Match Malware
- 部署3個Yara規則來檢測LotL二進位制檔案,並使用Livehunte來識別上傳到VT的新的惡意軟體hash,並使用LotL技術匹配惡意軟體的行為特徵。
B.Analysis Pipeline
當收集了由Windows PE二進位制檔案組成的不同資料集,我們就分析樣本的行為。包括三個階段:
- data collection
- data augmentation
- data analysis
First Seen:首次發現病毒樣本的時間戳
AVClass Family:某惡意軟體樣本所屬家族
Behavioural Report:惡意行為報告,由特定惡意軟體樣本執行的程式和Shell命令的列表
C.LotL Technique Identification
資料準備就緒,那麼如何識別是否使用了LotL技術呢?
我們使用模式匹配來識別惡意軟體執行過程中對LotL二進位制檔案呼叫的情況,從而處理所有收集到的行為報告(behavioural reports
)。行為報告包括兩個指標:
- Shell Commands(Shell命令)
惡意二進位制檔案在主機作業系統中執行的Shell命令,Shell命令日誌可以透過引用系統二進位制檔案的絕對路徑來顯示它的執行情況。同時,Windows的命令提示符還包括許多別名,例如Reg.exe的reg。 - Processes(程式)
程式日誌明確由惡意軟體樣本執行的系統二進位制檔案。執行的引數也包含在行為報告中的程式日誌中。
在我們的分析中,如果一個樣本的行為報告包含至少一個LotL二進位制檔案的執行,那麼它使用了LotL技術。我們記錄了每一個LotL的執行及其引數細節,並將它們插入到資料庫中。然後,我們分析了這些惡意軟體樣本的引數,以確定每個資料集中最常見的引數型別和執行目的。
具體而言,我們確定了這兩種獨立型別的二進位制檔案:
- Default System Binaries
- Installed Signed Binaries
Pattern Matching Refinement
模式匹配方法在不斷改進,直到所有識別的LotL命令被正確分類和對映到執行目的,並進行了資料清洗處理。
- 不帶引數的二進位制執行移除
- 沙箱產物刪除(如Explorer.exe和sha256),Web訪問不處理
- 刪除Verclsid.exe的例項
D.Parameter Analysis to Identify Execution Purpose
為了確定LotL技術的執行目的,我們觀察了惡意軟體樣本提供的引數。
圖1說明了四個程式執行的對映。該對映透過識別單獨的執行目的來在所有資料集上實施,例如執行Net.exe時使用stop參數列示任務停止。在將單個命令對映到執行目的之後,我們將為該二進位制檔案選擇所有匹配的執行。我們在所有系統二進位制執行中重複該步驟,直到每次執行被分類為屬於特定的執行目的或被錯誤分類。
按照這種方法,我們按目的將引數分為9個獨立的類別。
首先是三種與執行有關的型別:
- Proxied Execution
代理執行,如Mshta.exe執行.hta檔案,Rundll32.exe執行.dll檔案 - Persistence
如果惡意程式碼配置或修改系統以在未來某個時間點執行命令或儲存的作業,那麼它就實現了永續性,比如Sc.exe帶有建立引數的Bitsadmin.exe,或帶有日期時間引數的Schtasks.exe/At.exe - Delayed Execution
延遲執行,比如 Ping.exe執行-n
接著是三類與底層系統元件的修改有關。惡意軟體通常從事這種行為,以便在機器上對目標進行進一步的傳播或行動。
- Firewall Modification
防火牆修改,如Netsh.exe - Registry Modification
登錄檔修改,如Reg.exe - Permissions Modification
許可權修改,如Cacls.exe修改檔案許可權
最後是與執行或系統修改無關的三類。
- File Opening
開啟檔案,如Explorer.exe - Reconnaissance
偵察,觸發本地或遠端配置的橫向移動,如Net.exe - Task Stopping
使用LotL二進位制檔案秘密停止另一個程式或服務,如Taskkill.exe
五.評估結果
A.商用惡意軟體中LotL技術的流行性(Prevalence)
Relative Prevalence Between Datasets.
圖2顯示了在每個資料集中使用LotL技術的惡意軟體樣本的百分比。
- 如果省略Ember良性資料集和APT惡意軟體資料集(最小值和最大值),我們可以觀察到,5.42%到12.72%的商用惡意軟體樣本至少使用了一次LotL技術。
- 在VT平衡資料集中,我們可以觀察到9.6%的樣本利用了這種型別的技術。
- APT資料集使用LotL技術的頻率明顯高於商用惡意軟體。26.26%的APT資料集使用了LotL技術,是類似的商品惡意軟體資料集的兩倍多。
這些數字表明,LotL技術是一個普遍的現象,尤其是APT攻擊中。
Most Frequently Used LotL Binaries
表5顯示了商用惡意軟體資料集中最常執行的LotL二進位制檔案。
- VT資料集中最常用的二進位制檔案是Reg.exe、Nslookup.exe、Regasm.exe、Runas.exe、Schtasks.exe和Sc.exe。
- 其中一些二進位制檔案用於系統管理任務,如編輯登錄檔或建立計劃任務;其他的則用於更改或提升特權,或啟用網路活動。
值得注意的是,某些二進位制檔案在不同的資料集之間顯示了不同的分佈。這意味著儘管LotL技術是在惡意軟體編寫中被廣泛使用,但它們在惡意軟體家族或惡意軟體型別中以異構的方式使用。
Parameters and Execution Purpose
我們還透過解析最常用的LotL二進位制檔案的引數來確定出現它們的執行目的。圖3顯示了執行目的的結果分佈。
- 最常見的目的是代理執行、偵察、任務停止和修改登錄檔。
- 我們還可以觀察到,資料集之間有顯著的變化,如預期的結果表5所示。這些結果表明,惡意軟體使用LotL二進位制檔案不僅秘密執行其他程式碼,也透過登錄檔修改修改底層作業系統,使橫向移動透過偵察,或避免其他軟體執行在系統中。
Malware Families
我們確定了一些利用LotL技術的常用惡意軟體家族,惡意軟體採用的LotL二進位制程式碼非常少,我們將這種分類限制在包含至少100個樣本的家庭。圖4顯示了AVClass報告的家族數量,其樣本使用LotL技術技術的特定百分比。
- 大量的家族沒有使用LotL二進位制檔案,而少數家族呈現出這些技術的高流行率。這意味著,雖然總體上大量採用了LotL技術,但這些技術的使用主要集中在有限數量的家族中。
B.Comparison of Benign and Malicious Samples
我們已經觀察到,LotL技術在商用惡意軟體和APT活動中都是一種普遍的現象,儘管在惡意軟體型別或家族之間可能存在一些差異,但很明顯,安全行業不應該忽視這種威脅。考慮到這一點,我們提出了另一個問題:
- 為什麼一些安全產品難以檢測這些技術?
在本文的開頭,我們確認了許多AV產品不能有效地檢測這些二進位制檔案的使用,並且對我們披露的資訊響應後,其檢測機制仍然非常容易出現假陽性。在本節中,我們將比較合法軟體中使用LotL二進位制檔案的情況。
表VI顯示了良性資料集中最常執行的二進位制檔案。
- Regsvr32.exe、Sc.exe和Rundll32.exe是最常用的執行二進位制檔案之一,所有這些檔案都用於執行程式碼。我們可以注意到,惡意軟體(表V)和良性軟體(表VI)最常執行的二進位制檔案有顯著差異。
圖5顯示了利用LotL技術按執行目的進行分組的示例。
- 我們觀察到,雖然某些執行目的在惡意二進位制檔案中比在良性二進位制檔案中更為普遍(如偵察、永續性和登錄檔修改),但對其他二進位制檔案則有相反的趨勢。例如,在惡意軟體和良性軟體中,最常見的目的是代理執行,這一發現與我們在第三節中的觀察結果相關聯。
- 結果表明,這些行為模式對啟發式AV演算法的創造者提出了重大挑戰。這也反映在一些供應商對我們負責披露的反應上,即假陽性風險明顯很高。
- 這一發現還同時說明,並非所有的LotL二進位制檔案在良性軟體和惡意軟體中都同樣普遍,因此AV供應商仍然有機會建立啟發式規則來識別在良性軟體中不那麼流行的技術型別。
C.Prevalence of LotL techniques in APT Malware
我們觀察到LotL技術在APT惡意軟體中明顯比商品惡意軟體更頻繁(見圖2)。接下來我們專注於APT惡意軟體的評估。
首先,我們展示了使用LotL二進位制檔案比例最高的特定APT活動,並根據威脅情報報告對它們進行分組。我們還列舉了APT惡意軟體最常利用的LotL二進位制檔案。表7列出了我們在APT資料集中觀察到的最常見的LotL二進位制檔案。
- APT惡意軟體使用了許多與商用惡意軟體相同的二進位制檔案,其中Ping.exe是最常見的一個。
- 我們觀察到APT惡意軟體主要使用LotL技術來延遲和代理執行,以及偵察。這可能在一定程度上反映了APT惡意軟體旨在實現隱蔽的橫向移動和洩漏資料。
表8顯示了一些大量使用LotL技術的APT活動,這些活動來源於行為資料的威脅情報報告。值得注意的是,一些APT組有多個活動和樣本,如APT28和Keyboy。
- 這表明APT組織在多個活動中使用了LotL技術。
六.案例分析
在本節中,我們將調查並描述來自資料集中的兩個勒索軟體(ransomware)家族:
(1) Gandcrab
我們在本地沙箱環境中執行了Gandcrab勒索軟體樣本,並記錄了所執行的命令。其使用的LotL二進位制檔案如下。我們使用Nslookup.exe二進位制檔案觀察了家族中的其他樣本,傳遞一個引數“gandcrab.bit”或一個類似的域。
C:\ Windows\System32\cmd.exe /c vssadmin delete shadows /all /quiet
C:\ Windows\System32\cmd.exe /c wmic shadowcopy delete
(2) Cerber
除了透過LotL二進位制檔案進行代理執行外,我們還觀察到了Cerber正在使用的其他規避技術,如程式注入。與其他勒索軟體家族不同,Cerber不刪除副本。然而,我們注意到了一個特別複雜的代理執行鏈,即Wscript.exe和Rundll32.exe依次執行一個惡意的 “.vbs” 和 “.dll” 檔案。
我們還觀察到,Cerber透過Ping.exe延遲執行,並修改登錄檔以實現持久化。它將一個惡意的 “.vbs” 檔案新增到下面的登錄檔項中,這意味著每次使用者登入時都會執行這個惡意指令碼。
- HKEY_CURRENT_USER\Software\Microsoft\Windows
我們還注意到一些Cerber樣本呼叫Mshta.exe來開啟hta檔案。
C:\Windows\System32\WScript.exe C:\Users \admin \enYXval36C\38oDr5.vbs
C:\Windows\System32\Rundll32.exe 8ivq.dll arzy949
C:\Windows\System32\cmd.exe /c ping 127.0.0.1 && reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce /v enYXval36C /t REG SZ /d C:\enYXval36CenYXval36C\enYXval36C.vbs /f
C:\ Windows\System32\mshta.exe ransom.hta
我們還描述了兩個APT惡意軟體組織:
- Turla
- GreyEnergy
APT組織Turla顯示了LotL技術的利用演變,而GreyEnergy參與了對烏克蘭電網的高度破壞性攻擊。我們手動分析了這些樣本中的LotL二進位制檔案。
C:\ Windows\SysWOW64\Rundll32.exe {64F97CDC...FAB40CA\}.db #1 #1}
C:\ Windows\System32\cmd.exe /c ( ping localhost >> nul & del $path \ grey3.exe >> nul )
圖6顯示了APT組織Turla越來越多地採用LotL技術,比如兩個連續的模組化高逃逸木馬,即Cobra(2014)和Mosgodo(2018)。
- 掩蓋惡意dll,更換字尾透過rundll32執行
- 刪除自身移除取證
七.要點和討論
我們的結果證實了LotL技術不是一個不可忽視的現象。雖然有幾篇技術文章涵蓋了這個主題,但我們的系統評估會進一步促進對商用惡意軟體採用這種技術的理解。在本文中,我們檢查了幾個不同的惡意軟體資料集,並進行了一個AV評估實驗,其中我們確認了幾種已記錄的LotL技術的低檢測率。根據這些結果,我們可以得出以下結論:
-
我們測試的幾乎每一個流行的AV產品都難以檢測到LotL二進位制檔案的惡意使用。即使很負責地向每個供應商披露這些問題後,也只有一小部分供應商成功最佳化了檢測機制。其中一些供應商針對我們的特定惡意載荷實現了檢測機制,但沒有實現交付機制本身。其他報告說,由於存在禁止性的假陽性風險,實施此類對策具有挑戰性。
-
為了糾正這一檢測差距,我們與AV供應商合作,以提高其檢測能力。例如,卡巴斯基實現了由我們披露所產生的檢測,如 Trojan.Win32.Lolbas.btad.exec 和 TrojanSpy.Win32.Agent.ftps。我們還發布了Yara規則來幫助檢測LotL技術。此外,我們的研究表明,良性樣本和惡意樣本之間的執行目的存在差異,為檢測演算法的發展提供了一個方向。事實上,最近的論文[71, 21]探索了這條有前途的研究路線,以克服現有安全產品的侷限性。
-
在一些描述中,LotL技術專門指可以實現AV逃逸方法的子集。然而在本文中,我們採用了更廣泛的範圍,並觀察到在AV平衡資料集中,9.6%的惡意軟體使用本地系統二進位制來執行惡意行為。
-
關於執行目的,我們觀察到LotL二進位制檔案不僅用於代理執行或逃逸,而且還用於實現常見的惡意例程,如延遲執行、修改系統配置、持久化或停止安全服務。
-
據AVClass工具報導,不同家族中LotL技術的流行率存在很大的差異。然而我們可以觀察到,大多數家族的流行率較低,而少數家族使用這些技術的流行率要高得多。這意味著這些技術足夠普遍,可以被某些惡意軟體的作者所採用,但並不是在惡意軟體中實現惡意功能的唯一或最普遍的方式。
-
合法軟體使用的LotL二進位制檔案要少於惡意軟體,儘管這些二進位制檔案用於不同的目的,但其流行程度足以使惡意使用的準確檢測成為安全供應商面臨的挑戰。相反,在APT攻擊中利用LotL二進位制檔案是普通商用惡意軟體的兩倍。
鑑於這些證據,我們可以得出結論,LotL技術在當前最先進的惡意軟體中得到了重要的應用,從檢測的角度來看,它們代表了安全行業的一個挑戰。透過這篇論文,我們試圖闡明這一現象,並提高研究界對這個開放問題的認識。
- LOLBAS Project Contributions.
八.侷限性和未來工作
Intended or Unexpected Functionality.
測量結果沒有區分二進位制檔案的標準功能和利用副作用來實現某些結果的非標準使用。例如一個預期使用
Netsh.exe修改防火牆規則,而意外使用Netsh.exe執行.dll。
侷限性:
-
Anti-VM Malware.
由於資料來自於雲中託管的動態分析沙箱,惡意軟體使用的反虛擬機器規避技術可能會影響資料質量。我們透過排除在沙箱中執行最少或執行過程中崩潰的惡意軟體樣本來減輕這種情況。這可能會影響資料質量,因為使用反虛擬機器技術的規避惡意軟體並不能顯示其實際行為。因此,我們可能低估了使用LotL二進位制檔案樣本的數量。然而,我們的資料是這種技術流行程度的一個下限,並證明了這是一個不應被忽視的重要現象。 -
Human Operators.
許多使用LotL技術的攻擊者都是執行遠端Shell、攻擊性安全工具、PowerShell、VisualBasic或批處理指令碼的人員。雖然有類似案例的民間證據,但很難像我們那樣對一個有代表性的資料集進行測量研究。相反,我們縮小了論文的範圍,並專注於惡意軟體對LotL二進位制檔案的使用。我們展示了這種現象是不可忽視的,惡意軟體作者也在他們的二進位制檔案中利用這些技術,而不僅僅是在開發後的指令碼中。
後續工作:
-
Linux LotL.
未來的研究方向是探索這些技術在Linux系統上的使用(名為GTFObins[19])。與Windows上的LotL技術類似,這些二進位制檔案可以用於實現惡意功能。雖然Linux惡意軟體沒有Windows那麼多,但由於執行輕量級Linux系統的物聯網殭屍網路的興起,它是一個值得分析的主題。 -
Detection.
該領域的另一個未來研究方向是檢測技術的部署,這些技術試圖準確地捕獲LotL技術的識別使用模式,如端點檢測和響應(Endpoint Detection and Response,EDR)系統。未來的研究應該利用最近關於程式執行鏈的資料來源分析的工作[71,21],以實現對合法程式關係的建模和識別可疑的行為模式。
九.個人感受
寫到這裡,這篇文章就分享結束了,再次感謝論文作者及引文的老師們。接下來是作者的感受,由於是線上論文讀書筆記,僅代表個人觀點,寫得不好的地方,還請各位老師和博友批評指正,感恩遇見,讀博路漫漫,一起加油~
個人總結:
這篇文章屬於系統分析類的文章,透過詳細的實驗分析了離地攻擊(Living-Off-The-Land)的威脅性和流行度,包括APT攻擊中的利用及示例程式碼論證。這類評估類的文章感覺比較難寫,反正我很難寫出來,但非常值得學習,感謝作者們的分享。同時,論文的研究背景、五個問題丟擲、再到資料集採集、實驗論證、回答問題、圖表比較以及寫作都非常棒,工作量是非常大,譬如常用10種AV引擎的評估以及九個月後的再次驗證實驗,就可以看到其工作量及貢獻(LotL技術很難被發現)。
具體貢獻如下:
- 這篇論文應該算是LotL系統分析的開山之作,本文提出了迄今為止對商用和APT惡意軟體使用LotL技術最大規模的系統分析。在這之後可能會吸引更多的安全從業者將目光投向這個領域。
- 本文透過最流行的AV引擎進行評估,以驗證LotL技術部署在惡意載荷中的可行性及流行度,並展示了離地攻擊檢測的複雜性對行業仍是一個挑戰。即使在披露9個月後,這些技術仍沒有被發現。
- 我們對代表現代商用惡意軟體的幾個資料集進行了大規模的評估,並確定了LotL技術的流行程度,以及在不同惡意軟體家族和型別之間的差異。我們還評估了LotL技術由於假陽性風險可能對行業產生的影響。
- 我們評估了一個APT惡意軟體資料集,並將其公開以促進(facilitate)後續的研究,並確定它執行LotL技術的頻率是商用惡意軟體的兩倍。此外,我們還確定了哪些APT組織最多地使用LotL技術
同時,我們回過頭來再看看作者提出的五個問題,以及它是如何進行實證分析的。
-
問題1: LotL技術能有效地逃避目前大部分安全廠商的防毒軟體檢測嗎?
透過10種最流行AV引擎檢測六種型別LotL樣本論證(表2和表3),目前安全廠商的防毒軟體很難檢測,即使在披露9個月後,這些技術仍沒有被發現。 -
問題2:在惡意軟體中使用LotL二進位制檔案的情況有多普遍?
透過公開資料集和私有資料集以及APT資料集論證了LotL技術是一個普遍的線性,並且APT資料集使用LotL技術的頻率明顯高於商用惡意軟體(圖2)。26.26%的APT資料集使用了LotL技術,是類似的商品惡意軟體資料集的兩倍多。 -
問題3:惡意軟體的二進位制檔案使用LotL技術的目的是什麼?
透過解析最常用的LotL二進位制檔案的引數來確定出現它們的執行目的。圖3顯示了執行目的的結果分佈,最常見的目的是代理執行、偵察、任務停止和修改登錄檔。此外,表5顯示了商用惡意軟體資料集中最常執行的LotL二進位制檔案,VT資料集中最常用的二進位制檔案是Reg.exe、Nslookup.exe、Regasm.exe、Runas.exe、Schtasks.exe和Sc.exe。 -
問題4:哪些惡意軟體家族和型別使用LotL二進位制檔案最多,它們的使用情況又有何不同?
透過確定一些利用LotL技術的常用惡意軟體家族,圖4顯示了AVClass報告的家族數量,其樣本使用LotL技術技術的特定百分比。研究發現,大量的家族沒有使用LotL二進位制檔案,而少數家族呈現出這些技術的高流行率。這意味著,雖然總體上大量採用了LotL技術,但這些技術的使用主要集中在有限數量的家族中。 -
問題5:在使用LotL二進位制檔案方面,合法和惡意二進位制檔案的行為有哪些重疊和差異呢?這將如何影響啟發式AV引擎的檢測呢?
某些執行目的在惡意二進位制檔案中比在良性二進位制檔案中更為普遍(如偵察、永續性和登錄檔修改),但對其他二進位制檔案則有相反的趨勢,這些行為模式對啟發式AV演算法的創造者提出了重大挑戰。同時,並非所有的LotL二進位制檔案在良性軟體和惡意軟體中都同樣普遍,因此AV供應商仍然有機會建立啟發式規則來識別在良性軟體中不那麼流行的技術型別。
此外,本文還分析了APT資料集中觀察到的最常見的LotL二進位制檔案以及真實的APT案例。我們觀察到APT惡意軟體主要使用LotL技術來延遲和代理執行,以及偵察。這可能在一定程度上反映了APT惡意軟體旨在實現隱蔽的橫向移動和洩漏資料。