正在进行:APT组织FIN7利用windows11话题诱饵的鱼叉攻击活动

一、概述

近期,伏影实验室捕获了多个使用windows11相关话题作为诱饵的钓鱼文档。这些钓鱼文档显示了一些不同于常见钓鱼攻击的思路和技巧。通过深入分析,伏影实验室发现这些钓鱼文档是FIN7组织正在进行的大规模鱼叉攻击活动的一部分,其释放的木马实际上是该组织常用的Griffon木马的较新变种。

钓鱼文档与后续攻击组件的技术细节显示,FIN7组织在本次鱼叉攻击活动中开始更频繁地检测主机环境,并在掩盖攻击痕迹方面花费了更多精力。

这些钓鱼文档再次证明,FIN7组织并未因2018年的集中抓捕行动而解散,而是在改变了经营模式后,更谨慎地进行以盗取金融资产为主的网络犯罪活动。安全厂商应密切注意使用FIN7组织已知攻击工具的各类攻击活动。

二、组织情况

FIN7是一家先进的,以金融为目标的组织,其活动最早始于2015年。

该组织历来以零售,餐饮和酒店业公司为目标,初始感染环节采用精心设计的鱼叉式钓鱼活动。一旦进入受害者的网络中,该组织便利用类似于APT的行为来维持和扩大立足点,直到他们完成目标或具备获取信息的能力。

据悉,从2015年开始,FIN7成员就针对100多家公司开展了高度复杂的恶意软件活动。组织成员入侵了数以千计的计算机系统,窃取了百万计的客户信用卡和借记卡号,进而出售并牟利。仅在美国,FIN7就成功突破了47个州和哥伦比亚特区的公司的计算机网络,从3,600多个单独营业地点的6,500多个销售点中窃取了1500万张客户卡记录。

该组织条理并结构化的运营以及他们适应和更改TTP的规模和速度表明,FIN7是大规模的网络犯罪团伙。

2018年8月1日,FIN7的三位领导者被逮捕,分别是现年44岁的乌克兰国民Dmytro Fedorov、33岁的Fedir Hladyr和30岁的Andrii Kolpakov。

然而,卡巴斯基在2019年[1]和2020年[2]的公开内容显示,FIN7组织在失去领导者后依然在进行网络犯罪活动,甚至伪装为渗透测试公司并大规模招募黑客。这一重组的黑客团体被命名为FIN7.5。

2020年底的一篇分析文章[3]显示,FIN7组织的攻击活动开始投递RYUK勒索软件。

更多组织内容可参考伏影实验室对FIN7组织的复盘分析报告[4]。

三、技术分析

本次FIN7钓鱼攻击事件中出现了多个诱饵文档,其中多数文档使用了相同的攻击流程,但包含的恶意代码与执行逻辑稍有不同。本节的分析将以名为“Clients-State-072021-4.doc”的样本为主。

钓鱼文档

该文档打开后,显示如下内容:

文档的第一页包含一张诱饵图片,声称该文档使用windows11 alpha版本制作,需要用户打开编辑功能。这是一种常见的社会工程学手法。为增加可信度,图片附带了来自windows官方网站的合法二维码链接图片。

文档的第二页包含一份字符不可见的表格,该表格包含的内容将被后续攻击流程使用。

恶意vba宏

该文档包含一段比较复杂的恶意vba宏代码,将在受害者开启word编辑功能后启动。

混淆手法

该恶意宏代码包含几种已知的混淆手法。

混淆手法一如下图,该木马包含大量注释文本,用于对抗检测。这种技巧常被一些俄罗斯APT组织使用:

混淆手法二如下图,恶意宏使用的所有字符串通过一个名为UVRqb的函数获取:

该函数的功能为从word文档中不可见表格中提取对应位置的字符串,将该字符串解析成十进制数列后,经过简单的偏移算法IBjdq1x92解出其中的文字信息。

该偏移算法使用的密钥为ASCII字符串NY2qBrOIEllx8Br。

功能

去除混淆后,容易发现该宏的主要功能有两部分。

第一部分的宏代码主函数名为FKL6POhP:

该函数主要进行运行环境的检测,其检测项包括:

  • 检测主机所在域是否名为“CLEARMIND”;
  • 通过LDAP检测是否存在CLEARMIND/RootDSE目录;
  • 检测计算机名称中是否包含VMware,Virtual,innotek,QEMU,Oracle,Hyper,Parallels字符串;
  • 检测操作系统的内存总量是否少于4GB;
  • 检测系统操作语言是否为以下之一:
LCIDcode语言
1049ru-RU俄语
1058uk-UA乌克兰语
2073ru_MD摩尔多瓦语
1070hsb-DE德语
1051sk-SK斯洛伐克语
1059be-BY白俄罗斯语
1060sl-SI斯洛文尼亚语
1061et-EE爱沙尼亚语
3098sr-Cyrl-CS塞尔维亚西里尔语
2074sr-Latn-CS塞尔维亚拉丁语
  • 检测系统语言首选项是否为俄语;
  • 检测注册表项HKEY_USERS\.DEFAULT\Control Panel\International\User Profile\Languages是否为俄语。

以上检测若命中任意一项,恶意宏将删除文档中的表格并结束程序。

第二部分宏代码寻找文档中内嵌的名为word_data.bin的ole流,将其释放和重命名至%TEMP%\word_data.js下并执行。

恶意js脚本(Griffon)

前述vba脚本释放并执行的名为word_data.js的脚本程序,实际上是FIN7组织在既往攻击事件中经常使用的Griffon木马程序。

混淆手法

该js脚本包含类似的混淆逻辑,包括使用大量注释文本对抗检测、使用混淆算法隐藏字符串内容等。

该js脚本使用的混淆算法函数ri2cy的逻辑很简单,会将输入的加密字符串转换为十进制数数列,再使用多字节异或解密出对应的字符串。该算法使用的异或键为ASCII字符串gp26vwk9。

功能

去除混淆的js脚本符合FIN7使用的Griffon木马的样式。对该木马早期版本的分析可参见伏影实验室对FIN7组织的复盘分析报告。

本次出现的新版Griffon木马增加了以下对抗功能:

  1. 运行时间校验,方式为连续获取2次系统时间并与固定值对比,用于反调试;
  2. 向固定域名tnskvggujjqfcskwk.com发送post请求并判断返回值内容,推测为控制木马的kill switch;

该木马的主要通信逻辑与早期版本一致,会尝试链接以下url:

https[:]/bypassociation.com/[path1]/[path2]?type=name

[path1]在以下字段中随机选取:

“images”, “pictures”, “img”, “info”, “new”

[path2]在以下字段中随机选取:

“sync”, “show”, “hide”, “add”, “new”, “renew”, “delete”

连接url后,其发送的post包中带有以下信息:

‘group=doc700&secret=7Gjuyf39Tut383w&time=120000&uid=’ + uniq_id + ‘&id=’ + id + ‘&’ + data

其中uniq_id为脚本启动时获取的时间戳,id由mac地址和DNSHostName组成,data部分内容为固定字符串”page_id=new”。

后续攻击载荷

经测试,Griffon木马与上述CnC通信后,会获取到一个用于收集系统基本信息的JS间谍木马。推测该木马属于当前Griffon框架的一部分。

该间谍木马使用与Griffon木马相同的通信逻辑与bypassociation.com通信,其发送的post请求包的data部分内容包含固定字符串”page_id=add_info&info=”和从受害主机收集到的以下内容:

前缀内容
username***用户名
hostname***主机名
elevated***是否为高权限,’yes’或’no’
process_owner***木马进程创建者
adinformation***木马运行目录
part_of_domain***是否在域中,’yes’或’no’
pc_domain***计算机所在域
pc_dns_host_name***计算机DNS主机名
pc_model***计算机型号
error0***获取上述内容时是否出现错误
os_name***系统名
os_build_number***系统build号
os_version***系统版本
os_sp***系统sp版本
os_memory***内存大小
os_free_memory***空闲内存大小
os_registered_user***系统注册用户名
os_registered_org***系统注册组织
os_registered_key***系统注册序列号
os_last_boot***上次启动时间
os_install_date***安装时间
os_arch***系统架构
os_product_type***产品类型
os_language_code***系统语言
os_timezone***当前时区
os_number_of_users***系统用户数量
dm_type***显示器型号
dm_screen_size***显示器尺寸
uac_level***是否开启UAC,’yes’或’no’
outlook***outlook程序信息
word***word程序信息
excel***excel程序信息
acrobat***acrobat程序信息
error1***获取上述内容时是否出现错误
process_list***进程列表
is_vm***是否为虚拟机环境,’yes’或’no’
error2***获取上述内容时是否出现错误

由此可见该木马会收集非常详细的受害者主机信息。

依照以往出现的Griffon木马逻辑,CnC主机会在确认这些主机信息后下发其他的JS木马组件。

四、其他文档分析

使用了同样诱饵图片的文档中,有一份较早出现(2021-06-29 21:22:09)的样本(md5:dc7c07bac0ce9d431f51e2620da93398)携带了独特的木马程序。该木马程序使用简单的rc4加密外壳封装,对应的密钥为ASCII字符串aeghde。

分析解密出的木马程序发现,该木马是使用C++重写的JSSLoader下载者木马程序。该木马原本是.NET程序,曾被FIN7组织和被安全厂商proofpoint称作TA543的组织使用过。FIN7组织主要使用JSSLoader木马程序下载Carbanak木马和Griffon木马。 Proofpoint的相关报告[5]对该JSSLoader的演化过程进行了详细分析。

本例中出现的JSSLoader木马连接CnC为https[:]//crafterband.com,对应IP为109.234.37.173。

五、攻击者关联

本次钓鱼攻击事件中出现的木马,是FIN7组织已知木马Griffon的较新版本。本事件中攻击者展现出的包括大规模投放诱饵、使用通用的诱饵图片、大量的对抗手段等特征也符合FIN7组织在以往攻击事件中的表现。由此可以判断,这些利用了windows 11话题的诱饵文档,是FIN7组织近期发起的钓鱼攻击活动的一部分。

有趣的是,这些钓鱼文档搭载的vba代码中,在语言检测部分加入了对德语的判断逻辑。该特征很容易联系到FIN7组织曾经的领导者Fedir Hladyr的遭遇。根据近期的一则新闻[6],这名高级成员在2018年于德国被逮捕,并在2021年4月被判处10年监禁。以上信息表明,近期的FIN7攻击活动变得更加谨慎,开始有意识地规避特定国家的执法机构。

六、结论

FIN7组织依然活跃。本次攻击事件表明,在2018年进行的集中抓捕并未彻底消灭这一网络犯罪组织。在经历了一段时间的重组后,卷土重来的FIN7组织开始使用新的运营模式和攻击模式,继续施行以盗取金融资产为主的网络犯罪活动。

通过近期攻击事件推测,组织可能已经开始销售其已有的攻击工具,促使其攻击流程与其他黑客组织的攻击流程融合。因此,防御者应积极应对使用FIN7已有木马和工具的攻击活动,检测重点应包括该组织常用的Griffon木马和JSSLoader木马等。

参考链接

[1] https://securelist.com/fin7-5-the-infamous-cybercrime-rig-fin7-continues-its-activities/90703/

[2] https://www.brighttalk.com/webcast/15591/382191/fin7-apt-how-billion-dollar-crime-ring-remains-active-after-leaders-arrest

[3] https://blog.truesec.com/2020/12/22/collaboration-between-fin7-and-the-ryuk-group-a-truesec-investigation/

[4] https://blog.nsfocus.net/fin7-review-analysis-part1-delivery-and-execution/

[5] https://www.proofpoint.com/us/blog/threat-insight/jssloader-recoded-and-reloaded

[6] https://therecord.media/fin7-hacker-sentenced-to-10-years-in-prison/

版权声明

本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。

Spread the word. Share this post!

Meet The Author

伏影实验室专注于安全威胁监测与对抗技术研究。
研究目标包括Botnet、APT高级威胁,DDoS对抗,WEB对抗,流行服务系统脆弱利用威胁、身份认证威胁,数字资产威胁,黑色产业威胁及新兴威胁。通过掌控现网威胁来识别风险,缓解威胁伤害,为威胁对抗提供决策支撑。

Leave Comment