将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

内网穿透ioee

2021年1月8日,CVE-2020-3019 lanproxy 目录遍历漏洞。漏洞描述:lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具。攻击者构造恶意请求,可直接获取到lanproxy配置文件,从而登录lanproxy管理后台进入内网。
影响版本:lanproxy 0.1
安全建议:lanproxy尚未针对该漏洞发布安全更新。建议用户禁止将lanproxy管理面板对外部开放。
相关链接:https://github.com/ffay/lanproxy

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

相关地址

使用

获取发布包

配置

server配置

server的配置文件放置在conf目录中,配置 config.properties

server.bind=0.0.0.0

#与代理客户端通信端口
server.port=4900

#ssl相关配置
server.ssl.enable=true
server.ssl.bind=0.0.0.0
server.ssl.port=4993
server.ssl.jksPath=test.jks
server.ssl.keyStorePassword=123456
server.ssl.keyManagerPassword=123456

#这个配置可以忽略
server.ssl.needsClientAuth=false

#WEB在线配置管理相关信息
config.server.bind=0.0.0.0
config.server.port=8090
config.admin.username=admin
config.admin.password=admin

官网:https://nat.nioee.com/

常见问题:

创建端口映射的时候,协议如何选择?

目前协议选择提供了http、https、tcp,这里的协议是指你的内网端口访问协议, 当你选择http和https时,可通过域名(平台域名或你自定义绑定的域名)访问, 如果选择的是tcp,将不能直接通过域名访问,需要使用平台提供的节点域名+端口访问,比如ssh、远程桌面的访问。

如何绑定自己的域名?

在映射管理中填写你要绑定的域名,然后将绑定的域名解析到节点指定的cname地址。

自己绑定的域名支持ssl证书配置吗?

支持。但是你的证书必须在平台配置(映射管理中进行配置),不需要在你自己的内网服务器上配置。

客户端支持哪些平台?

Windows、Mac、Linux、mipsle等,Windows 64位,Mac OS 64位,Linux 64位,更多其他平台客户端

普通端口连接:
# mac 64位
nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
# linux 64位
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
# windows 64 位
client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY
SSL端口连接
# mac 64位
nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &
# linux 64位
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true &
# windows 64 位
client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true

映射网站如何获取访问用户真实IP?

通过http头 X-Forwarded-For 以及 X-Real-IP获取。可以通过http头 Scheme 判断前端访问是http还是https。
一般情况下,个人电脑是没有公网IP的,所以别人无法访问你电脑上的网站,不过通过IO2C内网穿透工具很容易就可以做到,现在通过以下步骤将你电脑上的网站开放给全世界
1. 登录 https://nat.io2c.com 后,点击左侧菜单“终端管理”,点击“创建客户端”会生成一个客户端配置

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

2. 下载客户端 【Windows 64位】 【Mac OS 64位】 【Linux 64位】 更多其他平台客户端

3. 在第一步中生成了客户端配置

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

点击“连接命令”,复制对应的客户端执行命令

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

windows打开cmd窗口执行,linux和mac os请在终端命令行中执行

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

执行完成上面的命令后可以在“终端管理”中查看客户端状态是否为“上线”

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

4. 点击左侧菜单“映射配置”,可以看到你刚刚创建的客户端,点击进入映射配置
5. 点击“添加配置”,开始填写必要信息“名称”,“后端服务映射信息”,其余默认即可,其中“后端服务映射信息”填写你电脑的ip地址+端口,一般情况填写 127.0.0.1:80 即可,点击保存后,使用系统分配的域名即可访问

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

如何通过ssh远程管理我的电脑或服务器?

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

执行ssh命令登录到远程电脑(也可以使用putty等其他客户端)

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

如何通过远程桌面管理我的电脑?

请先阅读《如何将我电脑上的网站让朋友访问?》

1. 下载vnc server (https://www.realvnc.com/en/connect/download/vnc/) 并在你要远程管理的电脑上安装
2. 下载vnc viewer(https://www.realvnc.com/de/connect/download/viewer/)填写连接信息即可进入你要管理的电脑
映射配置

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019

vnc客户端连接

将局域网个人电脑、服务器代理到公网的内网穿透工具lanproxy漏洞CVE-2020-3019