Android锁机病毒分析

一、样本信息

应用名:刷赞小能手
包名:com.xcgdmmsj
SHA1:548B46CDF7D87849E3527AF87FE10A6AD29FC758

在这里插入图片描述


二、恶意行为分析

2.1 应用清单详情

AndroidManifest.xml可得知该应用申请了发送短信、弹窗和震动等权限。注册了bbbMyAdmin两个广播接收器,分别用于接收开机广播和激活设备管理器。

<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xcgdmmsj" platformBuildVersionCode="23" platformBuildVersionName="6.0.1">
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <application android:debuggable="false" android:icon="@drawable/icon" android:label="刷赞小能手">
        <activity android:name=".M" android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <service android:name="s"/>
        <receiver android:name="bbb">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>
        <receiver android:description="@string/hello" android:name=".MyAdmin">
            <meta-data android:name="android.app.device_admin" android:resource="@xml/my_admin"/>
            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED"/>
            </intent-filter>
        </receiver>
    </application>
</manifest>

用jeb反编译代码,代码结构没有涉及加固、混淆、加载so等防逆向手段。
在这里插入图片描述

2.2 诱导用户激活设备管理器及重置PIN密码

入口处使用ADRTLogCatReader记录软件运行期间所产生的日志,然后调用activiteDevice()

@Override 
public void onCreate(Bundle arg6) {
    ADRTLogCatReader.onContext(this, "com.aide.ui");
    super.onCreate(arg6);
    this.activiteDevice();
}

activiteDevice()中通过隐式intent弹出激活设备管理器界面,然后反射调用MyAdmin()
在这里插入图片描述
跟入MyAdmin(),继承了DeviceAdminReceiver并重写onEnabled(),先从resource/raw/pin.txt取出密文,通过M.getsss()进行解密,再调用resetPassword()重设PIN密码。同时反射启动s服务。
在这里插入图片描述
在这里插入图片描述
PIN密文:
在这里插入图片描述
解密算法:利用Base64加密自定义字符串转换的字节数组,使用subSequence()截取字符串得到一个新的字符序列,再用Base64进行解密得到明文。此处解密出的PIN密码为3366。
在这里插入图片描述

2.3 置顶弹窗,勒索用户

跟入s服务,在onCreate()中初始化弹窗,type设置为2010(最高级别,用户点击Home键也没反应),再调用addView()置顶弹窗。
在这里插入图片描述
在界面留下解锁联系方式,解密内容为:加q2100311719
在这里插入图片描述

04-27 18:31:56.700 5960-5960/me.yaorc.myapplication I/MainActivity: The plaintext is ->> 加q2100311719

查看点击事件,逻辑是判断用户输入的内容,密钥正确则调用removeView()删除置顶弹窗并结束线程。解密算法与解PIN是一致的,都是获取raw下某个文件的内容后调用getsss()进行解密。此处的解锁密码为336699
在这里插入图片描述
然后采取DES算法通过密钥bah解密内容为c29fe56fa59ab0db,通过DU()类初始化得到第二个密钥,对锁机码进行加密,保存在/data/data/com.xcgdmmsj/shared_prefs/bah.xml中。
在这里插入图片描述
在这里插入图片描述
解密锁机码,用于判断。
在这里插入图片描述


三、病毒清除

3.1 手机已root,已开启usb调试。

连接配置好adb环境的电脑,在终端执行命令adb shell dumpsys activity top获取栈顶应用的包名。
在这里插入图片描述
执行su命令获取root权限,再使用am force-stop com.xcgdmmsj便可强制杀掉这个进程。
在这里插入图片描述
此时置顶弹窗已消失,但PIN密码也被重置了,需要删除/data/system/password.key,然后执行命令reboot重启手机。
在这里插入图片描述
最后在设置里取消激活设备管理器和卸载锁机软件即可。

3.2 手机未Root,未开启USB调试。建议备份数据后重新刷机。

四、小结

  • 该恶意软件在运行后会诱导用户激活设备管理器,使用WindowManagerDeviceAdminReceiver实现置顶弹窗和更改PIN密码,加上震动、播放不良BGM等手段向用户施加心理压力,迫使用户转账。
  • 通过janus平台的监控发现,这一类恶意软件通常会伪装成辅助软件,如刷钻、刷赞、抢红包。
    在这里插入图片描述
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值