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/kuaidial7 | 3K抢红包王 | app.weiphone.9catbbs.iwexin_2.0-3_iphoneos-arm.deb | a02be31297d47274c4b95e620b3fd30e | - |
iFile(破解版) | app.weiphone.ifile.179_2.2.0-1_iphoneos-arm.deb | a5595a03eb95427f73dffe9b4cad093f | 恶意 | ||
氵刀八木 | http://apt.178.com/15402441(早期) | WiFi Booster | wifibooster.178_2.0.1_iphoneos-arm.deb | 4ec177caebd72c43420eb54aee81611b | - |
盘古徐昊分析样本 | iFile |
iFile_2.2.0-2-2.deb
| 623866a78ac17fab043a28e8dc6dc63b93f691a2 | 恶意 | |
iFile.dylib | c798d24673adcdfd1b31f1cf090766adbbe1622b | ||||
Claud共享样本 | - | 9catbbs.GamePlugin_6.1-9.deb(空) | d41d8cd98f00b204e9800998ecf8427e | 恶意 | |
GamePlugin | 9catbbs.GamePlugin_6.1-9_1.deb | caaf060572e57b6d175c3959495bcdbf | |||
MPPlugin | 9catbbs.MPPlugin_1.3.deb | 1dd1a8c6c213e3b51cd2463d764a9c62 | |||
iappinbuy | 9catbbs.iappinbuy_1.0.deb | ddf224f63ee9c7fba76298664a2b0b00 | |||
iappstore | 9catbbs.iappstore_4.0.deb | 0f710f8397ec969af26c299a63aeda8b | |||
ibackground | 9catbbs.ibackground_3.2.deb | 02464ae6259a2c8194470385781501b7 | |||
3K抢红包王 | iweixin.deb | 3838a37a9bc7df750fb16d12e32a2fcb | |||
BatteryLife | repo.sunbelife.batterylife_1.4.1.deb | 3c57e433fbba1ac1e4dc1b84cec038fb |
2.2 iFile分析(常规样本)
2.2.1 样本结构
以mischa07的iFile(破解版)为例分析:
应用名
|
作者
|
源
|
文件名
|
MD5
|
---|---|---|---|---|
iFile(破解版) | mischa07 | http://apt.so/kuaidial7 | app.weiphone.ifile.179_2.2.0-1_iphoneos-arm.deb | a5595a03eb95427f73dffe9b4cad093f |
其包结构如下:
路径 | 文件名 | 文件类型 | 说明 | MD5 |
---|---|---|---|---|
/ | debian-binary | text | deb 格式版本号码 | 3cf918272ffa5de195752d73f3da3e5e |
/control | control | text | deb包描述文件,名称(Package),版本(Version)以及描述(Description)等 | 4113b99b9a9233863bb6711e2146753a |
preinst | shell script | Debian软件包(".deb")解压前执行的脚本 | 6f7e4ce37778589acff48f5a45e6f6f5 | |
postinst | exec | 安装成功后执行 'postinst' 脚本,完成所需的配置工作 | c355f77e8ccd7484559ec73e40064839 | |
/data/Application | iFile.app | app | App包,被重打包植入木马程序 | - |
/data/Library/MobileSubstrate/DynamicLibraries | ifile.dylib | dylib | cydia库,恶意代码主体 | fffbf26a22f3234d7a693a2c6f28abfd |
ifile.plist | plist | 标记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共享 | mischa07 | iappinbuy | 9catbbs.iappinbuy_1.0.deb | ddf224f63ee9c7fba76298664a2b0b00 |
主要文件:
文件
|
说明
|
MD5
|
---|---|---|
iappinbuy.plist | 标记hook itunesstored | 188a555ad8c89d0be76a9311b21a6c3a |
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共享 | mischa07 | iappstore | 9catbbs.iappstore_4.0.deb | 0f710f8397ec969af26c299a63aeda8b |
主要文件:
文件
|
说明
|
MD5
|
---|---|---|
iappstore.dylib | 恶意主体 | 8985ecbc80d257e02c1e30b0268d91e7 |
iappstore.plist | 标记hook itunesstored | 188a555ad8c89d0be76a9311b21a6c3a |
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 评论:
发表评论