FIN8 APT组织新动作:一起 “精心布置” 的定向窃密活动
文|腾讯洋葱反入侵系统
vspiders、七夜、柯南
概述
4月11日,腾讯洋葱反入侵团队监测到一起PyPI软件供应链攻击事件,经过追溯疑似是由境外APT组织FIN8首次使用该手法进行的针对性攻击。
攻击者在PyPI官方仓库伪造上传了guzzlehttp恶意包,该恶意包通过伪造著名PHP库 guzzlehttp/guzzle的名称 ,诱导用户认为是官方包的Python版本而进行下载安装,试图窃取 chrome浏览器用户数据、社交账号数据(微信、QQ、Telegram、Skype等),桌面文件、主机数据等敏感信息。
由于guzzlehttp/guzzle库非常流行,受众很广,而且国内开源镜像站均同步于PyPI官方仓库,所以该问题不仅会通过官方仓库,还会通过各个开源镜像站影响用户,导致影响范围成倍扩大。目前已通知官方下架,从下载量统计仅PyPI官方渠道就有数百名用户被攻击,国内镜像站感染用户数暂无统计数据。
事件影响
1. 境外APT组织 FIN8 定向攻击
经过溯源定位确认此次软件供应链攻击是由FIN8 组织发起的定向攻击,攻击目标是guzzlehttp/guzzle库的用户。
FIN8 是⼀个⽹络⾦融犯罪组织,它的典型攻击模式是从销售点(PoS)的环境中窃取⽀付卡的数据,特别是针对零售商、餐馆和酒店⾏业的销售点。该组织⾄少从2016年以来就⼀直很活跃,但是在2019年中期沉寂了1年多时间,在2020年回归之后,陆续被国外安全⼚家发现并追踪其最新攻击⾏为,FIN8组织详细介绍见附录文章。
此外根据国内外公开的FIN8攻击报告统计,此次发现的软件供应链攻击行为尚属首次,疑似FIN8组织在软件供应链上尝试新的攻击方式。
2. guzzlehttp/guzzle简介
guzzlehttp/guzzle 是一个非常流行的PHP库,主要应用场景是作为 HTTP客户端,特点是可以便捷发送HTTP请求,并能与Web服务快速集成。guzzlehttp/guzzle使用范围广,影响力大,拥有庞大的用户量。
1. guzzlehttp/guzzle所在github仓库 (https://github.com/guzzle/guzzle/) star数量:20.7k,fork数量:2.2k , 在2020年最流行的100个PHP库排行榜中排名第8,迭代更新接近10年。
2. 根据 PHP Package Repository
(https://packagist.org/packages/guzzlehttp/guzzle) 的数据统计,guzzlehttp/guzzle库 已下载安装 263,628,670次,有至少 4,905 PHP框架/应用对此库有依赖。
3. 受影响用户地区分布
根据PyPI官方仓库的下载记录,在guzzlehttp恶意包从4月11日上线到4月15日被官方下架期间,仅从PyPI官方仓库下载就达数百次,来源IP涉及超过6个国家或地区。
但由于PyPI代理源的普遍使用,大部分用户并不会直接从PyPI官方仓库进行下载安装,因此实际感染数量将远大于此。guzzlehttp恶意包感染地区分布如下图所示:
供应链攻击手法
1. 采用跨平台抢注手法
跨平台抢注指的是软件包官方仅在单一平台提供软件的下载和安装,而在其他平台没有提供相应方式,攻击者可以通过在不同平台注册相同或相似的包名上传恶意软件,诱导用户下载安装。这种方式对拥有庞大用户量的软件包,尤其有效。
2. 项目主页伪装
为了增加迷惑性,对guzzlehttp钓鱼包所在的PyPI仓库主页进行一定程度的伪装,直接复用guzzlehttp/guzzle官方对软件包的描述,同时将项目链接替换为 guzzlehttp/guzzle官方github仓库地址。
恶意样本分析
guzzlehttp钓鱼包在执行安装时,会将两个b64编码内容解密并落地到文件执行,主要会释放两个文件。
1. 植入Python后门
第一个b64字符串 解码文件为一个python后门,通过app.omitrezor.com进行通讯,并远程执行该C&C服务器返回的指令。代码如下:
2. 敏感信息窃取
第二个b64字符串解码后的文件功能主要用于macos、windows的敏感信息窃取。
根据系统的不同,分别使用php脚本和exe进行信息窃密,两个文件的功能相似,都会窃取机器的各种敏感数据并压缩后发送至collect-sync.jsdelivrs.com。
通过分析,恶意二进制样本首先会对win环境进行检测,包括对路径、用户名和网络进行初始化判断。
之后恶意文件会获取机器的IP、MAC、Hostname等信息,并将消息封装发送至远程C&C。
该恶意样本提供了两种运作方式,如果执行时带有参数,则通过指令获取指定的敏感信息
否则默认发送全部信息。
其中收集的敏感信息列表如下:
微信、QQ、Telegram、Skype等社交账号数据
Chrome浏览器:包括cookies、书签、历史、设置、最常访问、网页缓存和登录信息
PC桌面文件
主机信息:系统名称,用户名,MAC,IP,进程列表
IOC
域名:
cdn-93887294.img.sj.mozilla.work
collect-sync.jsdelivrs.com
app.omitrezor.com
MD5:
d6ca8e84e08a5bc3976edb84db09c33d
溯源追踪
1. 木马样本的通信地址2020年曾经被FIN8组织多次使用
经分析恶意样本通信域名cdn-93887294.img.sj.mozilla.work,发现其中的 mozilla.work 并非mozilla官方使用的域名,在2020年8月通过域名服务商NameCheap注册。
经过分析发现,该域名cdn-93887294.img.sj.mozilla.work是一个伪造的cdn域名,结合威胁情报跟踪追溯到 FIN8 APT组织,历史上至少两个以上的FIN8 APT 木马曾与该地址存在过通信。
上图中已定性的FIN8木马 IOC信息如下:
SHA-256:
cb4b6c107d58ddbb0d3f1725c3097b416c20e700bbfa9dfe2f8b97ad5ca9eeed
3b52ee03e6b7e04148a8e76598519fde54e01508b8f5651394008ef76805809a
2. 窃密木马样本 和 FIN8 历史某样本高度相似
通过mozilla.work 域名和发现时间进行关联,找到以上FIN8历史样本,发现hxxp://cdn-93887294.img.sj.mozilla.work/qs/urlsc.exe 的代码结构与本次供应链攻击的样本 hxxp://cdn-93887294.img.sj.mozilla.work/collect.exe 极其相似。
由此推测本次供应链攻击事件是FIN8组织发起,用于利用新型供应链攻击窃取用户敏感信息。
总结
近几年脚本语言社区因管控薄弱、攻击成本低成为软件供应链攻击的重灾区,到目前为止,腾讯洋葱反入侵系统已经发现多起严重的软件源投毒事件,并向业界提前发出通知。
4. 腾讯洋葱反入侵系统检测到多例恶意Python库供应链投毒
同时,我们秉承共建安全生态的原则,主动向外界分享了洋葱反入侵系统针对软件源投毒场景的检测方案。
源头之战,不断升级的攻防对抗技术 —— 软件供应链攻击防御探索
兵无常势,水无常形,黑客投毒的手法越来越隐蔽,攻防对抗的难度也随之不断升级,唯有一直紧跟技术发展趋势,持续不断进阶,才能在安全攻防对抗中取得先机。
关于洋葱EDR
“洋葱”端点检测与响应系统(EDR,又名反入侵系统)是腾讯公司安全平台部自研的服务器安全系统,担负着数百万服务器、虚拟机、镜像的安全基线管理、入侵检测和应急响应。
附录
1. https://attack.mitre.org/groups/G0061/
2.https://valhalla.nextron-systems.com/info/rule/APT_FIN8_NET_Stager_Jun19_1
3.https://packagist.org/packages/guzzlehttp/guzzle
4. https://github.com/guzzle/guzzle/
我们是TSRC
互联网安全的守护者
用户数据安全的保卫者
我们找漏洞、查入侵、防攻击
与安全行业精英携手共建互联网生态安全
期待正能量的你与我们结盟!
微信号:tsrc_team
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 奋力打开改革发展新天地 7953802
- 2 保时捷断臂求生 7982273
- 3 刘强东提前发年终奖 7879321
- 4 “冷资源”里的“热经济” 7756195
- 5 全球约有1.9亿妇女为内异症患者 7659675
- 6 喝水后有4种表现提示肾有问题 7592163
- 7 #胡锡进称大学生要先工作不应啃老# 7425582
- 8 宋仲基炫耀女儿 7307979
- 9 会计发现领导语气不对劲保住296万 7248382
- 10 美国从此特朗普说了算吗 7140120