4、默认密码攻击面分析:SSH/Telnet爆破、Web管理后台入侵、MQTT/CoAP协议滥用
默认密码这东西,说白了就是物联网设备上的一把“万能钥匙”。很多厂商出货时图省事,把密码设成 admin/admin 或者 root/root,结果就成了攻击者的最爱。我这些年做安全评估,十台设备里至少有七八台能直接用默认密码登进去。今天咱们就拆开看看,攻击者到底是怎么利用这些默认密码搞事情的。
4.1 SSH/Telnet爆破:最直接的入口
SSH和Telnet是物联网设备最常用的远程管理协议。很多设备出厂时默认开启Telnet(甚至不让你关),密码就那么几个。攻击者拿到设备IP后,第一件事就是扫端口,然后对着22或23端口开搞。
我遇到过最夸张的一个案例:某品牌IP摄像头,Telnet默认密码是 root:xc3511,而且固件里写死了,用户改不了。攻击者用Shodan一搜,全球十几万台设备直接裸奔。嗯,这里要注意,Telnet是明文传输的,就算密码复杂一点,抓个包也能看到。
爆破流程
- 资产发现:用Shodan、ZoomEye或Masscan扫公网IP,找开放22/23端口的设备。
- 指纹识别:通过Banner或Nmap脚本判断设备型号,匹配默认密码库。
- 字典攻击:用Hydra、Medusa或Patator跑字典,常见组合就那几十个。
- 权限获取:登进去之后,提权、留后门、植入挖矿脚本,一气呵成。
常见默认密码组合
| 设备类型 | 用户名 | 密码 | 协议 |
|---|---|---|---|
| 路由器/AP | admin | admin | SSH/Telnet |
| IP摄像头 | root | xc3511 / 123456 | Telnet |
| 工业网关 | root | root | SSH |
| 智能家居Hub | admin | password | SSH |
4.2 Web管理后台入侵:浏览器里的后门
Web管理后台是用户最常接触的界面,也是攻击者最喜欢下手的地方。很多设备出厂时,Web后台默认密码和SSH/Telnet是同一套,甚至更弱。你想想看,一个路由器管理页面,登录框就摆在面前,攻击者只需要F12打开开发者工具,看看前端有没有隐藏的密码校验逻辑。
我个人习惯是,拿到一台新设备,第一件事就是抓一下登录请求。很多时候你会发现,密码是明文传输的,或者前端只做了简单的Base64编码。更离谱的是,有些设备直接把密码写在JavaScript里,注释都不删。
常见入侵手法
- 直接登录:用默认密码 admin/admin 或 admin/123456 直接进后台。
- 弱口令爆破:Burp Suite挂字典,对登录接口跑几千次。
- 会话劫持:登录后Cookie没设HttpOnly,XSS一打就拿到Session。
- 固件提取:进后台后直接下载固件,逆向分析找更多漏洞。
4.3 MQTT/CoAP协议滥用:看不见的流量
MQTT和CoAP是物联网场景里最主流的轻量级协议。MQTT基于发布/订阅模式,CoAP基于UDP的REST风格。很多开发者觉得这些协议“轻量”、“安全”,就忽略了认证。结果呢?默认密码为空,或者用 mosquitto / mosquitto 这种公开密码。
我记得有一次帮客户做IoT平台渗透测试,他们的MQTT Broker用的是EMQ X,默认用户名 admin,密码 public。我连上去之后,直接订阅了 # 主题,所有设备上报的传感器数据、控制指令一览无余。你想想看,智能门锁的开锁指令、工业设备的温度数据,全在别人眼皮底下。
MQTT攻击面
- 匿名订阅:Broker未开启认证,攻击者直接订阅所有主题。
- 弱密码爆破:MQTT 5.0支持增强认证,但很多老设备还在用明文密码。
- 发布恶意指令:拿到发布权限后,向设备下发恶意控制指令。
- 中间人攻击:MQTT over TCP未加密,抓包就能看到Payload。
CoAP攻击面
- 资源发现:CoAP的
/.well-known/core会暴露所有资源路径。 - 默认密钥:DTLS加密时使用预共享密钥,很多厂商出厂用
testkey。 - UDP放大攻击:CoAP支持多播,攻击者可以利用默认配置做DDoS放大。
4.4 攻击面全景图
下面这张图把三种攻击路径串起来了。你可以看到,默认密码是所有这些攻击的起点。没有默认密码,攻击者就得花更多精力去找0day,成本高得多。
4.5 攻击面对比总结
| 攻击面 | 攻击难度 | 危害等级 | 常见默认密码 | 防护建议 |
|---|---|---|---|---|
| SSH/Telnet爆破 | 低 | 高 | root/root, admin/admin | 禁用Telnet,SSH密钥认证 |
| Web管理后台入侵 | 低 | 高 | admin/admin, admin/123456 | 强制修改默认密码,启用MFA |
| MQTT/CoAP滥用 | 中 | 高 | 空密码, public/testkey | 启用认证,TLS/DTLS加密 |
说实话,这三种攻击面里,MQTT/CoAP的问题最容易被忽略。很多开发者觉得“我这个协议是轻量的,不需要太复杂的安全”,结果就成了最薄弱的环节。我个人建议,不管用哪种协议,默认密码必须改,这是底线。