nps简介及安装使用
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。
官方版本三年前已经停止维护,还有个新的维护分支,是在 0.26.10 版本的基础上继续开发的。新用户建议直接使用最新版本。
nps安装使用:
nps漏洞描述
nps存在一个身份验证的缺陷,存在越权漏洞。无需登录,通过特殊构造的url可以直接绕过登录未授权访问控制台,使用控制台大多数功能。具体操作是伪造两个参数auth_key、timestamp完成越权操作。目前该漏洞已经实现武器化,可一键利用,可能联合其他漏洞造成大范围影响。相关链接:
nps漏洞修复
三个修复方案:
1.更新至兼容官方0.26.10的漏洞修复版:0.26.17(新维护分支0.26.14版本已修复API鉴权漏洞修复)
0.26.10代码:web/controllers/base.go
0.26.14修复代码:https://github.com/yisier/nps/commit/ab81f5b68ea896c1cde76b6ae04dee11be9d477a
2.修改/etc/nps/conf/nps.conf配置文件,注释auth_crypt_key,将auth_key取消注释并修改为随机性强密码,网上已有修复版本。
3.同时保留auth_crypt_key和auth_key,且修改auth_crypt_key为随机的16位数字(必须是16位数字),修改auth_key为任意强密码,待测试影响,认证key存在爆破或泄漏风险,不推荐。