当你在桌面或者邮件中看到一个熟悉的图标快捷方式,你估计不会想到一个1、2K的文件,就足以让你中招勒索软件。本文就是给你展示这么小的文件中,会包含多少恶意信息。在文章的开头,先让我们来看两个概念,Lnk文件说明是小编加的(具体分析看原文),其它保持文章原有内容。
Powershell是什么
PowerShell是微软公司开发的一种通用命令行和Shell脚本语言,可与多种技术进行集成和交互。PowerShell在后台运行,利用PowerShell,可不借助于任何可执行文件而获取系统信息。总而言之,PowerShell对威胁源起方而言是一个很有吸引力的工具。利用PowerShell,网络犯罪分子已造成了几起引人注目的事件,如2016年3月的PowerWare勒索软件,以及2016年4月的新型Fareit恶意软件变种。因为该类事件有上升趋势,安全管理员已熟知如何防止PowerShell脚本被用于破坏活动。
LNK文件是什么
这个文件类型比较常见,就是Windows中的快捷链接。但是Windows中的链接文件不止这一种,绿盟科技曾经在一篇《 Windows硬链接 软链接 符号链接 快捷方式 》的文章中介绍到,Windows支持4种”链接”机制,分别是shortcut、hard link、junction point、symbolic link。
1) shortcut/快捷方式
以.lnk文件方式存在,适用于Explorer等应用程序。非NTFS内置机制,从Win95开始得到支持。FAT32支持。同时适用于文件、目录。
只能使用绝对路径。可以跨盘符,可以跨主机,可以使用UNC路径、网络驱动器。删除shortcut,不影响target。
2) (file) hard link硬链接
假设本文读者具有*nix基础,此处不做hard link的语义解释。NTFS内置机制,从Windows NT 4开始得到支持。FAT32不支持。只适用于文件。
只能使用绝对路径。hard link与target file必须位于同一volume,可以简单理解成不能跨盘符。在Explorer中删除hard link,不影响target file。
删除target file,不影响hard link。事实上由于hard link的语义,此时剩下的hard link就是原始数据的唯一访问点。
3) (directory) junction point/soft link/reparse point
junction point也叫soft link软链接,NTFS内置机制,从Windows 2000/XP开始得到支持。只适用于目录。只能使用绝对路径。即使创建junction point时使用了相对路径,保存到NTFS中时将隐式转换成绝对路径。在local computer范围内,可以跨盘符。
删除target directory,junction point仍将存在,但失效了,变得不可用。这个很好理解,因为此时junction point指向不存在的目录。
4) symbolic link
symbolic link不是soft link,不要跟着SB瞎起哄。NTFS内置机制,从Vista开始得到支持。同时适用于文件、目录。这是一种超级shortcut。
可以使用相对、绝对路径。假设创建symbolic link时使用了相对路径,保存到NTFS中的就是相对路径,不会隐式转换成绝对路径。
可以跨盘符,可以跨主机,可以使用UNC路径、网络驱动器。在Explorer中删除symbolic link,不影响target。删除target,symbolic link仍将存在,但失效了,变得不可用。
恶意LNK链接文件经常在勒索软件中使用
然而,在利用其他方式执行PowerShell脚本(即Windows LNK扩展名)方面,网络犯罪分子却略高一筹。LNK文件通常以快捷方式的形式出现在用户桌面或开始菜单中。实际上,LNK早在2013年已被用作攻击向量。2016年,我们注意到,木马下载器利用.zip文件夹中的.zip文件伪装LNK文件附件,形成Locky勒索软件。
如今,越来越多的攻击中开始利用恶意LNK文件。这些LNK文件使用合法App(如PowerShell)来下载恶意软件或其他恶意文件。下图以一款LNK恶意软件(趋势科技公司将其标识为LNK_DLOADR.*)为例,演示了利用LNK文件作恶的上升趋势。从图中可以看出,自2017年1月以来该软件被检测到的次数飞速上涨,表明这种方法越来越被攻击者青睐。
图1 4个月内检测到的 LNK_DLOADR
近期LNK-PowerShell和ChChes攻击
2016年10月,攻击者发起了一系列针对日本政府机构和学术机构的攻击。攻击者利用LNK、PowerShell和BKDR_ChChes恶意软件组合发起攻击, 利用虚假.jpg扩展名掩饰恶意PowerShell文件。
图2 2016年10月针对日本目标的攻击
2017年1月,APT10组织(也被称为MenuPass、POTASSIUM、Stone Panda、Red Apollo和CVNX)将类似攻击用于大规模的鱼叉式网络钓鱼活动中。在这些活动中,LNK文件执行了CMD.exe。接下来,CMD.exe下载了隐藏恶意PowerShell脚本的虚假.jpg文件。
APT10组织还在继续改进其网络间谍活动。2017年4月,他们利用类似策略下载了BKDR_ChChes。BKDR_ChChes是一款流行的恶意软件,常用于定向攻击中。
新型LNK-PowerShell攻击
我们发现了一个采用新型、复杂LNK策略的攻击行动,该行动目前可能仍在持续。攻击者似乎利用了命令行、内置工具和Windows工具。他们发送钓鱼邮件,诱骗受害者“双击以查看内容”。这些内容通常是嵌有恶意LNK的DOCX或RTF文件。LNK文件运行MSHTA.exe,而不是直接执行PowerShell。MSHTA.exe是用于打开HTML应用的文件,这里,它会执行Javascript或VBScript代码下载并执行PowerShell脚本。然后,PowerShell将执行反向shell(如Metasploit或Cobalt Strike),完成攻击。
图4 相对简单的 LNK-PowerShell 攻击
我们认为,这种攻击可能是出于政治动机,因为诱饵文件的主题与经济和争议有关。然而,很难进行全面分析,因为C&C服务宕机时痕迹才会消失。若没有全局性的了解,很难将这种攻击与已知攻击活动联系起来。
隐藏LNK命令
很多情况下,这些恶意LNK文件可披露攻击者开发环境之类的重要信息。通过查看文件属性进行快速分析后可获得该信息。
然而,我们也遇到过以下情况:命令行参数太长,在“快捷方式”页面(在“LNK_APT10属性”窗口中点击“快捷方式”页签)中无法完全显示。若查看,只能看到目标应用(如CMD.exe、MSHTA.exe和其他恶意命令行应用)。
图5 只能看到目标应用
测试表明,“目标”字段最多只能包括260个字符, 超出的内容不再显示。然而,命令行参数最多可包括4096个字段。
通常,攻击者在恶意参数前填补几个空格或换行符。使用解析工具解析后发现,恶意参数要长得多(如图6所示),但仍可正常工作:
图6 隐藏恶意代码的填补文件
通过这种方法,攻击者试图伪装或隐藏代码中的恶意部分。这种填补策略可防止对LNK文件的快速分析,但使用任何一个LNK分析器都能够轻易提取出这些参数。
建议与最佳实践
恶意软件开发者持续升级工具,并寻找不同的方法来提交恶意载荷。除了利用这些LNK文件外,以下方法也可用于防护和缓解威胁:
建议将PowerShell升级至版本5。部分Windows Management Framework和Windows 10中已包含该版本。使用“组策略开启日志记录”有利于攻击检查。
用户和企业应对通过邮件接收的可执行文件保持谨慎。大多数以*.EXE结尾的文件在邮件服务器上都是自动拒绝的,为安全起见,管理员还应考虑将以*.LNK结尾的文件添加至自动拒绝清单中。
建议不要打开任何通过邮件(或从任何本机以外)接收的LNK文件。
可通过以下方法判断LNK文件:
- 在压缩文件WinRAR、WinZip中,能清楚看到LNK扩展名和“类型”(快捷方式)。
- 对于任何Windows文件夹,右上角的重叠箭头小图标是LNK文件的标识符之一。另外一种方式是:将窗口切换成详细信息视图,然后查看类型。
- 对于Word文档中的嵌套LNK文件,用户须了解这些攻击类型,从而了解需要寻找什么。底线是:一定不要在未核实来源前打开这类文档。若您的组织不需要任何安装包对象,可编辑注册表完全禁用该功能。
趋势科技™智能端点防护(Trend Micro™ Smart Protection for Endpoints)采用Maximum XGen™安全,将高保真的机器学习与多种威胁防护技术相结合,以消除用户活动和端点中的安全空白,这是针对高级攻击最大范围的保护。
趋势科技深度威胁解决方案(Trend Micro™ Deep Discovery™)可针对当今的隐形恶意软件和定向攻击提供实时检测、深度分析和防护响应。这为组织提供了关针对定向攻击和高级威胁的全面防护,可通过专业引擎、自定义沙盒和整个攻击生命周期中无缝关联来实现,这样,即使不更新引擎或模式,组织也能够检测到威胁。
原文发布时间:2017年5月27日
本文由:趋势科技发布,版权归属于原作者
原文链接:http://toutiao.secjia.com/mallnk-link-file-attack#
本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站