为了顺应当前形势和更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 安全攻防 查看内容

揭秘:iOS恶意软件KeyRaider如何盗取超过22.5万苹果账户

2015-9-1 11:53| 投稿: Painting |来自: freebuf

摘要: 最近威锋技术组发布微博称发现苹果商店后台存在漏洞,22.5万有效苹果账户密码被盗。他们对外公布了iCloud账号泄露查询工具(地址),只要输入用户邮箱,就可以查询其iCloud帐号是否被盗。 在与威锋技术组的合作过程 ...

最近威锋技术组发布微博称发现苹果商店后台存在漏洞,22.5万有效苹果账户密码被盗。他们对外公布了iCloud账号泄露查询工具(地址),只要输入用户邮箱,就可以查询其iCloud帐号是否被盗。

在与威锋技术组的合作过程中,我们(paloaltonetworks研究人员)选取了92个最新iOS恶意软件家族的样本。通过分析样本我们发现这个叫做“KeyRaider”的终极恶意软件。我们认为这是目前针对苹果账户的影响最为严重的恶意软件。

KeyRaider的目标是越狱iOS设备,并通过位于中国的第三方Cydia存储库进行分布。总的来说,这一威胁目前可能影响到来自18个国家的用户,其中包括中国、法国、俄罗斯、日本、英国、美国、加拿大、德国、澳大利亚、以色列、意大利、西班牙、新加坡和韩国。

恶意软件通过MobileSubstrate钓取系统进程,然后通过拦截设备上iTunes的流量盗取苹果账户用户名、密码以及设备GUID。 KeyRaider盗取苹果推送通知服务的证书以及私钥,窃取并分享App Store购物信息,禁用iPhone和iPad上本地和远程的解锁功能。

KeyRaider成功盗取了22.5万有效苹果账户以及成千上万的证书、私钥以及购物凭证。恶意软件将盗取的数据传到智慧与控制(C2)服务器上,而服务器本身就存在漏洞,因此用户信息再度暴露。

攻击原本的目的是为了让使用了两个越狱工具的iOS用户能够在没有实际支付的情况下,使用官方应用商店的收费App。而越狱软件通常能帮助用户实现这一无法在正常情况下完成的行为。

而这两个越狱工具能够从C2服务器上劫持app购买请求、下载用户信息或者购买凭证,然后用户模仿iTunes协议登录Apple的服务器并执行购买app或者其他项目的请求。这两个越狱工具的下载量已超过2万次,也就意味着有至少2万用户正在滥用22.5万的被盗凭证。

一些受害者称他们被盗的苹果账户显示了异常app购买记录,不仅如此,还有人的手机收到了勒索要求。

这里我们将介绍这个恶意软件和攻击的详细情况。

发现KeyRaider

首次发现这个漏洞的是来自扬州大学的一个学生,网名为“i_82”,他同时也是威锋技术组的成员。

事情从头说起:

6月30日,苹果发布iOS 8.4正式版。
7月初,第一次大规模盗刷事件爆发,7月17-20日,第二次大规模盗刷事件爆发。而这些被盗刷的用户包括下载过各类助手软件、越狱过的用户,也包括从未越狱过的用户。
8月25日凌晨,威锋技术组成员发现某红包助手后台漏洞,发现20万个左右有效的iCloud账户与密码。并于当天下午将漏洞提交。
8月26日下午,威锋技术组成员在其微博上公布,泄露的22W账号只扒下12W时后台数据就被清除了,并在随后指出,基本上确认这次的盗号事件和刀八木有脱不开的关系!如果有安装它的插件的(不管什么插件)请全部卸载并更改您的全部的Apple相关的密码!!!
8月27日凌晨,威锋技术组对外公布iCloud帐号泄露查询工具正式对外公开查询,查询地址为:http://www.weiptech.org/ 。包含被扒下来的,被泄露盗取的Apple ID的有效数据量为105275条,其中来源八木的有69485条,来源iwexin的有9223条。而为了保护用户隐私,防止密码二次泄露,该查询工具只会显示被盗密码前后的数据,其他部分均予以隐去。
8月27日上午,苹果官方做出反应。威锋技术组将相关账号提供给苹果安全部门后,苹果对这批账号做了安全措施。如果用户在登录iCloud要求修改密码,则有可能该账户在本次泄露名单中。
8月27日中午,威锋技术组发布微博,“自12:57分开始,威锋技术组提供查询服务器遭受DDOS攻击。目前服务器访问缓慢,正在联系威锋网总部处理。”这意味着,在威锋技术组揪出盗窃账户黑手后,对一部分黑手的既得利益产生影响,从而受到了恶意攻击。
8月27日下午,威锋技术组成员再一次发表微博,提醒所有iCloud用户,改密码是当务之急,开二步验证式无法杜绝利用刷榜的,最重要最重要最重要的是防止被恶意锁机!

研究者通过观察这些用户安装的越狱软件,发现一个越狱软件收集用户信息并上传到一个特殊网站上面。而这个网站有一个简单的SQL注入漏洞,允许攻击者访问“top100”数据库中的全部记录。

图1.威锋技术组在C2服务器中发现的SQL注入漏洞

在这个数据库中,有一个表名为“aid“,包含225941个条目。尽管部分条目有加密,但是其中仍然有大约2万条中包含用户名、密码和GUID明文。

通过逆向越狱软件,研究者发现一段代码使用定向键“mischa07“的AES加密。使用这个静态密码能够成功破解加密的用户名和密码。后来经证实,这些账户都是苹果用户名及凭证。研究者下载了大约一半的数据之后,网站管理员发现这一情况随即关闭了服务器。

然而分析了威锋技术组的报告之后,Palo Alto网络研究人员并没有发现报告中提到的包含窃取密码并将其上传到C2服务器的恶意代码。然而,通过威锋提供的相关信息,我们发现存在其他恶意软件在收集用户被盗的信息并将其上传到同样的恶服务器上面。

KeyRaider分布

KeyRaider只能通过越狱iOS设备的Cydia储备库传播。与其他(例如BigBoss或ModMyi)Cydia源不同的是,威锋源为每个注册用户提供了私人存储库功能,因此他们能够直接自行下载app并且相互分享。

一个名为“mischa07”的威锋网用户,上传了15个KeyRaider样本到他自己的私人存储库中(图2),由于他的名字也被编码到恶意软件的加密和解密秘钥当中(图3),因此我们强烈怀疑mischa07便是KeyRaider的原作者。

图2.mischa07的个人Cydia存储库

图3.“mischa07”是恶意软件中的一个硬编码加密秘钥

从威锋网的数据可以看出,mischa07上传的工具已经被下载超过数万次。这些应用和工具为游戏作弊、系统优化以及app去广告服务。

以下是mischa07的两个比较有意思的工具:

·iappstore(图5):为用户免费下载苹果官方应用商店中的付费软件提供服务。
·Iappinbuy:这个软件可以把那些应用内购买的项目都变成免费的。

Mischa07甚至在论坛发布了这两个工具的帖子进行推广,但是一些用户还是不相信它们所谓的神奇功能。然而,iappinbuy仍然获得了20199次下载量(图4),而iappstore只有62次(这仅仅是最新版本的数量)。

图4.一个恶意软件样本下载超过3万次

图5.iappstore工具能够直接从App Store安装付费app

图6.作者发帖推广他的iappstore工具

威锋网用户“氵刀八木”或称“bamu”,被认为是KeyRaider恶意软件的另一个传播者。氵刀八木因为其经常提供有用的工具而很受欢迎。攻击 被曝光后,氵刀八木删除了几乎所有他上传至存储库的恶意软件,并在论坛对这一指责予以否认。然而,在核查过他上传的所有app或者工具之后,我们发现至少 有77人的iOS设备安装了KeyRaider恶意软件。

Mischa07创建了这个恶意软件并且开发了不同版本,而bamu的恶意程序则主要通过恶意软件重新包装(例如iFile、iCleanPro和avfun的)已有应用程序或者工具。

KeyRaider向C2服务器上传劫持的用户密码时,里面会包括一个在HTTP URL中用于追踪感染源的参数,名为“flag”或者“from”。在mischa07的代码中,这些参数的值总是应用程序的名称,例如“letv”。而 在bamu的样本中,所有的值永远都是“bamu”。从泄露数据中发现,67%的被盗数据来源于bamu。

由于bamu仅是一个散布者,我们后面的分析会聚焦于直接发布者mischa07的样本。

被盗取的用户数据

KeyRaider收集了三类用户数据并且用HTTP上传到了自己的C2服务器上,我们定位到了两种C2服务器:

·top100.gotoip4[.]com
·www.wushidou[.]cn

在分析过程中,这些域名可解析到IP地址113.10.174.167。在这个服务器上“top100”数据库有三个表:“aid”、“cert” 和“other”。KeyRaider在服务器上使用了四个PHP脚本来获取数据库:aid.php、cert.php、other.php以及 data.php。

通过分析代码和数据,我们发现"aid"表格存储了225941条泄漏的Apple用户名, 密码,设备的GUID(全球唯一标识符)。"cert"表格存储5841个受感染设备的入口和私钥,它们可用于苹果推送消息。最后,"other"表格存 储了超过3000设备GUID入口和App Store的购买凭证。

图7.一个被泄露的cert表中条目

我们整理了泄漏Apple用户的email地址发现超过一半用的是QQ邮箱,下面是TOP10的泄漏邮箱的域名(近六成是中国用户):

· @qq.com
· @163.com
· @icloud.com
· @gmail.com
· @126.com
· @hotmail.com
· @sina.com
· @vip.qq.com
· @me.com
· @139.com

然而我们也发现了一些其他地区的email地址:

· tw: Taiwan台湾
· fr: France法国
· ru: Russia俄罗斯
· jp: Japan日本
· uk: United Kingdom英国
· ca: Canada加拿大
· de: Germany德国
· au: Australia澳大利亚
· us: United States美国
· cz: Czech Republic捷克
· il: Israel以色列
· it: Italy意大利
· nl: Netherlands荷兰
· es: Spain西班牙
· vn: Vietnam越南
· pl: Poland波兰
· sg: Singapore新加坡
· kr: South Korea韩国

恶意行为

KeyRaider的恶意代码存在于Mach-O动态库,作为MobileSubstrate框架的插件存在。(iOS系统越狱环境下安装绝大部分插件,必须首先安装MobileSubstrate) 恶意软件通过此框架就可以钩取任意APP甚至系统进程的API。

曾经也有许多的IOS恶意软件利用了MobileSubstrate框架。例如 Unflod(又称SSLCreds或Unflod baby panda)被Reddit上的用户发现,SektionEins分析其通过拦截SSL加密线路偷取Apple账户密码。AppBuyer去年被发现应用 同样的技术偷取密码并从APP Store购买APP。KeyRaider在此技术上又向前了一步,实现了以下功能:

1、偷取用户账户和设备GUID
2、偷取证书和苹果推送的私钥
3、预防感染设备通过密码或iCloud设备解锁

偷取苹果账户数据
大多数KeyRaider的样本钩取SSL的读写函数都在itunesstored的进程里,itunesstored是系统的守护进程,用iTurnes协议与App Store通信。

图8.KeyRaider钩取itunesstored中的SSL读写函数

当App Store 客户端向用户请求数据登录时,信息是通过SSL加密会话传输给App Store 的服务器,KeyRaider寻找这种登录会话和特定的方式在数据传输过程中发现用户的账户信息,设备GUID(图9)。

图9.寻找SSL数据中的苹果账户信息

接着,在SSL读的替代函数中,这些证书都是用固定密钥“mischa07”AES算法加密后发给KeyRaider的C2服务器(图10)。

图10.上传数据到C2服务器

除此之外,SSL钩取函数利用MGCopyAnswer(“UniqueDeviceID”)读取设备GUID。

偷取用户证书和私钥

一些样本中,KeyDaider 同样钩取了apsd进程(一种IOS用于推送消息的守护进程)钩取了安全框架中定义的SecltemCopyMatching 函数,这个API用于寻找密钥项来匹配查询词条。

安装钩取之后,当查询词条为 “APSClientIdentity”时,KeyRaider执行原始安全项目复制匹配,用 SecIdentityCopyCertificate和SecIdentityCopyPrivateKey 从原始函数返回结果复制证书和私钥,这些证书和GUID一起发送到C2服务器。IOS钥匙链中以APSClientIdentity标记的是IOS中用来 推送消息的密钥。攻击者可以利用这些证书创建一个假的系统推送:


图11.复制推送服务器的证书以及秘钥

图12.上传证书和秘钥

设备上锁
当KeyRaider钩取SecItemCopyMatching时除了拦截了通知的证书还将查询请求标签和一个非常特殊的标签“com.apple.lockdown.identity.activation”做了对比,如果匹配就把请求置零(图13)。

图13.设置锁定激活结果总为零

此时网络没有任何com.apple.lockdown.identity.activation的公共记录,我们猜测这个查询用于解锁设备。通过置零操作预防用户解锁设备,本地输入密码和云端解锁都不行。
样本分析至此,这段代码独立而且没有被任何代码引用,只在此处使用并以函数输出,但是我们有证据表明利用此函数的攻击已经发生。

共享免费APP

KeyRaider一些样本执行代码用来从C2服务器下载购买凭据和苹果账户,然而只有在 iappstore和iappinbuy 越狱配置中才起作用。

据作者描述,iappstore可以用于免费下载任何应用,让我们来看看怎么实现。

这个应用两次钩取了SSLWrite API ,第一次偷取密码,第二次试图判定当前http请求是否和 “POST /WebObjects/MZBuy.woa/wa/buyProduct”一致,这是用于判定当前会话是否在用iTunes协议购买APP(图14)。

图14.钩取app购买会话

如果请求是在购买,下一次SSLWrite调用,钩取代码匹配数据中关键字 “salableAdamId”, “appExtVrsId”, “vid”, “price”, “guid”, “installedSoftwareRating” 和 “pricingParameters” 用以定位当前APP的支付信息,如果APP不是免费的 fire()函数调用。

fire()函数调用readAid()函数,readAid()读取本地文件/var /mobile/Documents/iappstore_aid.log 。此文件包含苹果用户账户信息,设备GUID,iTurnes 会话 token,cookie,电话号码,操作系统信息和iTunes CDN 服务器编号。函数分析数据并创建账户对象。

如果文件不存在,就调用readAidUrl()函数就从C2服务器下载新的账户信息再创建账户对象(图15),图16表示从服务器下载的账户。

图15.从C2服务器下载苹果账号

图16.被盗取的苹果账户正在从C2服务器下载

创建账户对象后,fire()生成一种账户信息参数表,接着调用login(),sendBuy()。

login()函数用参数表语句和AppStore账户创建一个HTTP连接到下面的url:

· p*-buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/authenticate

这导致当前iTunes会话远程账户登录(图17)。

图17.模拟登录协议

登录请求后,login()分析返回的结果,cookie,token和其他信息并和密码一起保存到本地iappstore_aid.log 以便下次购买。如果登录失败密码错误,再次调用readAidUrl()从C2服务器获取另一个帐号。

sendBuy()函数工作类似login()函数 请求了另一个url用于APP购买认证:

· p*-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct

这么一套程序下来,iappstore tweak 可以用其他人的账户成功购买任何app。

至此,除了这些作用外,两个独立函数versifySF()和versifySF2()在样本中也执行了,KeyRaider也试图获取并使用账户密保问题和答案,这一部分功能在样本中还没有完成。

iappinpay的功能类似于iappstore(图18),唯一的区别是购买接口改变和利用一些变量,因为C2服务器数据库也存储着之前的APP购买的凭证,看起来作者还计划着重用这些凭证,可能把它们发送到手机到证明之前已经买过了这个APP。

图18.In-App-Purchase 认证请求

劫持手机勒索赎金

除了偷账户买app之外,KeyRaider还有劫持ios手机勒索的功能。

一些之前的iPhone勒索攻击基于iCloud服务远 程控制手机技术。其中有一些重置密码就可以重新控制iCloud。KeyRaider不一样,它本身禁止任何的解锁操作,包括输密码和iCloud重置。 利用私钥和证书可以直接发提示信息要求赎金,不用经过苹果的推送服务。因为这种设计,以前的解决办法都无效了。

我们知道KeyRaider已经能劫持勒索了,作为一个受害者你只能苦逼的看到以下画面 解锁加QQ 和电话(图19)。

图19.被锁iPhone收到的勒索信息

其他的潜在危险

早在四月的Palo Alto Networks Ignite 大会上,我们介绍了地下市场和IOS攻击的供应链,KeyRaider在此链条中扮演了一个非常重要的角色。

以一个受害者的苹果账户密码,攻击者可以发起任何附加的攻击。例如,通过iCloud控制设备,窃取私人信息包括短信记录,照片,邮件,文件和地理位置。2014年好莱坞艳照门事件,引起公众的广泛重视苹果账户认证的潜在威胁。

另外,还有好多方法利用这些被盗账户:

APP升级

一些开发者会付钱给自己的APP提升商店中的排名,装机量是提升排名的重要因素。利用窃取的数据,攻击者很容易安装升级APP以提升排名。事实上,许多KeyRaider的受害者声称他们的苹果账户有异常的下载历史使它们发现了这样的攻击。

现金返回

攻击者用窃取的帐号从APPStore购买付费的APP。费用由受害者出,但是收益会流到苹果公司并给开发者一部分。开发者和攻击者串通分脏,像APPBuyer那样运作是完全可能的事情。

垃圾邮件

合法的苹果账户可以单独卖给垃圾邮件发送方。以前SMS垃圾邮件发送需要花钱而且容易被查水表。然而,基于iMessage的发送仅需要网络和接受者的ID。这种方法在近几年非常流行。

勒索

手握受害者的账户信息,它们的设备和iCloud中的文件对攻击者来说都会产生许多附加收益。

设备解锁

这些窃取的账户仍然可以在其他的市场上售卖。苹果有一个安全机制预防设备丢失或者设备被擦除重新售卖,需要你在擦除之前认证苹果帐户。如今这有一个个人市场定位设备的账户信息。

未来的攻击方向

结合iCloud的个人信息,窃取的账户仍可用于社会工程,欺骗和定点攻击。

预防和防护

一定要记住KeyRaider只运行在越狱的IOS设备上,没有越狱的IOS设备不受此类攻击的影响。

Palo Alto网络8月26日提供了被盗账户的信息。威锋技术组在攻击者修复漏洞之前只能修复大约一半的账户。从不信任的Cydia资源安装的APP或优化工具仍然受影响。

Palo Alto网络已经发布了DNS签名覆盖了KeyRaider的C2服务线路防止恶意软件。

用户有以下措施判断设备是否被感染:

1、通过Cydia安装openssh 服务

2、SSH连接设备

3、打开/Library/MobileSubstrate/DynamicLibraries/ 检索以下字符串:

· wushidou
· gotoip4
· bamu
· getHanzi

如果任何dylib文件包含其中任何一个字符串,我们建议删除它并删除同名的参数表文件,然后重启设备。

还建议所有受影响的用户删除恶意软件后修改苹果账户的密码,开启苹果账户的二次认证。查看详细点击这里。

首先建议不想遭受此类攻击的用户,可以避免的话万万不要给自己的iphone或ipad越狱。此时,Cydia的程序库对上传的软件没有任何严格的检查措施,用Cydia的程序需要自己承担风险。

样本信息

一些KeyRaider的样本SHA-1值陈列如下:

9ae5549fdd90142985c3ae7a7e983d4fcb2b797f  CertPlugin.dylib
bb56acf8b48900f62eb4e4380dcf7f5acfbdf80d  MPPlugin.dylib
5c7c83ab04858890d74d96cd1f353e24dec3ba66  iappinbuy.dylib
717373f57ff4398316cce593af11bd45c55c9b91  iappstore.dylib
8886d72b087017b0cdca2f18b0005b6cb302e83d  9catbbs.GamePlugin_6.1-9.deb
4a154eabd5a5bd6ad0203eea6ed68b31e25811d7  9catbbs.MPPlugin_1.3.deb
e0576cd9831f1c6495408471fcacb1b54597ac24  9catbbs.iappinbuy_1.0.deb
af5d7ffe0d1561f77e979c189f22e11a33c7a407  9catbbs.iappstore_4.0.deb
a05b9af5f4c40129575cce321cd4b0435f89fba8  9catbbs.ibackground_3.2.deb
1cba9fe852b05c4843922c123c06117191958e1d  repo.sunbelife.batterylife_1.4.1.deb

鸣谢 

特别鸣谢扬州大学的i_82童鞋和威锋科技组与我们分享信息、报道以及各种有用的信息;

感谢威锋科技的CDSQ和感谢Weiphone提供样本;

感谢乌云社区Xsser和Fenggou信息分享;

感谢Palo Alto 网络的Sereyvathana Ty、Zhaoyan Xu 和 Rongbo Shao 察觉了威胁;

感谢Palo Alto网络Ryan Olson的审校工作。


小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:http://www.freebuf.com/vuls/76763.html

免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

发表评论

最新评论

最新

返回顶部