带你读论文丨S&P21 Survivalism: Living-Off-The-Land 经典离地攻击
本文分享自华为云社区《[论文阅读] (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。
每一篇安全顶会论文的摘要都值得我们学习,尤其是S&P。这里全文翻译并标记重要的英文单词,希望大家能更准确地描述安全问题以及本文的贡献。
一.引言
由于每篇论文的引言都非常重要,会告诉大家为什么有这个工作,以及这个工作做了什么,有什么贡献。因此该部分作者会全文翻译,后续章节则介绍重点内容。
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],以实现对合法进程关系的建模和识别可疑的行为模式。
原文作者:Frederick Barr-Smith, Xabier Ugarte-Pedrero, Mariano Graziano, et al.
原文标题:Survivalism: Systematic Analysis of Windows Malware Living-Off-The-Land
原文链接:https://ieeexplore.ieee.org/document/9519480
发表会议:2021 IEEE Symposium on Security and Privacy (SP)
除了原文和作者的理解,本文还参考了下面三位老师的分享,再次感谢,向老师和好友们学习。