找回密码
 立即注册
搜索
热搜: 流水 密码
查看: 8|回复: 4

NPS认证绕过漏洞攻击

[复制链接]

420

主题

129

回帖

2460

积分

管理员

积分
2460
发表于 2026-2-14 17:29:37 | 显示全部楼层 |阅读模式

420

主题

129

回帖

2460

积分

管理员

积分
2460
 楼主| 发表于 2026-2-14 17:29:45 | 显示全部楼层
探索nps认证之门:nps-auth-bypass详解与应用
原创
于 2024-06-10 09:33:18 发布
·
809 阅读
·
CC 4.0 BY-SA版权
探索nps认证之门:nps-auth-bypass详解与应用
项目地址:https://gitcode.com/gh_mirrors/np/nps-auth-bypass

在这个网络安全日益重要的时代,对于网络服务的安全审计成为了一项必不可少的任务。今天,我们来深入探讨一款针对NPS(NetProxy Switch)认证漏洞的利用工具——nps-auth-bypass。这款开源项目不仅揭示了特定配置下的安全风险,更为网络研究人员提供了强大的武器库,来保障或检验系统的安全性。

项目介绍
nps-auth-bypass是一款专为NPS服务器设计的认证绕过工具。它能够帮助管理员检测和验证其NPS配置是否存在潜在的漏洞,尤其是当auth_key被误置或auth_crypt_key保持默认值时。通过这款工具,用户可以轻松访问NPS的Web控制台后台,甚至批量获取到socks5和HTTP代理,从而展开进一步的安全评估。

技术分析
nps-auth-bypass的核心在于对NPS默认配置的巧妙利用。它通过检查两个关键配置项的状态——一个是被注释或设为空的auth_key,另一个是保持默认值1234567812345678的auth_crypt_key,进而实施认证绕过。技术实现上,它结合了MITMdump进行中间人攻击,模拟合法认证过程,以及通过命令行脚本实现自动化探测,分别适用于手动和批量场景。

应用场景
安全审计:企业安全团队可以通过此工具,定期对自己部署的NPS服务器进行安全审查,确保没有因配置不当而留下安全隐患。
渗透测试:安全研究者和渗透测试人员可以利用nps-auth-bypass快速识别潜在的目标系统漏洞,作为测试环节的一部分。
教育与培训:在网络安全课程中,此工具可以作为学习网络攻防技巧的实践案例,提升学员的实战技能。
项目特点
灵活性高:支持直接浏览器访问和命令行扫描,适应不同操作习惯。
多线程扫描:scan_multi.py脚本允许多线程执行,极大提高了扫描效率。
报告多样化:结果输出支持多种格式(txt, csv, json, mongodb),便于后续分析。
易于上手:简单的命令行参数,即便是初学者也能迅速掌握使用方法。
合规警告:明确的使用免责声明,强调只应用于合法授权的测试环境,体现作者对法律界限的尊重。
综上所述,nps-auth-bypass是一个强大而专注的工具,旨在帮助维护互联网环境的安全与秩序。无论是对于专业的网络安全工作者还是对此领域感兴趣的个人,都值得深入了解并合理运用这一利器。记得,在使用过程中严格遵守法律法规和道德规范,确保每一次“入侵”都是为了更坚固的防护。🚀

此介绍仅供参考,实际使用前请详细阅读相关法律说明及使用指南。

nps-auth-bypass
nps认证绕过利用工具,CVE-2022-40494,使用此工具可在浏览器访问web控制端后台页面,或者批量获取socks5和http代理
项目地址: https://gitcode.com/gh_mirrors/np/nps-auth-bypass
————————————————
版权声明:本文为CSDN博主「谢忻含Norma」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gitblog_00065/article/details/139570514

420

主题

129

回帖

2460

积分

管理员

积分
2460
 楼主| 发表于 2026-2-14 17:46:51 | 显示全部楼层
hvv反制红队第一章之nps代理工具0day漏洞分析
简介
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
漏洞分析
nps的web端使用beego框架,重写了Prepare函数,在该函数中进行了权限控制。漏洞文件在web/controllers/index.go。如图:
-w1105
只需要配置文件中auth_key的内容即可通过验证,设置session中的isadmin为true。在nps的配置文件中,auth_key默认是被注释的。
-w675
所以代码中beego.AppConfig.String("auth_key")获取的结果就是空。这样crypt.Md5(configKey+strconv.Itoa(timestamp)就相当于只需要把timestamp进行md5即可。poc:
import time
import hashlib
now = time.time()
m = hashlib.md5()
m.update(str(int(now)).encode("utf8"))
auth_key = m.hexdigest()

print("Index/Index?auth_key=%s&timestamp=%s" % (auth_key,int(now)))
只需要在post内容中添加auth_key和timestamp两个参数,分别对应md5(timestamp)和timestamp即可。直接访问生成的url可以看到后台
-w978
auth_key和timestamp的时效只有20s,所以需要不停的生成。并且需要手动添加到get请求和着post请求的参数中。下图为client列表接口。
-w1656漏洞修复
只需要在配置文件里去掉auth_key的注释,同时注释掉auth_crypt_key。
-w412


420

主题

129

回帖

2460

积分

管理员

积分
2460
 楼主| 发表于 2026-2-14 23:13:51 | 显示全部楼层
WYY 发表于 2026-2-14 17:46
hvv反制红队第一章之nps代理工具0day漏洞分析
简介nps是一款轻量级、高性能、功能强大的内网穿透代理服务器 ...


https://baijiahao.baidu.com/s?id=1837741761829746350&wfr=spider&for=pc
NPS内网穿透服务器漏洞剖析与修复方案解析

世谷梦0ij
2025-07-16 03:18河北

关注






01NPS内网穿透服务器介绍

NPS内网穿透服务器是一款轻量级、高性能且功能全面的代理服务器,支持tcp、udp流量转发,并兼容任何tcp、udp上层协议,如访问内网网站、本地支付接口调试、ssh访问、远程桌面以及内网dns解析等。此外,它还提供了内网http代理、内网socks5代理、p2p等功能,并配备了强大的web管理端。




02漏洞分析与修复

◉ 漏洞分析

在漏洞分析方面,我们发现NPS的web端采用了beego框架,并对其Prepare函数进行了重写以实现权限控制。具体漏洞文件位于web/controllers/index.go中,相关代码如图所示。


仅需在配置文件中指定auth_key的内容,即可轻松通过验证,并将session中的isadmin设置为true。请注意,nps的配置文件中,auth_key默认是被注释掉的。


因此,在代码中执行beego.AppConfig.String("auth\_key")将返回空值。这意味着crypt.Md5(configKey+strconv.Itoa(timestamp))实际上只需对timestamp进行MD5哈希即可。以下是一个简单的示例代码,演示了如何生成有效的auth\_key:


```python


import time


import hashlib


now = time.time()


m = hashlib.md5()


m.update(str(int(now)).encode("utf8"))


auth_key = m.hexdigest()


print("Index/Index?auth_key=%s&timestamp=%s" % (auth_key, int(now)))


```


只需在POST请求中包含auth\_key和timestamp两个参数,其中auth\_key对应于md5(timestamp)的结果,而timestamp则直接使用当前时间戳即可。访问生成的URL将能够看到后台的响应。由于auth\_key和timestamp的时效仅为20秒,因此需要不断重新生成以确保其有效性。同时,必须手动将这些参数添加到GET和POST请求中。以下是一个示例client列表接口,展示了如何包含这些参数进行请求。




◉ 修复建议

修复漏洞需要在配置文件中取消对auth\_key的注释,并同时注释掉auth\_crypt\_key即可。







420

主题

129

回帖

2460

积分

管理员

积分
2460
 楼主| 发表于 2026-2-18 17:16:14 | 显示全部楼层
centos7安装nps
nps官方文档

https://ehang-io.github.io/nps/

1、下载

wget https://github.com/ehang-io/nps/ ... amd64_server.tar.gz

客户端linux的话    wget https://github.com/ehang-io/nps/ ... amd64_client.tar.gz

客户端windows的话  https://github.com/ehang-io/nps/ ... amd64_client.tar.gz

2、解压

tar -xzvf  xxx.tar.gz

3、安装

sudo ./nps install

windows的话  nps.exe install

4、运行(记得修改配置和修复漏洞,参考6)

sudo nps start

5、设置开机自启

  vim /etc/systemd/system/nps.service 如下

[Unit]
#服务描述
Description=npsServer
[Service]
User=root
WorkingDirectory=/etc/nps/
LimitNOFILE=4096
PIDFile=/var/run/nps/server.pid
#服务命令
ExecStart=/usr/bin/nps
Restart=on-failure
StartLimitInterval=600
[Install]
#运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
WantedBy=multi-user.target

#常用命令
#systemctl daemon-reload #服务创建
#systemctl start nps #启动服务
#systemctl stop nps #停止运行客户端
#systemctl enable nps #设置为开机启动
#systemctl disable nps #禁止开机启动
#reboot #重启服务器检验



6、漏洞修复

服务端的配置文件里web部分配置  /etc/nps/conf/nps.conf

首先、auth_key放开注释并随意输入字符

其次、同时注释掉auth_crypt_key

最后、自己个性化修改一下自己的配置

#http_proxy_port=80
#1、域名代理http代理监听端口#80

#https_proxy_port=443
#2、域名代理https代理监听端口#443

#bridge_port=8024
#3、服务端客户端通信端口#8024

#web_port = 8080
#4、web管理端口8080

#web_base_url=
#5、web管理主路径,用于将web管理置于代理子路径后面

web_username=adminxxxxx
web_password=123xxxx

#67改账号密码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|红河在线

GMT+8, 2026-4-4 10:13 , Processed in 0.223714 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表