研究人员分析了XCSSET恶意软件攻击最新macOS 11(Big Sur)系统的特征。之后,XCSSET恶意软件攻击活动又向其工具集中增加了一些新的特征。在其最新的攻击活动中,研究人员发现了XCSSET从不同APP中窃取信息的机制。

XCSSET恶意软件如何窃取信息?

从最初的XCSSET版本开始,研究人员就发现恶意软件会从不同的APP中收集数据,并发送回其C2服务器。但是研究人员并不知道攻击者如何使用这些数据。研究人员最近发现了XCSSET用来窃取数据的工作机制,并发现其中含有一些可以用于其他目的的敏感信息。

以恶意AppleScript文件“telegram.applescript”为例,该文件名中可以看出telegram就是目标APP。其主逻辑是压缩文件夹“~/Library/Group Containers/6N38VWS5BX.ru.keepcoder.Telegram”到ZIP文件中,然后上传该文件到其C2服务器。

图 1. telegram.applescript代码

为找出收集该文件夹的目的,研究人员使用2个Mac机器来执行简单的测试:

◼在测试机器A和机器B上都按照telegram应用

◼在机器A上,登入有效的telegram账户。在机器B上不做任何操作。

◼将机器A的“~/Library/Group Containers/6N38VWS5BX.ru.keepcoder.Telegram”文件夹复制到机器B,并替换现有文件夹。

◼在机器B上运行telegram。完成后,就登入了与机器A相同的账户。

在macOS系统中,应用沙箱目录/Library/Containers/com.xxx.xxx和/Library/Group Containers/com.xxx.xxx可以被普通用户以读或写权限访问。这与iOS中的实践是不同的。此外,并不是所有的可执行文件都是在macOS沙箱中的,也就是说一个简单的脚本就可以窃取沙箱目录中保存的所有数据。因此,研究人员建议应用开发者不要在沙箱目录中保存敏感信息,尤其是保存于登录信息相关的信息。

XCSSET窃取的敏感信息

XCSSET恶意软件从这些应用中窃取了许多的关键隐私数据,其中大多数都保存在沙箱目录中。下面演示如何在Chrome中窃取敏感信息:

在Chrome中,窃取的数据包括用户保存的密码,XCSSET恶意软件需要使用命令security find- generic-password -wa ‘Chrome’来获取safe_storage_key。但是给命令需要root权限。为了获得该权限,恶意软件将所有需要root权限的操作都放在一个单独的函数中,如图2所示:

图 2. 需要管理员权限的操作

然后恶意软件会通过一个伪造的对话框来诱使用户授予这些权限:

一旦获得Chrome safe_storage_key,恶意软件会解密所有的敏感数据并上传到C2服务器。

图 3. 窃取的Chrome信息

图 4. 窃取Chrome的信息

研究人员还发现了攻击以下应用的类似的脚本:

◼Contacts

◼Evernote

◼Notes

◼Opera

◼Skype

◼WeChat

新C2域名

从2021年4月20日到4月22日,研究人员发现了一些新的域名,这些域名都解析到了XCSSET 之前使用过的IP地址94.130.27.189,这些域名包括:

◼atecasec.com

◼linebrand.xyz

◼mantrucks.xyz

◼monotal.xyz

◼nodeline.xyz

◼sidelink.xyz

类似地,域名icloudserv.com会解析到一个非恶意的IP地址94.130.27.189。

这些新的域名都有来自“Let’s Encrypt”的HTTPS证书,有效日期为4月22日到7月21日。

图 5. C2服务器的HTTPS证书

从2021年4月22日开始,所有的C2域名都解析到了IP地址 194.87.186.66。5月1日,出现了一个新的域名irc-nbg.v001.com被解析到了原来的C2 IP地址94.130.27.189。该新域名表明在该IP地址上有一个IRC服务器,这好像与XCSSET恶意软件是无关的。

从2021年6月9日到10日,所有与XCSSET C2服务器相关的现有域名都被移除了。取而代之的是如下的新域名:

◼atecasec.info

◼datasomatic.ru

◼icloudserv.ru

◼lucidapps.info

◼relativedata.ru

◼revokecert.ru

◼safariperks.ru

6月24日,这些服务器也被攻击者移除了。目前,研究人员无法定位XCSSET恶意软件的新服务器。

其他行为变化

Bootstrap.applescript

在bootstrap.applescript中,最大的变化是使用了最新的C2域名:

图 6. 使用的C2域名

除了现有的域名外,IP地址也是该列表的一部分。虽然域名无法访问了,但是仍然可以通过IP地址来访问C2服务器。

图 7. 使用的模块

研究人员还发现恶意软件添加了一个新的模块“canary”来对Chrome Canary浏览器执行XSS注入,canary是Chrome浏览器的一个实验版本。

图 8. 使用的模块

与最新的版本相比,screen_sim被移除了。

Replicator.applescript

作为感染本地Xcode项目的第一步,恶意软件修改了注入的build节点,将build规则的ID从硬编码的ID变成了随机生成的ID,但是ID的最后6个字符仍然是硬编码的AAC43A。在最新的版本中,硬编码的后缀修改成了6D902C。

图 9. 修改的后缀

我这整理了网络安全的学习资料!!!

关注私我获取资料

什么?还有可以攻击telegram和其他APP的恶意软件相关推荐

  1. SolarWinds 供应链攻击中的第四款恶意软件及其它动态

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 网络安全公司赛门铁克指出,从 SolarWinds 供应链攻击中找到了第四款恶意软件并将其命名为 Raindrop.之前找到的三款恶意 ...

  2. SolarWinds 供应链攻击中的第三款恶意软件

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士团队 网络安全公司 CrowdStrike 是直接参与调查 SolarWinds 供应链攻击事件的公司之一.今天,该公司表示发现了直接参与该攻击的 ...

  3. BlackSquid恶意软件分析:利用8个臭名昭著的漏洞攻击服务器,并投放挖矿恶意软件

    概述 如果说,攻击者成功利用未修复的安全漏洞实现攻击的事件,大家已经习以为常.那么,如果有攻击者使用了8个漏洞来获取企业资产数据及客户信息,那么事情就变得不一样了. 近期,我们发现了一个新型恶意软件系 ...

  4. http://show.ku6.com/app.html,恶意软件分析 URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析...

    META-INF/MANIFEST.MF A${dc;y /62IB* E6P~ \ _9M`;'6tU lc#gl_ ~S75[A# r\Ub&M[ )34~a_ i5sn;8]U oH#z ...

  5. 为什么app会被常常攻击?如何预防攻击?

    先讲一下为什么app会被常常攻击呢? 1.APP根本都是含有盈利性,某些具有商城买卖等性质的APP,假如经营情况很好的情况下,免不了被一些同行业的人眼红,因为人的嫉妒心使然,就导致他剑走偏锋,经过不断 ...

  6. HTML5 App的代码注入攻击

    摘要 基于HTML5的手机app(译者注:以下简称HTML5 app)越来越流行了, 在大多数情况下它比native应用更容易适配不同的移动操作系统.它开发起来很方便,可以使用标准的web技术,包括H ...

  7. 社交语聊APP发展前景及遇到黑客攻击怎么解决

    聊天交友软件行业发展前景 聊天交友软件顾名思义就是可以用于聊天.交友的软件.随着移动互联网的快速发展,通信也找到了新的表达方式.越来越多的人可以通过聊天交友软件直接交友,或者通过一对一视频更直接地了解 ...

  8. 【实战分享】安卓app测试的一些记录

    一.app代码未混淆 1.使用7zip解压apk文件 2.执行命令:dex2jar.bat apk解压后文件夹中的classes.dex文件 3.上述命令执行后会在apk文件夹中生成java源码文件c ...

  9. iap java md5_苹果应用内支付(iOS IAP)的流程与常用攻击方式

    1. 客户端直接verify苹果的receipt 如果verify成功 自行发放商品 2. 客户端将receipt传给server,由server进行验证并发放商品 按照安全性原则, 客户端的所有信息 ...

最新文章

  1. Java 程序优化之对象池
  2. python代码需要背吗-20个Python代码段,你需要立刻学会,好用到哭!
  3. 物理机Windoes上运行VWware 虚拟机连接外部物理机、外部网络的方法
  4. c++ 如何判断无效指针_如果链表中有环,我们应该如何判断?
  5. Executor框架、ThreadPoolExecutor、3种常见的线程池
  6. 关于H3C iNode防代理功能会将pplive等软件检测为代理而下线问题的解决方法
  7. QT5.4 vs2013静态加载插件的sqlite静态编译
  8. 代码需要不断进化和改变
  9. 10分钟看懂浏览器的渲染过程及优化
  10. 如何对第一个Vue.js组件进行单元测试
  11. 学会用感情营销是最高的智慧
  12. Java集合源码剖析
  13. Verilog——秒计数器
  14. 元宇宙-漫游世界后与Cocos一起看湖南卫视直播
  15. 信息学奥赛一本通C++语言——1139:整理药名
  16. excel数据转换成对应公式
  17. 计算机专业当兵优势,本科应届毕业生直接“入伍”有什么优势?看完你就明白了...
  18. 全志A64平台 TP9950 BT656输入驱动调试(1)环境搭建驱动编写
  19. break algorithm---刷题map
  20. 操作系统-Linux内核系列

热门文章

  1. PuTTy:PuTTy的简介、安装、使用方法之详细攻略
  2. VS Code Remote,在服务器上开发程序,开启全新开发模式
  3. (转)select、poll、epoll之间的区别
  4. Nrf51822中设置128bit UUID service
  5. HTML 的特殊字符转换转义符,的两种方法。
  6. 【bzoj4870】[Shoi2017]组合数问题 dp+快速幂/矩阵乘法
  7. Interval query
  8. 51Nod --1133 不重叠的线段
  9. C# 5.0中新增特性
  10. [创业经验] 白手起家的艺术