欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

怎样运用iphone的Call Relay协议DIY间谍软件(上)

来源:本站整理 作者:佚名 时间:2017-09-08 TAG: 我要投稿

写在最开始的话
本系列文章分高低两集,上集将对苹果Call Realy办事的运行机制和协定内容停止论述,并让人人对该协定有一个大抵的懂得,而下集将会奉告人人若何应用该协定中的平安破绽来对目标用户睁开特工活动。
先容
苹果在iOS 8和Yosemite中引入了一套名叫“Continuity”的新功效,这些功效将容许iPhone与其余比方Mac和iPad之类的苹果装备以一种新型的办法协同事情。实际上,苹果的Handsoff、即时热门和Airdrop等功效和办事都是由Continuity供给的。在这些新办事中,有一个名叫“Call Relay”的办事。从本质上来讲,该办事容许用户应用其余的苹果装备来拨打或接听德律风。该功效并非传统的VOIP办事,由于它是一种基于专项协定的P2P通讯链接。
为了可以或许失常事情,介入通讯的两边装备(iPhone跟其余拨打/接听德律风的苹果装备)必要处于统一WiFi网络中,而这个特征引起了我的留意。苹果的平安白皮书对付这部门功效的先容内容并未几,文档中只要四小段内容先容了Call Relay的事情机制和相干的平安信息,其内容大抵以下:“通话音频将会从你的iPhone手机无缝传输(应用一种平安的点到点衔接)到其余苹果装备上。”
事情机制
咱们先要从全体上懂得这个协定的运行机制,和介入通讯的装备所应用的交互办法。如今,咱们假定有人给目标用户拨打了德律风,他的iPhone手机响了,但他抉择应用MacBook来接这通德律风。
接下来,咱们还要辨别分歧场景下的通讯介入方。
起首,基站会与iPhone通讯并处置复电通话。接下来,iPhone的复电铃声便会响起,并给苹果推送一条复电关照。苹果的Push Notification Service(APNS-推送关照办事)会给登录了雷同苹果ID的一切苹果装备推送这条复电关照,并告诉这些装备该用户目前有一通复电期待接听。MacBook所接管到的推送关照中包括iPhone的外部IP和端口,并将复电对方的信息和通话选项(接听/挂断)表现给用户。末了,MacBoos会将第一个数据包经由进程局域网发送给iPhone(IP地点),并期待相应。接下来,P2P链接会胜利树立,而后在MacBook和iPhone之间传输通话语音数据。
场景阐发

该协定可以或许在上图所示的三种场景下事情,即GSM、互联网和本地网络,但咱们的阐发重点将重要放在本地网络场景中。
实现办法
起首,我必要在雷同情况下(雷同装备、苹果ID、手机号码和拨号办法)网络复电信息样本,如许我就可以或许经由进程比较字节数据来找出产生转变的处所。除此之外,我还网络了许多分歧情况(稍有转变)下的数据样本以便我经由进程阐发辨认出操纵系统版本和用户ID等信息。
想要手动实现这些操纵确定是很艰苦的,是以咱们这里必要应用到一款名叫Netzob的对象。简略来讲,Netzob可以或许帮咱们经由进程辨认形式、数据格局和接口来对协定停止具体阐发(应用了繁杂的数学模子和动态阐发技巧)。换句话说,咱们只必要将数据样本导入至Netzob,它就可以或许帮咱们把数据格局化导出,并表现数据之间的干系。

注:在这篇文章中,我不盘算对该协定的逆向阐发进程停止具体描写,由于咱们的目标是为了探求该协定中存在的平安破绽,是以我所先容的内容都是为这一目标办事的。假如你想懂得更多相干内容,请参考我在Ekoparty的一次演讲(西班牙语)或卡巴斯基实验室的平安阐发成果。
苹果的Call Relay协定
我是用Scapy编写了一些剧本【剧本地点】,并用剧原来模仿iPhone和MacBook,如许不只可以或许帮助我辨认出某些初始进击向量,而且还有助于我找出该协定中存在的其余破绽。
该协定由以下四个处置阶段构成:

发明阶段

上图表现的是复电时MacBook发送给iPhone的第一个数据包,iPhone会期待接管这个数据包,接管以后它便会翻转四位字节数据,并将其回传给MacBook,全部进程相似于一次SYN-ACK。
辨认阶段

接下来就是辨认阶段中的别的两个数据包,这一次,iPhone在相应时会改动两个字节的数据,但最有意思的处所在上图中的Field 9部门。这些字节数据全体都在可打印的范围内,将其格局化为字符串以后,咱们发明它实在就是一个UUID。更重要的是,咱们居然找到了一个未经加密的文本,而咱们接下来就可以或许对这些字节数据着四肢举动了。
协商阶段

起首咱们可以或许看到,header从原来的“0f”变成为了“2004000400”,这就注解咱们处于该协定的另一个处置阶段了。先看上图中的赤色方框部门,MacBook和iPhone经由进程互换四个字节数据得到了一个两边都承认的八字节随机数据。MacBook天生并发送了前四个字节,而iPhone以雷同的办法予以相应。在接下来的数据包中(绿色部门),咱们可以或许看到MacBook应用了两边承认的字节数据来作为某种计数器(末了一名字节数据每次加1)。
另一个风趣的部门是橙色标注的地区,这部门内容可以或许代表的是该阶段中数据包的分歧状况,由于它们的header都是同样的。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载