萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 手機 >  >> 手機應用 >> iPhone

盤古越獄原理深度分析:利用安裝程序競態條件 + 內核漏洞實現 Untether

盤古 iOS 8 越獄技術原理剖析:用戶空間競態條件 + 內核漏洞雙重突破

盤古團隊釋出 iOS 8.x 越獄工具,核心利用 安裝程序在 Staging Directory 階段的符號連結競態條件 寫入系統目錄,再配合內核漏洞植入 Untether。

App 安裝 12 階段關鍵窗口

在「Staging Directory」解壓階段,若能建立符號連結指向沙盒外部,即可利用解壓程序向系統分區寫入任意檔案。盤古透過控制壓縮包檔案列表順序(前置大檔案延長解壓時間),在時間窗口內植入符號連結。

四大核心組件

  1. 桌面端程式:資源分發、流程控制
  2. com.pangu.ipa1.ipa:Socket Server,配合桌面端製造競態條件
  3. pangu.dylib:Socket Server,利用內核漏洞安裝 Untether、Cydia
  4. pangu.tar:Untether 載體

工作流程簡析

階段一:安裝輔助程式、構造 Payload

  • AFC 傳輸 IPA → Installation Proxy 安裝 com.pangu.ipa1
  • FileRelay 取得 Caches(含 com.apple.mobile.installation.plist)
  • 修改 com.apple.mobile.installation.plist 指向 pangu.dylib(DYLD_INSERT_LIBRARIES)
  • 修改 Info.plist 指向 lockdownd
  • 構造 applicationState.plist 使 App 重啟自動啟動
  • 更新 com.apple.LaunchServices-056.csstore、禁用 backboardd 看門狗
  • 打包三個升級包(upgrade1/2/3.zip)含上述檔案 + 大檔案觸發競態

階段二:利用競態條件安裝 Payload、執行 pangu.dylib

  • 用戶啟動盤古 App → App 啟動 Socket Server 等待桌面端握手(PING/PONG)
  • 桌面端發送 starthook → App 在安裝過程中建立符號連結 /private/var/tmp/install_staging.xxx/foo_extracted → /var/
  • 安裝服務解壓 Payload 時,檔案實際寫入 /var/(系統分區)
  • 三個升級包依序安裝,完成環境構造與 Untether 植入

技術亮點:純用戶空間漏洞利用 + 內核漏洞串聯,無需實體連接、無需開發者證書,實現完美 Untether 越獄。

copyright © 萬盛學電腦網 all rights reserved