Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
airborn-IOS-CVE-2025-24252 — 从LogArchive提取iOS Airborne漏洞日志工件的工具 CVE-2025-24252 | Kitploit
工具/GitHubGitHub/cakescats/airborn-ios-cve-2025-24252
iOS安全漏洞分析取证分析移动取证数字取证学习与教育事件响应日志分析

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
cakescats/airborn-ios-cve-2025-24252

airborn-IOS-CVE-2025-24252

从LogArchive提取iOS Airborne漏洞日志工件的工具 CVE-2025-24252

查看仓库
3381年前尚未审核

iOS "Airborne" 漏洞 - 日志人工产物提取器

该脚本旨在通过查询来自 .logarchive 包的 iOS 系统日志,帮助识别 "Airborne" 漏洞集(主要影响 Apple 的 AirPlay 协议)的潜在痕迹。它自动执行多个定制的 log show 命令,以发现可能与此类漏洞相关的异常。

免责声明: 本工具仅供信息调查目的。存在匹配这些查询的日志条目并不明确确认已被入侵。日志条目应结合上下文分析。未发现结果并不保证设备安全。请始终确保您的设备已更新到最新的操作系统版本。

关于作者与项目

该脚本由 Anton Shustikov ([email protected], 现任 cakescats CEO) 开发,作为 CakesCats 项目的一部分。

CakesCats 是一个专注于以下方面的倡议:

  • 信息安全教育: 旨在使网络安全概念更易于获取和理解。
  • 支持: 为面临数字安全困境的活动家和个人提供免费支持。
  • 简单清晰的产品: 为数字安全开发直接明了的工具和资源。

Anton Shustikov 是一位信息安全与金融科技顾问,拥有创建安全系统的丰富经验。他是非商业教育项目 CakesCats 的创始人,并为 Forbes 和《Xakep》杂志等出版物撰稿。他的工作常涉及调查数字威胁和推广数字卫生。

关于 "Airborne" 漏洞

"Airborne" 是赋予一组漏洞的名称(由 Oligo Security 在其原始研究中发现),这些漏洞影响 Apple 的 AirPlay 协议和 AirPlay 软件开发套件 (SDK)。这些漏洞可能影响广泛的 Apple 设备(iPhone、iPad、Mac、Apple TV 等)以及使用 AirPlay SDK 的第三方设备(例如智能音箱、接收器)。

"Airborne" 类型漏洞的关键方面:

  • 发现背景: 最初的 "Airborne" 研究由 Oligo Security 发布(更多详情:https://www.oligo.security/blog/airborne)。该脚本旨在寻找可能与此类漏洞相关的通用取证人工产物。
  • 受影响的协议/组件: 主要是 Apple AirPlay,但也包括 Bonjour (mDNS) 和负责设备间通信的 rapportd 等相关服务。
  • 潜在影响: 远程代码执行(包括零点击和可能蠕虫化变种)、拒绝服务、访问控制列表绕过、信息泄露以及中间人攻击。
  • CVE(上下文示例): 尽管具体的 CVE 编号随每次新发现而变化,但 "Airborne" 类漏洞针对的是 AirPlay 及相关网络服务在处理数据、配对或连接时的缺陷。例如,本工具之前的假设性讨论考虑了诸如 CVE-2025-24252(与 mDNS 问题相关)或 CVE-2025-24132(与 AirPlay SDK 中的缓冲区溢出相关)等 CVE。用户应始终参考具体的 CVE 详情和供应商公告,以了解他们所调查的漏洞。
  • 受影响的操作系统版本(一般指导): 通常,在 Apple 和各自供应商针对特定漏洞披露发布补丁之前的 iOS、iPadOS、macOS、tvOS 及第三方 AirPlay SDK 版本。请始终查阅 Apple 的官方安全更新和供应商公告以获取已修补版本的信息。

此工具的工作原理

该脚本使用精心构造的谓词执行一系列 log show 命令。这些谓词旨在过滤 iOS 系统日志中的海量信息,以精确定位可能与此类 "Airborne" 漏洞相关的潜在入侵指标或异常活动。

该脚本查找:

  • 崩溃或错误:涉及 AirPlay、媒体流、网络发现和设备间通信的关键系统进程(例如 mediaserverd、AirPlayXPCHelper、rapportd、mDNSResponder)。
  • AirPlay 子系统或 Bonjour/mDNS 服务特别记录的错误。
  • 异常的网络连接事件(例如,由相关进程报告的意外连接重置、连接失败)。
  • 内核恐慌,这可能表明由漏洞利用导致的严重系统不稳定。
  • 与配置描述文件相关的可疑活动(作为常见的后利用向量)。
  • 沙盒违规消息,这可能表明漏洞利用尝试突破其受限环境。

每个查询的输出被保存到一个带有时间戳的结果目录中,分别命名为描述性文本文件,以便有针对性地分析不同类型的潜在人工产物。

前提条件

  1. macOS 环境: log show 工具和此脚本旨在 macOS 上运行。
  2. iOS 日志归档 (.logarchive): 你需要来自待分析设备的 iOS 系统日志归档(一个包,技术上讲是一个目录)。通常可以通过以下方式获取:
    • Xcode: 将 iOS 设备连接到 Mac,打开 Xcode,转到 Window -> Devices and Simulators,选择你的设备,然后点击 "View Device Logs" 并 "Export"。
    • sysdiagnose: 在 iPhone 上触发 sysdiagnose(通常同时按下音量加、音量减和侧边按钮,但组合键可能因型号和 iOS 版本而异)。生成 sysdiagnose 后(可能需要几分钟),可将其 AirDrop 到 Mac,或在将 iPhone 与 Mac 同步时访问(通常在 Finder 中 iPhone 的同步位置,位于 .tar.gz 文件中)。.logarchive 将在提取的 sysdiagnose 内容中。
  3. Bash Shell: 脚本是用 bash 编写的。

设置与执行

  1. 保存脚本: 将脚本代码(见上文)保存为 airborne_artifact_extractor.sh(或任何其他带有 .sh 扩展名的名称)。

  2. 赋予可执行权限: 打开终端,导航到保存脚本的目录,运行以下命令:

    chmod +x airborne_artifact_extractor.sh
    
  3. 检查 macOS 隔离属性(对于下载的脚本很重要): 如果你从互联网下载了此脚本,macOS 可能将其隔离,这可能导致其无法正常运行或根本无法运行。

    • 要检查是否设置了隔离属性,运行:
      xattr airborne_artifact_extractor.sh
      
    • 如果输出包含 com.apple.quarantine,通过运行以下命令移除该属性:
      xattr -d com.apple.quarantine airborne_artifact_extractor.sh
      

    如果你仍然遇到运行脚本的问题,特别是如果它位于像 ~/Downloads 这样的目录中,请确保你的终端应用具有必要的权限(例如,在系统设置 -> 隐私与安全中授予"完全磁盘访问权限"),以访问脚本的位置和日志归档。

故障排除:执行问题

错误的解释器或 ^M 错误(例如 /bin/bash^M: bad interpreter: No such file or directory)

如果在尝试执行脚本时遇到类似 bash: ./your_script_name.sh: /bin/bash^M: bad interpreter: No such file or directory、/usr/bin/env: 'bash\r': No such file or directory 或涉及 \r 或 ^M 字符的消息,很可能是由于 Windows 风格的行尾(CRLF - 回车换行)而非 Unix 风格的行尾(LF - 换行)导致的。

这通常发生在脚本文件在 Windows 系统上创建或编辑,然后未经转换行尾就传输到 macOS 或 Linux 的情况下。Unix 系统只期望 LF 作为行终止符,额外的 CR 字符(\r 或 ^M)会被误解为解释器路径或命令的一部分。

解决方案:使用 dos2unix 转换行尾

最简单的修复方法是使用 dos2unix 工具。

  1. 安装 dos2unix:

    • 在 macOS 上(使用 Homebrew): 如果你没有 Homebrew,请先从 brew.sh 安装。然后运行:

      brew install dos2unix
      
    • 在基于 Debian/Ubuntu 的 Linux 发行版上:

      sudo apt update
      sudo apt install dos2unix
      
    • 在基于 Fedora/RHEL 的 Linux 发行版上:

      sudo dnf install dos2unix # (或旧版本使用 yum)
      
  2. 转换脚本文件: 导航到包含 airborne_artifact_extractor.sh 的目录并运行:

    dos2unix airborne_artifact_extractor.sh
    

    此命令将在原处转换行尾。

替代方案(如果 dos2unix 不可用或不喜欢):

  • 使用 sed:

    sed -i.bak 's/\r$//' airborne_artifact_extractor.sh
    

    (此命令在原处修改文件并创建备份 airborne_artifact_extractor.sh.bak。在某些 sed 版本上,尤其是在 macOS 上,-i 选项需要为备份文件提供扩展名,例如 -i '.bak' 或如果支持则使用 -i '' 不备份。对于 macOS,你可能需要 sed -i '' 's/\r//g' airborne_artifact_extractor.sh)

  • 使用 tr:

    tr -d '\r' < airborne_artifact_extractor.sh > airborne_artifact_extractor_unix.sh
    chmod +x airborne_artifact_extractor_unix.sh
    # 然后使用 airborne_artifact_extractor_unix.sh
    
  • 文本编辑器: 大多数现代文本编辑器(如 VS Code、Sublime Text、Atom、Notepad++)允许你更改行尾。打开脚本文件,找到行尾设置(通常在状态栏或文件/编辑菜单中),将其从 "CRLF" 或 "Windows" 更改为 "LF" 或 "Unix"。然后重新保存文件。

转换行尾后,再次尝试运行脚本。记得还要确保它具有执行权限(chmod +x airborne_artifact_extractor.sh)。

使用方法

从终端执行脚本,提供 .logarchive 包的路径和可选的时间范围参数:

./airborne_artifact_extractor.sh /path/to/your/iphone_logs.logarchive [time_range_parameters]

参数: R1 (必需): .logarchive 文件/包的完整或相对路径。 [time_range_parameters] (可选): 标准的 log show 时间范围参数。如果省略,脚本将默认分析 --last 7d(最近 7 天)的日志。 示例: --last 24h(最近 24 小时) --last 3d(最近 3 天) --start "YYYY-MM-DD HH:MM:SS" --end "YYYY-MM-DD HH:MM:SS"(特定时间范围)。重要提示:确保日期时间字符串用引号括起来。

时区配置: 脚本顶部包含时区设置,你可以修改它们: * TZ_SETTING: 定义用于解释你提供的 --start 和 --end 参数的时区。例如,如果设置为 "Etc/GMT-7"(对应于 UTC+7),并且你使用 --start "2025-04-10 00:00:00",这将在 UTC+7 时区中被视为 4 月 10 日午夜。如果你希望脚本使用 Mac 当前的本地时区来解释这些参数,可以将 TZ_SETTING="" 或注释掉该行。 * TIMEZONE_DISPLAY: 指定通过 log show --timezone 选项格式化输出日志文件中的时间戳的时区。示例:"Asia/Bangkok" 对应 UTC+7。选择一个你的系统能识别的时区名称。

命令示例:

分析最近 7 天的日志(默认行为): Bash ./airborne_artifact_extractor.sh /Volumes/ExternalHD/iOS_Logs/iPhone13_archive.logarchive

分析最近 48 小时的日志: Bash ./airborne_artifact_extractor.sh ./My_iPhone_Sysdiagnose.logarchive --last 48h

分析特定日期和时间范围的日志(时间将根据 TZ_SETTING 解释): Bash ./airborne_artifact_extractor.sh ../Log_Archives/device_XYZ.logarchive --start "2025-04-05 00:00:00" --end "2025-04-06 23:59:59"

输出文件

脚本将在与脚本相同的目录中(如果脚本目录不可写,则在当前工作目录)创建一个名为 airborne_traces_YYYYMMDD_HHMMSS 的新目录(其中 YYYYMMDD_HHMMSS 是当前日期和时间)。在此文件夹内,您将找到多个 .txt 文件,每个文件包含特定查询的输出。文件名带有数字前缀以便排序:

  • 01_critical_process_errors.txt: 关键进程的故障和错误。
  • 02_process_termination_exceptions.txt: 关键进程的意外终止或异常。
  • 03_kernel_panics.txt: 内核恐慌事件。
  • 04_airplay_subsystem_errors.txt: AirPlay 子系统的错误和故障。
  • 05_mdns_errors.txt: mDNSResponder (Bonjour) 的错误和故障。
  • 06_airplay_pairing_auth_failures.txt: AirPlay/rapportd 配对、认证或连接问题。
  • 07_network_connection_errors.txt: 来自相关进程的网络连接错误。
  • 08_networkd_errors.txt: 系统 networkd 服务中的错误。
  • 09_sandbox_violations.txt: 与沙盒违规相关的消息。
  • 10_profile_activity.txt: 与配置描述文件相关的活动。

解读结果

  • 空文件是常见的: 空输出文件意味着对于给定的时间范围,没有日志条目匹配该特定查询的标准。在许多情况下,这是一个好迹象,表明缺少那些特定的可疑指标。
  • 关注模式和关联: 单个孤立的错误消息通常不表示被入侵。寻找错误集群、跨不同日志文件的可疑事件序列,或与您经历异常设备行为或使用潜在易受攻击服务(如 AirPlay)的时间相关的错误。
  • rapportd 日志中的 ECONNRESET(通常在 06_... 或 07_... 中): 这些表明 TCP 连接突然终止。虽然它们可能由良性网络问题(Wi-Fi 信号差、路由器问题)引起,但在调查 "Airborne" 漏洞的背景下,它们值得更仔细检查。它们可能表明您的设备或对等设备上的漏洞利用尝试导致的不稳定,或网络干扰。
  • mediaserverd、AirPlayXPCHelper(通常在 01_...、02_... 中)中的崩溃(故障或恐慌类型)或内核恐慌(03_...) 通常是系统不稳定的强烈指标,如果它们意外发生或在 "Airborne" 针对的网络交互期间发生,则可能与漏洞利用相关。
  • 上下文是关键: 始终结合您对设备当时使用情况、所处的网络环境以及观察到的任何实际症状的了解来审查日志发现。

贡献

欢迎 fork 此仓库、提出改进建议、报告问题,或添加有助于识别此类漏洞痕迹的更具体查询。

下载工具