人权倡导组织大赦国际(AmnestyInternational)上周发布的一份报告披露了一份名为FinSpy跨平台间谍软件套件macOS该软件由总部位于德国的机构变体FinFisher开发和销售。FinSpy该工具括键盘记录程序、音频录制、摄像头、截图工具、远程访问等多种功能shell、文件枚举和exfilter函数。在本文中,研究人员将看看如何监控它macOS变体,了一些以前没有发布的攻击指标。
什么是FinFisher间谍软件?
根据FinFisher公司生产自己的网站和营销资料“收集战术情报”、“收集战略情报”和“部署方法和开发”工具。该公司表示,它只与“执法和情报机构”合作,并“在全球范围内开展业务”。
然而,大赦国际和其他民权组织(如公民实验室)已经注意到FinSpy用于攻击埃及、埃塞俄比亚和阿联酋“活动家、记者和持有不同政治观点的人”活动。除了使用FinFisher除了产品,将这些不同的活动联系起来,可以看出攻击目标往往是“人权维护者”。
尽管针对macOS研究人员发现了用户工具包的恶意软件,macOS套件的某些组件在Apple桌面平台的最新版本似乎不起作用,但最近的测试证实,大赦国际共享的恶意软件样本仍将启动和感染macOSCatalina(2019年10月8日,macOSCatalina正式上线)安装。
FinSpyformacOS如何工作?
大赦国际在VirusTotal哈希提供了样本:
由于样本尚未公开测试,需要为用户设计社会工程,而不是对macOSCatalina公开测试。
木马安装程序MacOS文件夹包括两个可执行文件和一个目录。
Bash脚本InstallÇağlayan隐藏的.log在文件夹中执行恶意应用程序捆绑包的逻辑:
ARA0848.app的Mach-O可执行文件包括监控虚拟机环境中执行情况的逻辑Parallels,VMWare或VirtualBox任何虚拟化软件都可以阻止macOS恶意软件研究人员分析:
在隔离试验环境中逆转macOS恶意软件一直是一个明智的选择,因此研究人员必须对样本进行一些小的改变,以逃避其内置的抗分析监测程序。在上述样本中,研究人员在实验室中使用了一个独立的样本Parallels所以虚拟机应该用一些简单的二进制补丁来处理VM监测。ParallelsDesktop被称为macOS最强大的虚拟机软件。Mac同时模拟运行Win、Linux、Android不需要重计算机的情况下,可以在不同的系统之间随意切换各种操作系统和软件。
首先,从二进制文件开始DMG复制到本地磁盘,然后在vi打开编辑器中的二进制文件:
然后,从vi调用命令行xxd实用程序:
现在研究人员编辑每个字符的第一个字符,并将其从“parallels”改为“xarallels”,方法是将十六进制70(“p”)替换为78(“x”)。然后研究人员使用%!xxd-r将十六进制反转回二进制格式并使用wq命令保存vi中。
在macOSCatalina启动样本需要重写公证检查,然后研究人员可以立即观察恶意软件提高特权的请求。强制使用后,恶意软件立即将以下文件写入用户 Library cache文件夹中:
除此之外,FinFisher间谍软件也通过了/Library/LaunchAgents文件夹中编写一个名为logind.plist的域级LaunchAgent寻求持久性。
程序参数//private/etc/logind研究人员找到以下目标setuid,setgid文件:
虽然/etc/logind(或/private/etc/logind)众所周知,在研究人员的测试中删除的可执行文件上的路径是恶意软件。VirusTotal据研究人员所知,以前没有分享:
同一个名字出现在不同的文件中,VT原因显然没有注明。

FinSpy是一种完全无法监控的新型恶意软件吗?
恶意软件开发商和经销商总是热衷于将其产品描述为“无法监测”或“完全不可监测”(FUD)为了吸引客户,研究人员确信这些方向“执法和情报机构”销售工具的人也会这样宣传。假如你打算购买恶意软件(尤其是间谍软件),那么你选择的第一个功能就是如何不被发现。
虽然广告震天响,但只有少数恶意软件真的是“完全不可监测”,因为它需要以一种特定的、可预测的方式行动来实现它的目标(例如,记录击键C2通信等),在这方面FinSpy也不例外。
事实上,安全研究人员和静态搜索引擎已经注意到了FinSpy很久了。尤其是FinFisher用户路径用于持久代理:~/Library/LaunchAgents/logind。
这条路径至少在2017年被发现,其他攻击路径在最近几个月逐渐增加到Apple的MRT.app中,在v1.52和v1.64中添加了新的监测路径:
尽管如此,即使是现在,MRT.appv1.66还没有在域级搜索LoginAgent。
但更重要的是,MRT.app监测不会停止FinSpy对Mac用户攻击。苹果的MRT.app它是一种感染工具,但主要在用户启动Mac或者登录用户账户,苹果在后台默默更新工具时运行。
苹果使用了许多不同的技术来防止恶意代码的启动和执行:Gatekeeper,Notarization和XProtect。虽然非常有用,但前两种软件都有用户可以屏蔽的弱点,这意味着恶意软件可以通过社会工程或临时访问受害者计算机来安装。
在macOS10.15Catalina上,XProtect它变得更加防御性,能够抵抗用户的绕过,但是XProtect它的功能仅限于它包含的签名。因为在实际测试中,研究人员可以执行它FinSpy木马安装程序及其在macOSCatalina10.15.7因此,研究人员推测安装中包含的隐藏恶意应用程序包XProtect没有能力监控最新的FinSpy样本。
SentinelOne能否防御?FinSpy/FinFisher恶意软件?
研究人员对上述样本的测试表明,SentinelOne代理已经能够正确地监控和阻止它macOS恶意软件FinFisher/FinSpy。
研究人员的行为监测表明,FinSpy恶意软件尝试逃避监测并进行发起持久性攻击,SentinelOne研究人员已分别找到MITRE ATT&CK TTPs T1211和T1160。
SentinelOne管理控制台过程树准确映射恶意过程的执行情况,正确判断恶意过程(红色部分):
总结
针对macOS的FinSpy恶意软件是商业生产和销售的产物,旨在感染Mac用户窃取数据和远程控制目标计算机进行间谍活动。尽管研究人员无法确定间谍软件是否由全球执法机构或情报机构决定“合法”但研究人员仍致力于确保用户在其端点受到应有的保护程序或其他未经授权的软件的完全保护。
攻击指标
本文翻译自:https://www.sentinelone.com/blog/how-to-catch-a-spy-detecting-finfisher-spyware-on-macos/如果转载,请注明原始地址: