移动应用程序目前已经成为最有效的攻击向量之一,这些网络罪犯最喜欢的一种方法便是流行应用程序的滥用。自己审视下是否在安装一款需求连接到社交应用账户凭证,电子邮件账户,云存储服务的应用时有静下来细细考虑?
近日,一款名为“InstaCare – Who cares with me”(谁看了你的Instagram账户)的恶意应用通过Google Play应用商店,以及其他第三方应用商店流通。来自德国Peppersoft公司的David Layer-Reiss发现了该威胁,如果想看看更详细的分析可以查看它的分析博文。
该应用服务作为一个hook,引诱Instagram用户。假称能够让你得知谁看过的Instagram账户,但实际上它滥用连接Instagram的身份验证进程。
事实上,对于大部分应用程序来说使用API或者授权协议是一种常态,比如使用OAuth 来验证第三方应用程序。对于用户来说,这样做非常的方便,可以在不同的应用和服务之间使用相同的凭证来进行身份验证。
这里最大的问题是,针对这个特性,一些应用可以恶意获取用户的信息,例如他们的个人信息,联系人,再或者可以盗取他们的凭证。
这种方法非常成功。在这个特别的案例中,该应用的安卓版本就有超过10万台设备安装量,并且超过2万的评论信息。在这些评论信息中大部分都提示了需要进行支付才能够正常工作。
就Google Play应用商店来说,我们还可以看到一些用户抱怨安装出现的一些问题。
非常有趣的是,该应用是通过了苹果安全检测并发布!尽管它对控制更严谨,但是并没有提到该作者有过发布恶意软件历史的信息。
攻击向量
该攻击将Javascript代码安置在Instagram登录页面的提交按钮中
该代码获取输入字段名““username”以及“password”的内容,将其以“
也会从用户设备中收集其他信息,然后通过POST请求发回到C&C服务器
“hash”参数的值为上图中的数据加上Instagram用户名及密码,这个值使用AES 128进行加密后使用base64进行编码,加密密钥是由服务器生成。
在 iOS版本同样使用AES 128,但分组模块使用CBC替代ECB
因此,它使用字符串“IOS123SECRETKEYS”作为初始矢量。
打开后,它会迫使用户登录 Instagram
用户名和密码发送到服务器之后,还会发送一些元数据
因为我们已经获得ID,可以使用David修改后Java代码解密其中内容。我们仅需要修改初始化加密类。
通过输入“hash”参数的内容,我们可以解密数据,发送并找到已经发送到服务器上的信息。正如我们料想的一样, Instagram用户名和密码同样包含在这个列表中。
这些用户名和密码稍后将用于向用户的Instagram账户发送垃圾消息。
本文提到的威胁是由Kaspersky实验室检查发现的HEUR:Trojan-Spy.AndroidOS.Instealy.a 以及 HEUR:Trojan-Spy.IphoneOS.Instealy.a.
结论
移动环境已经成为了网络罪犯们最喜好的目标之一,社交网络的出现在方便朋友间乐趣的同时,无疑也方便了恶意软件的分发,在安装应用之前最好是多多思考下。一般官方网站都不提供的服务,你一个第三方平台是通过何种方法去实现的呢?