news 2026/1/5 22:26:00

第136篇:美国NSA的苹果手机“三角测量“后门的窃密模块分析 | 机器学习引擎识别照片信息

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第136篇:美国NSA的苹果手机“三角测量“后门的窃密模块分析 | 机器学习引擎识别照片信息

Part1 前言

大家好,我是ABC_123。在上一篇文章《第135篇:美国APT的苹果手机"三角测量"行动是如何被溯源发现的》中,ABC_123为大家着重讲解了美国APT针对iPhone、iPad等苹果可移动设备的"三角测量"攻击,并详尽描述了它是符合被溯源发现的。"三角测量"攻击行动极其复杂,其复杂度也符合美国NSA历来APT攻击案例(如震网病毒、火焰病毒)的风格,该后门代码的兼容性暗示其使用了长达10年之久。今天ABC_123重点讲解该行动中三角测量后门TriangleDB的一些窃密功能,为大家的安全运营防护提供实用借鉴(文末有技术交流群的加群方式)。

注:美国NSA在三角测量后门中添加了机器学习模块提取手机照片中的文字信息。由此推断,当前的APT攻击或者APT后门,必将大量引入AI大模型。

Part2 后门的各种窃密模块

  • 神经网络机器学习提取照片数据

"三角测量"后门有一个插件,用于提取手机相册中的照片的元数据。现在手机、笔记本电脑的照片清晰度越来越高,造成图片数据是几G、几T的存在,靠移动设备后门传输动作太大,极易被安全设备发现。为此,美国APT攻击者利用神经网络引擎从照片中提取敏感信息。每当受害者在苹果手机中保存一张照片的时候,后门的神经网络引擎、机器学习模块开始分析它,并从如下照片中,检测出椰子、沙滩、海水、吸管,该引擎还可以识别照片中的文字,比如刻在椰子上的beach单词。三角测量后门获取这些元数据内容之后,把这些数据发送到C2服务端进一步分析。这也是首次看到APT后门使用机器学习来提取敏感数据。

可以检测照片中的动物信息。

检测相册中的图片是否有文档类的内容。

  • 手机录音窃听模块

名为 "msu3h" 的麦克风录音模块是 "三角测量"行动中对用户隐私构成严重威胁的功能模块之一。模块名称中的3h可能指3小时,即默认录音持续时间。而且只有在受害者关闭屏幕时才会录音,所以肉眼很难发现;如果发现苹果设备的日志在被读取,该模块会关闭并通知攻击者攻击已经暴露。

1. 当msu3h模块被执行时,它会先解密自身的配置,其加密算法来源于游戏GTA IV的哈希算法变体,属非标准实现。

2. 此msu3h模块只在苹果设备的电池电量超过 10% 时才会继续执行录音任务,防止因为录音导致电量过低引发用户对攻击行为的注意。

3. 此msu3h模块的配置文件里保存了录音时间、用于加密录音的 AES 密钥等基础信息,同时还有一些控制选项,包括:suspendOnDeviceInUse选项,控制在苹果设备的屏幕开启时是否停止录音;syslogRelayOverride选项,设置在捕获系统日志时是否录制音频。

4. 在录音实现方面,msu3h模块基于 iOS 的底层音频接口(Audio Queue API)进行采集。采集到的音频首先由 Speex 编解码器进行压缩处理,随后以 AES 加密的方式存储或传输。除音频数据外,每段录音还附带诊断消息。这些诊断消息以四字节标识符表示,用以指示录音的状态或错误类型(例如因屏幕点亮、中断或存储不足等导致的录音终止原因)。攻击者可据此在回收数据时快速判定录音记录的完整性与中断原因。

  • 苹果设备钥匙串账密窃取模块

攻击者还为TriangleDB三角测量后门增加了一个专门用于窃取 iOS 钥匙串(Keychain)内容的模块。该模块的功能与 TriangleDB 中已有的数据窃取组件相似,并大量借鉴并复用了开源项目 iphone-dataprotection.keychainviewer 的代码。iPhone / iPad 的钥匙串为操作系统提供的一处安全存储区,用以保存密码、证书、Wi-Fi 凭据与应用令牌等敏感信息,并通常受系统级访问控制保护,不应被任意第三方应用读取。

苹果设备的钥匙串里可能有 Apple ID、邮箱或服务的登录凭证、VPN 证书及应用访问令牌,攻击者便可以借此进行横向渗透、用户身份冒充或长期保持对该苹果设备的用户的访问权限。

  • SQLite 数据库数据窃取模块

许多 iPhone 与 iPad 设备都使用 SQLite 来持久化存储器各类信息,TriangleDB后门内置了SQLite数据库数据窃取模块。这些模块共享统一的代码库框架,通过携带和执行不同的 SQL 查询以有针对性地提取各类敏感数据。每个模块携带一个加密的配置文件,解密后可获得标准参数,包括目标数据库文件路径、用于加密导出文件的 AES 密钥以及执行的查询语句等。模块运行时会根据配置对指定数据库执行查询,将结果写入临时文件;文件写入功能的代码实现采用了定制的fopen封装,使得输出在生成时即进行 zlib 压缩并用 AES 加密,从而在磁盘上直接以加密压缩形式存储并随后上传至 C2。

这个窃密模块的代码实现非常新颖。例如,TriangleDB后门对标准的fopen()函数进行了封装,新增了一个标识位(记作Z)以表示“在创建/写入文件的同时对数据进行 zlib 压缩并使用 AES 加密”。该标识可与常规写入标志结合(如"wZ"),使得产出文件在写入时即以压缩且加密的形式落盘,从而在磁盘上以不可读的加密压缩格式保存,增加了取证与静态检测的难度。

值得注意的是,这些 SQLite 窃取模块针对不同 iOS 版本实现了三套分支代码:针对低于 8.0 的版本、针对 8.0 至 9.0 的版本,以及针对 9.0 及以上版本,以提高模块的兼容性、隐蔽性以及提取成功率。

每个 SQLite 窃取模块都会执行针对性设计的 SQL 查询以提取特定类别的信息。例如,有的模块用于处理knowledgeC.db 数据库的应用使用记录与行为数据。有的模块用于提取与照片相关的元数据,比如识别照片中是否有儿童,判别人物性别,并对媒体文件执行光学字符识别(OCR)以提取嵌入的文本内容。

END AS 'Face(s) Detected',CASE face.ZAGETYPE WHEN 1 THEN 'Baby / Toddler' WHEN 2 THEN 'Baby / Toddler' WHEN 3 THEN 'Child / Young Adult' WHEN 4 THEN 'Young Adult / Adult' WHEN 5 THEN 'Adult' else 'Unknown'END AS 'Subject Age Estimate',CASE face.ZGENDERTYPE WHEN 1 THEN 'Male' WHEN 2 THEN 'Female' else 'Unknown'END AS 'Subject Gender',person.ZDISPLAYNAME AS 'Subject Name'

除此之外,攻击者也会利用模块对 WhatsApp、短信以及 Telegram 等通讯工具的数据进行窃取。

  • 苹果手机位置监控模块

该模块以独立线程在后台持续运行,主要用于长期采集受害者的地理位置信息。为获取系统定位权限并提升隐蔽性,模块会伪装成合法的系统定位组件(例如位于/System/Library/LocationBundles/Routine.bundle的服务),使操作系统将其识别为受信任的进程并允许调用系统定位服务。

在定位方面,该模块优先依赖 GPS 提供精确位置;但当 GPS 在室内、地下或被用户关闭时不可用时,模块会启用基于蜂窝网络(GSM)的粗略定位进行定位,通过 CoreTelephony 框架获取 MCC(移动国家码)、MNC(移动网络码)、LAC(位置区域码)和 CID(小区 ID)值,达到持续追踪的目的。

Part3 总结

1. 美国NSA紧跟时代技术的潮流,在三角测量后门中融入了神经网络识别图片敏感信息的功能。由此推断,当前的APT攻击或者APT后门,必将大量引入AI大模型。

2. 美国NSA研发的三角测量后门的窃密模块,如录音监听功能、跟踪受害者地理位置信息功能等考虑的十分周全。

3. 为了便于技术交流,现已建立微信群"希水涵-信安技术交流群",欢迎您的加入。

公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。

Contact me: 0day123abc#gmail.com

OR 2332887682#qq.com

(replace # with @)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!