| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 身边随时可能发生的网络攻击,短信拦截码分析! -> 正文阅读 |
|
[移动开发]身边随时可能发生的网络攻击,短信拦截码分析! |
小编不定时干货分享来了,之前拿到的几个恶意样本,简单分析来学习一下 ? 冒充10086发过来的短信,要积分兑换现金,然后点进去链接要输入银行卡密码 ? 这里我们点激活 ? 然后退回桌面 一会儿这个app就自己消失了,隐藏自己 ? 进入应用管理页面 可以看到无法卸载 ? 我们将apk文件改后缀为rar并解压得到classes.dex文件 这里通过dex2jar jar2smali可以将dex文件反编译为smali代码 得到classes-out文件夹 然后自己造了一个轮子,用来提取一些关键信息,比如url链接,手机号,邮箱等等,主要还是通过正则表达式来进行匹配 代码如下 脚本还很垃圾 师傅们轻喷~ # coding:utf-8 import?os import?re a?=[] ips?=[] emails?=[] emails_fin?=[] phones?=[] def?deleteSameNum(num): num.sort() last?=?num[-1] for?i?in?range(len(num)-2,-1,-1): if?last?==?num[i]: del?num[i] else: last?=?num[i] return?num def?bianli(rootdir): for?root,dirs,files?in?os.walk(rootdir): for?file?in?files: b?=?os.path.join(root,file) a.append(b) for?dir?in?dirs: bianli(dir) rootdir?=?'classes-out/' # dex文件 dex2smali bianli(rootdir) for?i?in?a: file?=?open(i,'r') con?=?file.read() con1?=?re.findall(r'[0-9a-zA-Z_]{0,19}@[0-9a-zA-Z]{1,13}\.[com,cn,net]{1,3}',con) con2?=?re.findall(r'1[35678]\d{9}',con) con3?=?re.findall(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+',con) ips.append(con3) phones.append(con2) emails.append(con1) def?zhuan_(ffff): ffff_fin?=[] ffff?=[x?for?x?in?ffff?if?x]?# remove 空元素 for?i?in?ffff: for?i2?in?i: ffff_fin.append(i2)?# two 2 one return?ffff_fin print?deleteSameNum(zhuan_(emails)) print?deleteSameNum(zhuan_(phones)) print?deleteSameNum(zhuan_(ips)) ? ?可以得到一个地址 ['//wap.dzf10086.com/kk/ch.php'] 将apk文件直接载入jeb分析 查看manifest文件 <?xml version="1.0" encoding="UTF-8"?> <manifest?android:versionCode="1" android:versionName="1.0" package="iuxkikw.zkjaksj.jhyvu" xmlns:android="http://schemas.android.com/apk/res/android"> <uses-permission?android:name="android.permission.WRITE_SMS"?/> <uses-permission?android:name="android.permission.SEND_SMS"?/> <uses-permission?android:name="android.permission.INTERNET"?/> <uses-permission?android:name="android.permission.READ_SMS"?/> <uses-permission?android:name="android.permission.WRITE_EXTERNAL_STORAGE"?/> <uses-permission?android:name="android.permission.RECEIVE_SMS"?/> <uses-permission?android:name="android.permission.RECEIVE_BOOT_COMPLETED"?/> <uses-permission?android:name="android.permission.INTERNET"?/> <uses-permission?android:name="android.permission.READ_PHONE_STATE"?/> <application?android:allowBackup="true" android:debuggable="true" android:icon="@drawable/qqq" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity?android:label="@string/app_name" android:name="com.fhgfd.heee.MainActivity"> <intent-filter> <action?android:name="android.intent.action.MAIN"?/> <category?android:name="android.intent.category.LAUNCHER"?/> </intent-filter> </activity> <receiver?android:description="@string/app_name" android:label="@string/app_name" android:name="com.fhgfd.heee.kc" android:permission="android.permission.BIND_DEVICE_ADMIN"> <meta-data?android:name="android.app.device_admin" android:resource="@xml/xyz"?/> <intent-filter> <action?android:name="android.app.action.DEVICE_ADMIN_ENABLED"?/> </intent-filter> </receiver> <receiver?android:name="com.fhgfd.heee.kd"> <intent-filter?android:priority="2147483647"> <action?android:name="b.b.b"?/> <action?android:name="android.provider.Telephony.SMS_RECEIVED"?/> <action?android:name="android.intent.action.BOOT_COMPLETED"?/> <action?android:name="android.intent.action.USER_PRESENT"?/> </intent-filter> <intent-filter> <action?android:name="android.intent.action.PACKAGE_ADDED"?/> <action?android:name="android.intent.action.PACKAGE_REMOVED"?/> <data?android:scheme="package"?/> </intent-filter> </receiver> <service?android:name="com.fhgfd.heee.kse"?/> </application> </manifest> 可以看到一些比较危险恶意的权限 ? 这里就是激活设备管理器了 还向病毒制作者发送的短信 来通知告诉病毒制作者
?入口还是MainActivity 看看MainActivity ? ksj类 ? kapi类 ? 可以知道是通过aes加密 写个简单的脚本来解密一下 package?com.example.lib.tttest1; import?javax.crypto.Cipher; import?javax.crypto.spec.SecretKeySpec; publicclass?tttest1?{ publicstaticbyte[]?parseHexStr2Byte(String hexStr){ if(hexStr.length()<1) returnnull; byte[]?result?=newbyte[hexStr.length()/2]; for(int?i?=0;?i?<?hexStr.length()/2;?i++){ int?high?=?Integer.parseInt(hexStr.substring(i?*2,?i?*2+1),16); int?low?=?Integer.parseInt(hexStr.substring(i?*2+1,?i?*2+2),16); result[i]=(byte)(high?*16+?low); } return?result; } publicstatic?String decrypt(String content,?String key){ try{ Cipher cipher?=?Cipher.getInstance("AES"); cipher.init(2,new?SecretKeySpec(tttest1.parseHexStr2Byte(key),?"AES")); String v3?=new?String(cipher.doFinal(tttest1.parseHexStr2Byte(content))); return?v3; } catch(Exception e){ e.printStackTrace(); } returnnull; } publicstaticvoid?main(String[]?args){ String a?=?decrypt("37349EC2F427A1AF812DA757988CB9DE",?"AE920882F4F5818501AB6256F91691D5"); System.out.println(a); } } 得到一个手机号 13066310152 ksj.cvh 就是 手机号的值 传入kapi.s函数的第一个参数 ? 这里是获取手机设备的IMEI this.getSystemService("phone").getDeviced() String number = telephonyManager.getLine1Number(); 获取手机号码 获取用户本机号码 向制作病毒的人的手机发送拦截的短信 ka类 ? 向这个地址发出http网络请求 把用户的手机信息回传到这个地址 ke类 ? 监控用户收件箱变化 删除拦截到的短信在用户短信收件箱的记录 kd类 ? 用来收到收短信received,然后停止广播 获取短信内容 message.getOriginatingAddress() 获取发信人的手机号 message.getMessageBody() 获取短信内容,然后就是把短信发送到病毒制作者的手机上 通过分析可以知道该apk程序具有以下恶意意图 1.拦截短信 2.隐藏图标 诱导激活设备管理器权限无法卸载 3.监控收件箱 删除拦截到的短信在用户短信收件箱的记录 4.向病毒制作者的一个手机号 和 网站 发送拦截到的短信包括发送者的手机号,设备信息IMEI,设备的手机号等 来源于网络 *本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/5 22:10:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |