NPS 内网穿透

admin 2024年12月3日09:41:52评论10 views字数 2682阅读8分56秒阅读模式
NPS 内网穿透

NPS 内网穿透

  • 安装:https://github.com/ehang-io/nps/releases 官方版本,多年没有更新,有漏洞,会被反制不推荐
  • 安装https://github.com/Q16G/npsmodify 二次开发魔改版,修复了漏洞,修改了流量特征。喜欢使用 nps 的可以尝试这个版本。
  • 官方手册:https://ehang-io.github.io/nps/#/
  • 首先下载 : https://github.com/Q16G/npsmodify/releases 下载对应版本
  • git clone https://github.com/Q16G/npsmodify 随后把项目 clone 下来
  • (1)在使用服务端的时候需要 down 下来 cmd/nps 下的 conf 和 web 两个目录
  • (2)把 conf 和 web 两个目录和 nps 目录同级
  • (3)修改服务端密码(后期也许会支持 md5、或者登陆后修改密码)最新版默认使用 good.conf

使用方式

sudo ./linux_amd64_nps  启动nps服务端
访问 服务端 8080 web页面登陆,默认账户密码 admin/123

  • 登陆后点击右侧客户端新增:填写备注,用户,密码,压缩,加密。根据自己需求填写。
  • 随后点击客户端,点新增的客户端的加号+。会提示命令连接
例如:
sudo ./linux_amd64_npc -server=localhost:8024 -vkey=srsia6n0evfc9s3b -type=tcp

TCP 隧道

适用范围: ssh、远程桌面等tcp连接场景
假设场景: 想通过访问公网服务器1.1.1.1的8001端口,连接内网机器10.1.50.101的22端口,实现ssh连接

在刚才创建的客户端隧道管理中添加一条tcp隧道,填写监听的端口(8001)、内网目标ip和目标端口(10.1.50.101:22),保存。

访问公网服务器ip(1.1.1.1),填写的监听端口(8001),相当于访问内网ip(10.1.50.101):目标端口(22)

例如:ssh -p 8001 [email protected]

UDP 隧道

适用范围: 内网dns解析等udp连接场景
假设场景: 内网有一台dns(10.1.50.102:53),在非内网环境下想使用该dns,公网服务器为1.1.1.1

在刚才创建的客户端的隧道管理中添加一条udp隧道,填写监听的端口(53)、内网目标ip和目标端口(10.1.50.102:53),保存。
修改需要使用的dns地址为1.1.1.1,则相当于使用10.1.50.102作为dns服务器

Scosk 5 代理隧道

适用范围: 在外网环境下如同使用vpn一样访问内网设备或者资源
假设场景: 想将公网服务器1.1.1.1的8003端口作为socks5代理,达到访问内网任意设备或者资源的效果

在刚才创建的客户端隧道管理中添加一条socks5代理,填写监听的端口(8003),保存。
在外网环境的本机配置socks5代理,ip为公网服务器ip(1.1.1.1),端口为填写的监听端口(8003),即可访问内网。

Http 代理隧道

适用范围: 在外网环境下使用http正向代理访问内网站点
假设场景: 想将公网服务器1.1.1.1的8004端口作为http代理,访问内网网站

在刚才创建的客户端隧道管理中添加一条http代理,填写监听的端口
在外网环境的本机配置http代理,ip为公网服务器ip(1.1.1.1),端口为填写的监听端口(8004),即可访问内网

优化

web_port  web管理端口
web_password  web界面管理密码
web_username  web界面管理账号
web_base_url  web管理主路径,用于将web管理置于代理子路径后面
bridge_port  服务端客户端通信端口
https_proxy_port  域名代理https代理监听端口
http_proxy_port  域名代理http代理监听端口
auth_key  web api密钥
bridge_type  客户端与服务端连接方式kcp或tcp
public_vkey  客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式
ip_limit  是否限制ip访问,true或false或忽略
flow_store_interval  服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
log_level  日志输出级别
auth_crypt_key  获取服务端authKey时的aes加密密钥,16位
p2p_ip  服务端Ip,使用p2p模式必填
p2p_port  p2p模式开启的udp端口
pprof_ip  debug pprof 服务端ip
pprof_port  debug pprof 端口
disconnect_timeout  客户端连接超时,单位 5s,默认值 60,即 300s = 5mins
  • 尝试修改默认管理端口,登陆用户密码,管理路径,服务端客户端默认 8024(特征),尝试修改为其他端口。尝试修改客户端服务端连接协议 kcp,tcp,可选,某些情况可能绕过内网封锁。
[common]
server_addr=1.1.1.1:8024
conn_type=tcp
vkey=123
username=111
password=222
compress=true
crypt=true
rate_limit=10000
flow_limit=100
remark=test
max_conn=10
#pprof_addr=0.0.0.0:9999
参数
含义
server_addr
服务端 ip/域名:port
conn_type
与服务端通信模式(tcp 或 kcp)
vkey
服务端配置文件中的密钥(非 web)
username
socks5 或 http(s)密码保护用户名(可忽略)
password
socks5 或 http(s)密码保护密码(可忽略)
compress
是否压缩传输(true 或 false 或忽略)
crypt
是否加密传输(true 或 false 或忽略)
rate_limit
速度限制,可忽略
flow_limit
流量限制,可忽略
remark
客户端备注,可忽略
max_conn
最大连接数,可忽略
pprof_addr
debug pprof ip:port
 

原文始发于微信公众号(人遁安全):啊,这,不是那个隧道啊!!!

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月3日09:41:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NPS 内网穿透http://cn-sec.com/archives/3462173.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息