简介和背景
Check Point研究人员在追踪一起正在进行的恶意垃圾邮件活动时发现,该攻击活动正在攻击超过80个土耳其公司。恶意软件使用不同的绕过方法来绕过安全解决方案。
初始的攻击向量是从一个包含office文件附件的钓鱼邮件开始的。该文件是格式为很早的BIFF格式,因此无法被常见的office解析工具解析。在下一个阶段,会下载一个恶意JAR文件。该文件经过了严重混淆,其中携带了多种绕过技术来绕过安全产品的监测。然后jar文件会释放一个Adwind RAT,Adwind是一款多平台的恶意软件,被配置为窃取敏感信息,获取受害者机器的远程访问权限后会发送窃取的信息到攻击者的C2服务器。
所有这些文件在Virus Total的检测率都很低,主要原因是经过了严重的混淆。
感染链
攻击者发送恶意邮件给受害者;
受害者触发恶意内容;
从GitHub下载恶意RAT;
恶意软件建立到C2服务器的连接。
图1: 感染链
下载恶意JAR文件
附件内容翻译:
主题:您好。年度人寿保险单据
正文:附件为负责人阿塞纳夫人转发的文件。
等待你的答复 …
祝您工作顺利。
问候
下载器
初始的恶意文件是XLS或CSV格式。XLS文件中含有外部引用记录,用来触发恶意JAR文件的下载:
图 2: 来自XLS恶意文件的恶意外部引用记录
命令:`cmd /c powershell –executionpolicy bypass –W Hidden –command` 的作用是下载一个名为zpmqwjs.docx的JAR文件。
Externsheet Injection是一种不常见的技术,这也就解释了为什么只有一小部分安全产品能够监测到该恶意文件:
图 3: 先前XLS文件的病毒总数判定
此外,攻击者可以在单元格内容中加入许多垃圾和特殊字符,并且使用了一个非常老的BIFF版本,因此监测攻击无法分析该文件。BiffView分析攻击返回的错误信息如下所示:
图 4: BiffView尝试处理XLS文件
该CSV文件是用来通过Formula injection(公式注入)技术来下载相同的JAR文件。这两个向量都需要用户交互才能下载恶意JAR可执行文件。
Github库
位于pages.github.com的Github页是一个静态站点托管服务。它给予web管理员直接从其GitHub存储库向其网站提供Web文档的能力。负责该攻击活动的攻击者用GitHub Pages页面服务创建一个web站点来传播位于该库的恶意软件样本。
图 5: 攻击者Github账户
一个用该GitHub相关的用户账户是“5308682”,该账户与18个不同的库有关,与该攻击活动相关的当前库是“ofxamz19”。
攻击者保存的大多数文件都是相同的恶意JAR文件的变种,使用了不同的文件名:“wucgy3jecwgpv.svg”, “6da7uj4b4oi2a.pdf”, “zpmqwjs.docx”。
攻击活动的发展
Talos 和 Sophos 之前报告过该攻击活动的早期阶段。研究人员也注意到该攻击活动的发展,表明攻击者在不断地改进其技术来维持较低的检测率。
释放器和payload
释放器和payload文件是经过混淆的,只有少部分安全厂商可以监测。研究人员认为没有工具完全反编译了该恶意软件。
图 6: CafeBabe反编译释放器失败
图 7: 安全产品几乎检测不出来恶意JAR文件
图 8: 释放器混淆的main函数
图 8表示释放器反编译的代码。所有函数的调用都是嵌入在解密函数(gv)中的,比较是通过两个加密的值来实现的。
从图6中可以看出,研究人员预估计分析JAR文件的最好的解决方案是从字节码(bytecode)来调试。运行时调用的所有静态函数的参数都是加密的,输出也是加密的。所有有趣的函数调用都是通过动态调用。
Gv函数和`findStatic`的关系,以及Java语言的findDynamic识别了Gv是main解密函数。
图 9: Gv函数断点表明加密的动态调用和findStatic的原型
与攻击活动的之前版本比较,研究人员发现恶意软件执行了多种新的绕过技术来欺骗通用的模拟沙箱:
· 检查JVM的默认位置是否土耳其;
· 检查机器语言是否土耳其语;
· 检查计算机的计算机名是否土耳其语。
· 然后,恶意软件会连接到checkip.amazonaws.com来收集公有IP,查询ipinfo.io/public_ip/country来检查与IP地址相关的国家是否土耳其。
如果以上条件有一条不满足,恶意软件就不会显示真实的行为。
然后,payload会通过WMIC.exe来搜索反病毒软件,并发送信息到C2服务器。
`WMIC /Node:localhost /Namespace://root/SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List`
Windows工具Attrib.exe会用来将payload变成一个隐藏的文件。
恶意软件是与一个Windows对象相关联的。双击恶意软件图标会开始图10中的控制面部来误导受害者。事实上,双击图标并不会开始恶意行为。但用Java持续开始该文件就会开始信息窃取。
老版本的恶意软件是与Trash文件相关联的。
图 10 : 图标
图 11: HKCU中用来实现驻留的注册表
`HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run`处写入的注册表用来确保机器重启后恶意软件的驻留。
在运行完前面所有的绕过机制后,恶意软件会尝试在tcp 1505端口连接到21736.xyz:
图 12: 恶意软件内存提取
图 13: Adwind v3.0 攻击者面板
上图表示标准Adwind v3.0的面板,该面板使得攻击者具有以下能力:
· 拍照或从PC录制视频和音频;
· 窃取文件、缓存的口令和web数据;
· 收集键盘输入;
· 收集vpn证书;
· 控制安卓设备的SMS系统;
· 进一步入侵网络。