1. 基本介绍
1.1 概要
1.2 结构组成
-
设备 - UPNP规范中的最基本单元。代表一个物理设备或包含多个物理设备的逻辑设备。 -
服务 - UPNP规范中的最小控制单元。代表设备提供的服务及调用API接口。 -
控制点 - UPNP所在网络的其他网络中UPNP设备。
1.3 协议过程
-
发现 - 简单发现服务 -
描述 - 通过远程访问URL,XML文件格式显示服务相关信息 -
控制 - 控制信息使用SOAP协议,XML文件格式显示。
2. 安全风险
-
路由器设备作为代理,对内网进行渗透测试 -
开启端口映射,访问内部计算机
3. 威胁分析
3.1 获得服务控制协议文档(SCPD)
(1) 部分开启服务 - 1
(2) 部分开启服务 - 2
开启服务汇总
<serviceType>urn:schemas-upnp-org:service:Layer3Forwarding:1</serviceType>
<serviceId>urn:upnp-org:serviceId:L3Forwarding1</serviceId>
<SCPDURL>/L3F.xml</SCPDURL>
<controlURL>/ctl/L3F</controlURL>
<eventSubURL>/evt/L3F</eventSubURL>
<serviceType>urn:schemas-upnp-org:service:DeviceProtection:1</serviceType>
<serviceId>urn:upnp-org:serviceId:DeviceProtection1</serviceId>
<SCPDURL>/DP.xml</SCPDURL>
<controlURL>/ctl/DP</controlURL>
<eventSubURL>/evt/DP</eventSubURL>
<serviceType>urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANCommonIFC1</serviceId>
<SCPDURL>/WANCfg.xml</SCPDURL>
<controlURL>/ctl/CmnIfCfg</controlURL>
<eventSubURL>/evt/CmnIfCfg</eventSubURL>
<serviceType>urn:schemas-upnp-org:service:WANIPConnection:2</serviceType>
<serviceId>urn:upnp-org:serviceId:WANIPConn1</serviceId>
<SCPDURL>/WANIPCn.xml</SCPDURL>
<controlURL>/ctl/IPConn</controlURL>
<eventSubURL>/evt/IPConn</eventSubURL>
<serviceType>urn:schemas-upnp-org:service:WANIPv6FirewallControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:WANIPv6Firewall1</serviceId>
<SCPDURL>/WANIP6FC.xml</SCPDURL>
<controlURL>/ctl/IP6FCtl</controlURL>
<eventSubURL>/evt/IP6FCtl</eventSubURL
3.2 服务操作(SOAP)
(1) 直接访问控制
(2) 端口映射操作
优势 - 无需认证
-
将路由器80端口映射在外网端口8443
$ upnp> host send 0 WANConnectionDevice WANIPConnection AddPortMapping
-
获取设备端口映射列表
-
查看后端端口映射是否添加成功
-
查看映射是否成功
4. 安全风险
5. UPNP攻击面
-
通过SCPD获取服务控制协议文档,查看可利用服务。 -
通过SOAP进行可利用服务操作,获取设备相关敏感信息及相应权限。
总结
原文始发于微信公众号(山石网科安全技术研究院):手把手玩转路由器漏洞挖掘系列 - UPNP协议安全风险
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论