BACnet 楼宇自控口
楼宇自动化协议 BACnet/IP 的默认 UDP 端口:47808 对应十六进制 0xBAC0,暖通、照明、门禁等系统都跑在它上面,是 OT 安全扫描的重点目标。BACnet 面向设备发现与控制设计,几乎没有原生认证机制。
基本信息
| 服务 | BACnet/IP |
|---|---|
| 协议 | UDP(47808 = 0xBAC0) |
| 默认端口 | 47808 |
| 常见资产 | 空调机组、门禁、电梯、照明控制器 |
| 暴露面 | OT 网络,严禁与办公网直通 |
典型使用场景
- 楼控系统集成与点位调试
- 读取设备点位做集中监控
- 故障排查:确认广播域内设备是否可见
- 资产测绘:统计楼控设备类型与数量
- 授权场景下的安全性评估:验证点位可写风险
探测与抓包(授权场景)
探测与抓包(授权场景)
# 资产探测: nmap -sU -p 47808 --script bacnet-info <target>
sudo tcpdump -nn udp port 47808 -c 10 # 观察设备广播
ss -lunp | grep 47808排障与核对
| 检查项 | 做法 | 异常表现 |
|---|---|---|
| 广播域 | 设备发现报文是否可达 | 跨网段不可见:楼控控制器常依赖广播发现 |
| 点位读写 | 读取对象属性 | 可写入:控制回路能被外部改写 |
| 资产类型 | 设备型号与厂商信息 | 老旧控制器多:补丁与加固手段有限 |
| 网络边界 | 楼控网与办公网的路由策略 | 三层互通:办公网可直达楼控设备 |
BACnet 几乎没有原生认证:能到达端口就能读写设备点位。开关空调只是功能问题,一旦涉及门禁与电梯就关系人身安全,因此网络边界与访问控制比设备自身的安全能力更关键。
为什么这类端口风险靠前
楼控设备生命周期长、固件缺少更新通道,系统集成商又常为调试方便拉通网络,导致 OT 与办公网之间存在大量非受控路径;一次办公网失守就可能演变为对楼宇机电设备的操作能力。
公网暴露的 BACnet 实例在测绘平台上大量存在,常见原因是调试期临时映射端口后无人回收;把「调试临时规则到期清理」纳入变更流程,能消掉相当一部分暴露面。
楼控网与办公网三层互通:办公网一台中招的 PC 就能操控整栋楼的机电设备。