时时勤拂拭,勿使惹尘埃

TOC

Categories

iOS/Malware(五)KeyRaider盗Apple id微信红包插件



一、样本来源

1.1 威锋报给wooyun

越狱有风险,iPhone抢红包外挂陷阱(真实案例)(cydia源已无样本)     8.25

1.2 claud weibo

1.3 威锋声明木马作者:

作者id:氵刀八木
其中样本名:eu.heinelt.ifile_2.2.0-1.deb 
该作者个人源:http://apt.178.com/15402441(比较老,新源已经关闭)
     apt.so/aptso(已关闭)

1.4 盘古徐昊分析报告

样本:iFile.plist
作者:氵刀八木
查看iFile.plist发现iFile.dylib模块被注入了itunesstored这个关键服务:
hookaid方法调用MSHookFunction函数hook了”/System/Library/Frameworks/Security.framework/Security”框架的SSLWrite和SSLRead函数。
当用户输入AppleID和密码登陆账号时,itunesstored服务会通过SSL连接向苹果服务器验证。因此在SSLWrite函数中可以拦截到明文的ID和密码,而在SSLRead中可以通过服务器返回的数据判断登陆是否成功,一旦登陆成功就将记录的ID和密码回传到服务器。
实际解析ID和密码并记录是在 aid_r_SSLWrite -> parsexml 函数中,而实际回传盗取的数据是在 aid_r_SSLRead -> sendAid 函数中:
值得注意的是回传过程中会有一个”from”标记,应该是用于记录这个盗号数据的来源。而在我们拿到的这个样本中 g_aid_from=”bamu”,应该是代表刀八木源中的插件。

1.5 claud分析报告

作者id:mischa07
qq:201919890
源:http://apt.so/kuaidial7
服务器:
  • top100.gotoip4[.]com
  • www.wushidou[.]cn

二、样本分析

2.1 样本汇总

作者应用名文件名MD5状态
mischa07
http://apt.so/kuaidial73K抢红包王app.weiphone.9catbbs.iwexin_2.0-3_iphoneos-arm.deba02be31297d47274c4b95e620b3fd30e-
iFile(破解版)app.weiphone.ifile.179_2.2.0-1_iphoneos-arm.deba5595a03eb95427f73dffe9b4cad093f恶意
氵刀八木http://apt.178.com/15402441(早期)WiFi Boosterwifibooster.178_2.0.1_iphoneos-arm.deb4ec177caebd72c43420eb54aee81611b-
盘古徐昊分析样本iFile
iFile_2.2.0-2-2.deb
623866a78ac17fab043a28e8dc6dc63b93f691a2恶意
iFile.dylibc798d24673adcdfd1b31f1cf090766adbbe1622b
Claud共享样本 9catbbs.GamePlugin_6.1-9.deb(空)d41d8cd98f00b204e9800998ecf8427e恶意
GamePlugin9catbbs.GamePlugin_6.1-9_1.debcaaf060572e57b6d175c3959495bcdbf
MPPlugin9catbbs.MPPlugin_1.3.deb1dd1a8c6c213e3b51cd2463d764a9c62
iappinbuy9catbbs.iappinbuy_1.0.debddf224f63ee9c7fba76298664a2b0b00
iappstore9catbbs.iappstore_4.0.deb0f710f8397ec969af26c299a63aeda8b
ibackground9catbbs.ibackground_3.2.deb02464ae6259a2c8194470385781501b7
3K抢红包王iweixin.deb3838a37a9bc7df750fb16d12e32a2fcb
BatteryLiferepo.sunbelife.batterylife_1.4.1.deb3c57e433fbba1ac1e4dc1b84cec038fb

2.2 iFile分析(常规样本)

2.2.1 样本结构

以mischa07的iFile(破解版)为例分析:
应用名
作者
文件名
MD5
iFile(破解版)mischa07http://apt.so/kuaidial7app.weiphone.ifile.179_2.2.0-1_iphoneos-arm.deba5595a03eb95427f73dffe9b4cad093f
其包结构如下:
路径文件名文件类型说明MD5
/debian-binarytextdeb 格式版本号码3cf918272ffa5de195752d73f3da3e5e
/controlcontroltextdeb包描述文件,名称(Package),版本(Version)以及描述(Description)等4113b99b9a9233863bb6711e2146753a
preinstshell scriptDebian软件包(".deb")解压前执行的脚本6f7e4ce37778589acff48f5a45e6f6f5
postinstexec安装成功后执行 'postinst' 脚本,完成所需的配置工作c355f77e8ccd7484559ec73e40064839
/data/ApplicationiFile.appappApp包,被重打包植入木马程序
/data/Library/MobileSubstrate/DynamicLibrariesifile.dylibdylibcydia库,恶意代码主体fffbf26a22f3234d7a693a2c6f28abfd
ifile.plistplist标记hook目标3dc4a4f35b7c50913b5c6e08032651fd

2.2.2 cydia库分析

1、ifile.plist

标记了两个hook目标,其中SpringBoard是iOS的桌面,正常iFile需要的;
而itunesstored是itunes服务相关,与iFile无关,恶意代码hook后可借此获取apple id

2、ifile.dylib

cert:hook主体
cert(void)方法调用MSHookFunction函数hook了”/System/Library/Frameworks/Security.framework/Security”框架的SSLWrite和SSLRead函数,并kill itunesstored进程重启
大多数KeyRaider的样本钩取SSL的读写函数都在itunesstored的进程里,itunesstored是系统的守护进程,用iTurnes协议与App Store通信
当用户输入AppleID和密码登陆账号时,itunesstored服务会通过SSL连接向苹果服务器验证
因此在SSLWrite函数中可以拦截到明文的ID和密码
而在SSLRead中可以通过服务器返回的数据判断登陆是否成功,一旦登陆成功就将记录的ID和密码回传到服务器
 
replace_SSLWriteCert:获取apple id
解析ssl的数据包,获取明文的ID和密码
replace_SSLReadCert:回传正确apple id
findReagex读取服务器返回的dsPersonID数据,判断登陆是否成功,成功就执行sendAid()回传apple id信息
sendAid:回传信息
回传 id、name、pass、guid;
post提交到服务器:www.wushidou.cn/aid.php
flag:返回数据标记
  • 徐昊分析说明:
  • claud报告说明:
在mischa07的代码中,这些参数的值总是应用程序的名称,例如“letv”;
而在bamu的样本中,所有的值永远都是“bamu”
该样本未发现from标记

2.3 iappinbuy分析(免费内购)

2.3.1 样本信息

iappinbuy说明为:可以把那些应用内购买的项目都变成免费的
样本来源
作者
程序名
文件名
MD5
Claud共享mischa07iappinbuy9catbbs.iappinbuy_1.0.debddf224f63ee9c7fba76298664a2b0b00
主要文件:
文件
说明
MD5
iappinbuy.plist标记hook itunesstored188a555ad8c89d0be76a9311b21a6c3a
iappinbuy.dylib恶意主体dc71cb3a71f159e667367cb07d2660f7

2.3.2 dylib分析

主要行为代码与ifile一样,以下为不同点:

1、主动验证帐号

两次hook SSLWrite API,通过post /WebObjects/MZFinance.woa/wa/authenticate模拟登陆:

2、应用内购接口

用于实现应用说明免费使用应用内购,实现方式应是使用其他用户apple id来购买

3、AES加解密

密钥key都是作者id:mischa07

4、返回flag

样本返回flag为:g_aid_from=“iappinbuy”,与claud报告一样,为样本名

2.4 iappstore(免费下载收费应用)

2.4.1 样本信息

iappstore说明:可以免费下载appstore收费应用
样本来源
作者
程序名
样本名
MD5
claud共享mischa07iappstore9catbbs.iappstore_4.0.deb0f710f8397ec969af26c299a63aeda8b
主要文件:
文件
说明
MD5
iappstore.dylib恶意主体8985ecbc80d257e02c1e30b0268d91e7
iappstore.plist标记hook itunesstored188a555ad8c89d0be76a9311b21a6c3a

2.4.2 dylib分析

主要行为代码与iappinbuy一样,以下为不同点:

1、购买App接口

应该为使用购买过app的其他apple id来实现
匹配关键词“salableAdamId”, “appExtVrsId”, “vid”, “price”, “guid”, “installedSoftwareRating” 和 “pricingParameters” 用以定位当前APP的支付信息

2、下载&读取帐号信息

获取服务器上的帐号信息
读取帐号信息,用以购买应用

3、flag

此处flag为应用名:iappstore

2.5 未分析到的部分

由于木马植入样本较多,部分claud报告中的代码未遇到:

1、窃取证书&私钥

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

2、锁屏

KeyRaider  hook SecItemCopyMatching,除了拦截通知证书,它也会将当前查询的label和特定的字符串 “com.Apple.lockdown.identity.activation”进行比较。如果匹配,KeyRaider 会将查询结果的值设置为0.
通过将返回值设置为0,KeyRaider 会阻止用户解锁他们的设备,即使通过手机输入了正确的解锁码或通过iCloud服务远程解锁设备。
一些之前的iPhone勒索攻击基于iCloud服务远程控制手机技术。其中有一些重置密码就可以重新控制iCloud。
KeyRaider不一样,它本身禁止任何的解锁操作,包括输密码和iCloud重置。利用私钥和证书可以直接发提示信息要求赎金,不用经过苹果的推送服务。因为这种设计,以前的解决办法都无效了。

2.6 小结

样本恶意行为比较简单,主要是hook ssl api来获取apple id后回传
但植入了大量的应用,以及窃取了22.5w个帐号则很严重了
另外对免费安装收费应用和免费使用内购部分的目的不是很清楚

0 评论:

发表评论