ssdp安全-攻击和防御

Posted qianbo_insist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssdp安全-攻击和防御相关的知识,希望对你有一定的参考价值。

ssdp 概念

ssdp 组播搜索
upnp协议和dlna源码理解与修改
ssdp与组播一
ssdp与组播二

    简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一。ssdp搜索是一种udp组播协议,在网络中发射协议内容后,所有设备按照协议会返回内容,包括我们常用的几种设备为方便都会使用ssdp协议,如

  1. 摄像头
  2. 打印机
  3. 大屏幕
  4. 网关

    这几种设备中最容易得到攻击的是大屏幕和打印机。例如《钢铁侠》电影中控制屏幕的协议,使用一个掌控设备就可以控制大屏,打印机也一样,会按照你的命令打印。对于摄像头也是很危险的,一旦摄像头或者NVR开启UPNP,路由器开启UPNP,我们就可以讲摄像头的图像向外网传递,这个安全性真的是很必要的。
在这里插入图片描述

ssdp攻击
    在正常情况下,用户使用SSDP 协议来让 UPnP 设备向网络上的其他设备广播,确切说是组播其存在。由于是特定的地址都会得到该地址和端口,例如,当 UPnP 大屏连接到典型网络时,在它从dhcp服务器得到 IP 地址之后,大屏通过将消息发送到称为多播地址的特殊 IP 地址 239.255.255.250,端口号为1900,以向网络上的计算机通告其服务。然后,多播地址将新打印机的存在告知网络上的所有计算机。一旦控制点收到有关屏幕的发现消息,它就可以向打印机发出请求,要求打印机完整描述其服务。然后,打印机将发出其提供的所有内容的完整列表来返回控制点机。这样说,有两种攻击,
1 SSDP 攻击通过要求设备响应目标受害者来进行DDOS。
2 擅自攻击控制

ddos

    对于1下面是典型的 SSDP DDoS 攻击的 6 个步骤:
1 攻击者进行扫描,寻找可以用作放大因子的即插即用设备。
2 攻击者发现联网设备后,创建所有发出响应的设备的列表。
3 攻击者使用目标受害者的欺骗性 IP 地址创建 UDP 数据包。
4 然后,攻击者使用僵尸网络通过设置某些标志(比如 ssdp:rootdevice 或 ssdp:all),向每个即插即用设备发送一个欺骗性发现数据包,并请求尽可能多的数据。
结果,每个设备都会向目标受害者发送回复,其数据量最多达到攻击者请求的 很多 倍。然后,目标从所有设备接收大量流量,因此不堪重负,可能导致对正常流量DDOS拒绝服务。

攻击控制

    控制者作为控制点dmc不断发送控制命令,使得其他人无法控制upnp设备,或干扰其设备,发送自己想要的内容,攻击者使用伪造的IP和MAC地址,使得统计无法实现,抓包得到的IP地址是假的,但是有一点是逃不了的,就是dms的地址,如果查出一个内容地址,至少能得到攻击者的意图。dms就是内容server,下面我们使用抓包来查看地址,upnp协议使用http协议发送控制信息,糟糕的是http协议是可以怎么样?

const char * post_set = "POST /AVTransport/control HTTP/1.1\\r\\n"
"User-Agent: qbupnp/0.1\\r\\n"
"Accept : */*\\r\\n"
"Content-Type: text/xml; charset=\\"utf-8\\"\\r\\n"
"HOST: %s:%d\\r\\n"
"Content-Length: %d\\r\\n"
"SOAPACTION: \\"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\\"\\r\\n"
"Connection: close\\r\\n\\r\\n";
"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>"
"<s:Envelope xmlns:s=\\"http://schemas.xmlsoap.org/soap/envelope/\\" s:encodingStyle=\\"http://schemas.xmlsoap.org/soap/encoding/\\">"
"<s:Body>"
"<u:SetAVTransportURI xmlns:u=\\"urn:schemas-upnp-org:service:AVTransport:1\\">"
"<InstanceID>0</InstanceID><CurrentURIMetaData></CurrentURIMetaData><CurrentURI>http://abc.com/a.mp4</CurrentURI>"
"</u:SetAVTransportURI>"
"</s:Body>"
"</s:Envelope>";

soap协议
危险:
1 http协议明文发送
2 http协议使用tcp协议,三次握手如果打断,是可以使用双边断协议并且发送http 302重定向,使得协议重定向到我们想要的地址上,着就是危险的第2个地方,我们使用旁路打断tcp三次握手,重定向http mov 302 ,完全可以让用户的播放地址变成我们想要的地址,可怕吗?

如何防护 SSDP 攻击

对于网络管理员,一个关键的防护措施是在防火墙的 1900 端口阻止传入 UDP 流量。如果流量不足以使网络基础设施不堪重负,则从此端口筛选流量可能能够防护这种攻击。要深入了解 SSDP 攻击和更多缓解策略,请探索有关 SSDP 攻击的技术详情。
    1 经过关键网络的地方创建设备,如一个树莓派,过滤UDP组播流量,使用特征和模式来判断攻击行为,
    2 使用旁路嗅探的方式,如果要阻断服务,就必须得到网络中发包的地点,没有自己的设备情况下,使用联动防火墙方式来阻断。

其他基础文章

ssdp 组播搜索

upnp协议和dlna源码理解与修改

以上是关于ssdp安全-攻击和防御的主要内容,如果未能解决你的问题,请参考以下文章

通过脚本片段绕过XSS防御

掌控安全:安全领域知识图谱

如何防御黑客利用metaploit发起的攻击 黑吧安全网

44. CSRF 攻击与防御

[系统安全] 三十六.APT系列APT攻击溯源防御与常见APT组织的攻击案例

XSS攻击的定义,类型以及防御方法?