吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 34476|回复: 101
收起左侧

[移动样本分析] 一枚Android "短信小偷" 病毒的分析

  [复制链接]
龙飞雪 发表于 2015-9-23 14:08
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 龙飞雪 于 2015-9-23 14:13 编辑

一、样本简介

样本来自于吾爱破解论坛链接地址为http://www.52pojie.cn/thread-410238-1-1.html,样本不是很复杂有空就分析了一下。Android病毒样本还是很有意思的,有需要分析的样本发到论坛分析分析。


二、样本信息

文件名称:10086.apk

文件大小:32117 byte

文件类型:application/jar

病毒名称:Android.SmsThief.BS

MD5:c2cd6abcb62a8df958049acffa204392

SHA1:de9bdbf724e6adf9bfe1bed7047b176851b5ae74


图片1.png



三、样本病毒行为分析


0x1. 静态注册短信拦截广播、开机启动广播、唤醒手机等广播,对除Nexus之外的机型进行短信的拦截,将用户手机上收的短信的信息和短信发送人等数据发送到病毒作者的指定服务器网址"http://wap.dzf10086.com/kk/ch.php"和指定手机号13066310152上。


图片2.png



0x2.拦截除病毒作者手机号码13066310152之外所有发送到用户手机上的短信,并将用户手机上的短信的内容和短信发送人等信息,通过网络提交到病毒作者的服务器"http://wap.dzf10086.com/kk/ch.php"上并通过短信的方式发送到病毒作者的指定手机号13066310152上,然后查询用户的手机短信箱"content://sms/inbox"将用户手机上收到别人发送来的短信的记录删除,或者开启病毒服务。


图片3.png

图片4.png



0x3.这里需要说明一下,病毒作者接受短信的手机号使用AES算法进行了加密,解密之后可以得到病毒作者的手机号为13066310152


图片5.png


图片6.png


解密病毒作者接受短信的手机号码的代码:

[Java] 纯文本查看 复制代码
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;

public class AesDecryptString {

        public static void main(String[] args) {

                // AES算法解密后的字符串--病毒作者的手机号
                String strAesDecryptString = GetAesDecryptString("37349EC2F427A1AF812DA757988CB9DE",   
                "AE920882F4F5818501AB6256F91691D5");
                
                //输出AES解密的字符串
                System.out.println("The PhoneNumber is :"+strAesDecryptString);  //病毒作者的手机号码 - 13066310152
        }
        
        //解密AES算法加密的字符串
         public static String GetAesDecryptString(String content, String key) {
                try {
                    Cipher Cipher = javax.crypto.Cipher.getInstance("AES");
                    Cipher.init(2, new SecretKeySpec(parseHexStr2Byte(key), "AES"));
                    String strDecrypt = new String(Cipher.doFinal(parseHexStr2Byte(
                            content)));
                    return strDecrypt;
                }
                catch(BadPaddingException e) {
                    e.printStackTrace();
                }
                catch(IllegalBlockSizeException v1_1) {
                    v1_1.printStackTrace();
                }
                catch(NoSuchPaddingException v1_2) {
                    v1_2.printStackTrace();
                }
                catch(NoSuchAlgorithmException v1_3) {
                    v1_3.printStackTrace();
                }
                catch(InvalidKeyException v1_4) {
                    v1_4.printStackTrace();
                }

                return null;
            }

         //字符串转换
         public static byte[] parseHexStr2Byte(String hexStr) {
                byte[] byteArry;
                int v6 = 16;
                if(hexStr.length() < 1) {
                    byteArry = null;
                }
                else {
                    byteArry = new byte[hexStr.length() / 2];
                    int v1;
                    for(v1 = 0; v1 < hexStr.length() / 2; ++v1) {
                        byteArry[v1] = ((byte)(Integer.parseInt(hexStr.substring(v1 * 2, v1 * 2 + 1), v6) * 
                                16 + Integer.parseInt(hexStr.substring(v1 * 2 + 1, v1 * 2 + 2), v6)));
                    }
                }

                return byteArry;
            }
}


0x4.下面是病毒apk程序将用户的短信拦截提交到病毒作者的服务器网址"http://wap.dzf10086.com/kk/ch.php"上以及发送到病毒作者的手机"13066310152"上。


图片7.png


图片8.png



0x5.动态注册短信广播"android.provider.Telephony.SMS_RECEIVED",设置短信广播的高优先级,对用户的短信进行拦截,然后通过网络和短信发送给病毒作者。


图片9.png


图片10.png


图片11.png



0x6.监控用户收件箱的变化—拦截用户手机上的短信以后发送到病毒作者的手机上然后删除拦截到的短信在用户短信收件箱的记录


图片12.png



0x7.静态注册"android.app.action.DEVICE_ADMIN_ENABLED" 广播,一旦用户误操作点击“激活”以后病毒apk程序就会被锁定,不能用户卸载,并且病毒apk程序被锁定的信息还会以提示“已激活”发送到病毒作者的服务器和手机上。


图片13.png


图片14.png


图片15.png



0x8.病毒apk程序运行时,会开启病毒服务(上面已经分析)拦截用户的短信发送给病毒的作者,隐藏当前apk程序的图标,诱导用户点击“激活”锁定设备,导致该apk不能被用户卸载


图片16.png


图片17.png



0x9.判断用户的手机有没有被root。


图片18.png


免费评分

参与人数 23威望 +1 吾爱币 +1 热心值 +22 收起 理由
阿童木嗷嗷 + 1 鼓励转贴优秀软件安全工具和文档!
siuhoapdou + 1 + 1 谢谢@Thanks!
wnagzihxain + 1 赞,不错的分析
FallStop + 1 热心回复!
yuluo5566 + 1 我很赞同!
eir + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
be1tso + 1 叹为观止!
Extant + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
北鱼何为 + 1 我很赞同!
Mr.Mlwareson_V + 1 鼓励转贴优秀软件安全工具和文档!
woai5452045 + 1 我很赞同!
8821745 + 1 鼓励转贴优秀软件安全工具和文档!
萋小磊 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
Mr丶Yang + 1 已答复!
willJ + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
jiachengzi + 1 谢谢@Thanks!
qtfreet00 + 1 我很赞同!
菜鸟一枚 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
howsk + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
Super丶咖啡 + 1 谢谢@Thanks!
北漂小子 + 1 花花在哪里!!!
myqqq + 1 分析有理
阿di达思 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

我是一个穷光蛋 发表于 2015-10-14 09:37
龙飞雪 发表于 2015-10-13 16:46
我并没有去自己写代码,是用的apk中的代码,解密的;不用自己写的,apk中既然用到了,它自然会有解密的代 ...

好吧,我是想反编译一下,还希望 大牛  出点教程吧,对于加过壳的该怎么去做,  作为一个网警我们经常要遇到各种这样的麻烦事啊。
 楼主| 龙飞雪 发表于 2015-10-13 16:46
我是一个穷光蛋 发表于 2015-10-13 15:25
我想学习了解下 aes的算法,我怎么算 也算不出 等于那个手机好啊。

我并没有去自己写代码,是用的apk中的代码,解密的;不用自己写的,apk中既然用到了,它自然会有解密的代码的。病毒作者这么做,只是为了给静态分析出手机号码制造困难。
阿di达思 发表于 2015-9-23 14:11
2317909768 发表于 2015-9-23 14:12
前排膜拜大牛
 楼主| 龙飞雪 发表于 2015-9-23 14:13
阿di达思 发表于 2015-9-23 14:11
佩服,分析的怎好

多谢你的支持,哈哈{:1_902:}
 楼主| 龙飞雪 发表于 2015-9-23 14:15

菜鸟一只啊,一起学习了。
clf7691782 发表于 2015-9-23 14:29
好像很厉害的样子。膜拜!
Srao 发表于 2015-9-23 14:49
前排膜拜大牛
韩烨 发表于 2015-9-23 14:57
膜拜大牛
青春有梦 发表于 2015-9-23 15:06
厉害.学习中
yag2007 发表于 2015-9-23 15:11
膜拜大牛,又一精品分析贴,感谢分享经验。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 05:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表