Skip to content

Ghostdehole/BISTU-Net-Daemon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

BISTU Dr.COM ePortal Auto-Daemon & Security Audit

License Python

本项目针对 北京信息科技大学 (BISTU) 的校园网(基于 Dr.COM 计费系统),进行了一次深度的底层架构分析与网络测绘。 本项目包含了一份关于无线网络 (WLAN) 防火墙策略漏洞的详细披露报告,以及一套专为该校复杂网络环境打造的工业级自动化认证守护进程 (Daemon)

免责声明 (Disclaimer) 本项目及报告仅供计算机网络安全学术研究与教育目的使用。公开此漏洞的目的是为了引起学校信息网络中心的重视并协助修复。请勿滥用本文提到的漏洞进行非法牟利。开发者对使用本工具产生的任何后果不承担责任。


第一部分:校园网双轨架构与高危漏洞披露

在近期的端点探测与源码审计中,我们发现 BISTU 校园网实际上是由两套物理隔离且策略完全不同的“平行宇宙”组成的:有线网络 (lan)无线网络 (wlan)

架构基准:有线网 (LAN) 的铁桶防御

  • 域名lan.bistu.edu.cn
  • 网络特性:纯 IPv4 网络,未下发 IPv6 路由。
  • 防御机制:执行了极其严苛的访问控制列表 (ACL)。
    1. HTTP (80端口):被深信服/AC网关全面拦截,并 302 重定向至认证页。
    2. HTTPS (443端口):实施了中间人攻击 (MITM) 级别的拦截。网关会强行阻断目标握手,并塞入伪造的校园网证书,导致浏览器报“证书不安全”错。

核心漏洞:无线网 (WLAN) IPv6 与白名单防火墙溃盖

  • 漏洞等级:High (高危)

  • 漏洞描述: 相较于有线网的严防死守,新建的无线网络 (wlan.bistu.edu.cn) 启用了 IPv4/IPv6 双栈网络,但在防火墙配置上出现了严重的“端口放行盲区”与“过度授权”。

    1. 443 端口审查缺失: 网关仅对 80 端口(HTTP)进行了强制拦截跳转,却对 IPv6 下的 443 端口(HTTPS/QUIC)缺乏深度包检测(DPI)与阻断机制。

    2. 特权级 IP 白名单(以腾讯云为例): 探测表明,部分特定企业的 IP 网段(如 cloud.tencent.com, bilibili.com)被加入了核心交换机的“绝对免流白名单”。(推测是为了保障未登录状态下的微信消息推送、网费扫码支付等基础服务)。

  • 漏洞利用 (Proof of Concept): 攻击者只需在未登录无线网的状态下(即未认证状态),利用这一白名单盲区即可实现零成本、不限速的全网免流访问:

    1. 傻瓜式方案:使用 Cloudflare WARP,将其 Endpoint(目标地址)强行修改为 Cloudflare 的 IPv6 泛播地址,建立纯 IPv6 的 WireGuard 隧道。
    2. 极客级方案:购买一台分配了公网 IPv6 的腾讯云/阿里云服务器,在服务器上部署 VLESS/Xray 代理,将监听端口设为 443,并利用 cloud.tencent.com 作为 SNI 伪装。本地计算机连接该节点后,所有流量将被网关视为“合法的腾讯系加密服务”而直接放行。

第二部分:白名单自动化嗅探探针 (Whitelist Prober)

本项目附带了一个多线程的自动化网络资产测绘工具:scanpro.py

用途:用于在未登录校园网的状态下,并发扫描自定义域名/IP 字典,侦测 HTTP (80) 劫持与 HTTPS (443) MITM 证书劫持状态,精准绘制出校园网防火墙的免流白名单地图

运行截图:

==================================================
               Dr.COM 白名单嗅探探针
==================================================

🔍 开始探测: cloud.tencent.com
   [DNS] 解析成功 (IPv4 + IPv6) -> 116.196.150.210
   [HTTP 80]  🟢 正常跳转   | 目标服务器自身跳转 -> https://cloud.tencent.com/[HTTPS 443] 🟢 绝对畅通   | 直连目标服务器 (HTTP 200)

🔍 开始探测: aliyun.com
   [DNS] 解析成功 (仅 IPv4) -> 106.11.249.99
   [HTTP 80]  🔴 302拦截  | 网关踢至认证页: http://lan.bistu.edu.cn[HTTPS 443] 🟡 证书劫持   | 证书不匹配,网关 MITM 拦截

(扫描结果为 🟢 绝对畅通 的目标,即可作为搭建免流穿透隧道的 Endpoint。)


第三部分:Dr.COM 自动化守护进程 (The Daemon)

由于有线网 (LAN) 不存在上述漏洞,必须进行合法的 Web 认证。针对复杂的网络切换和认证掉线痛点,本项目提供了一个极度强健的 Python 守护进程:bistu_drcom_daemon.py

核心科技 (Core Technologies)

  1. 代理穿透机制 (Egress Binding) 在底层 Socket 级别强制绑定真实物理网卡 IP。完美兼容 Clash / Sing-box 的 TUN (虚拟网卡) 模式,彻底解决开启代理软件后脚本误判为断网的“死锁”Bug。
  2. 苹果级环境探针 (Captive Portal Probing) 摒弃不可靠的 Ping 测试。采用苹果官方的 captive.apple.com 进行 200 OK 嗅探,毫秒级感知网关 302 劫持与网络断开。
  3. 动态域名嗅探 (Domain Failover) 通过捕获网关未登录时的 302 劫持 Location,脚本会自动判断当前处于有线 (lan) 还是无线 (wlan),实现自动纠错与接口切换,拒绝“对有线发无线包”的假死现象。
  4. 防抢跑与自我愈合 (Resilience Engineering) 针对网关防火墙权限下发的延迟,设计了“认证 -> 等待 6s -> 二次验证”的防欺骗逻辑。遇到欠费等情况采用指数退避算法(Exponential Backoff)休眠,缴费后脚本自动满血复活。

快速上手 (Quick Start)

1. 配置账号

在脚本同级目录下创建 config.json,填入你的校园网账号和密码:

{
    "username": "你的学号(注意是否需要 @dx / @lt 运营商后缀,一般不用)",
    "password": "你的密码",
    "check_interval": 15
}

2. 运行守护模式 (Daemon Mode)

直接运行脚本,它将在后台默默守护你的网络。拔插网线、切换 WiFi,瞬间自动秒连。

python bistu_drcom_daemon.py

(Windows 用户可将文件后缀改为 .pyw 并放入系统启动文件夹,实现开机无感静默自启。)


修复建议与反馈

呼吁学校信息网络中心尽快采取以下措施:

  1. 统一双栈策略:对齐有线网与无线网的访问控制列表 (ACL),对未认证设备的 IPv6 HTTPS (443) 和 UDP/QUIC 流量进行严格拦截与管控。
  2. 收紧白名单策略:精细化配置免流 IP 段,避免粗暴地将大型 CDN 节点或整个云服务商网段加入白名单。

欢迎各位同学与开发者提交 Issue 和 Pull Request 来共同完善本项目的代码适配!

About

No description, website, or topics provided.

Resources

License

Stars

5 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages