滥用Cisco Smart Install协议在野攻击事件分析

近期,不断有媒体报道多个使用思科交换机的网络基础设施遭到攻击,造成设备瘫痪并在屏幕上显示美国国旗,疑似使用了CVE-2018-0171,但根据研判此攻击实际是滥用Cisco Smart Install协议中未授权的配置修改功能,并非是CVE-2018-0171,目前没有足够的事实证明CVE-2018-0171已被大规模利用攻击。

Update

根据思科安全团队的确认,被利用的是Cisco Smart Install 协议未授权的配置修改功能 ,不是CVE-2018-0171,用户可通过ACL访问控制限制可访问设备的IP,或禁用Cisco Smart Install功能,进行防护。

https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180409-smi

时间线

2016/12,在Zeronights 2016安全会议上,Dmitry Kuznetzov发表了有关Cisco Smart Install 协议中存在的安全问题演讲,Cisco Smart Install. Pentester’s opportunities。

演讲PPT下载

https://2016.zeronights.ru/wp-content/uploads/2016/12/CiscoSmartInstall.v3.pdf

指出了Cisco Smart Install 协议存在数个未经授权就可下载配置文件,更改系统镜像的安全问题,并公开了名为 Smart Install Exploitation Tool (SIET) 的利用工具。

2017/02/14,Cisco安全团队确认了上述安全问题,并发布了安全公告,给出了相应了防护措施。

2018/3月/28,来自  Embedi 的安全研究员公开了Cisco Smart Install 客户端中存在的一个栈溢出漏洞,CVE-2018-0171。

https://embedi.com/blog/cisco-smart-install-remote-code-execution/

随后,针对4786端口的扫描活动,显著增强。

来自ISC的数据,https://isc.sans.edu/forums/diary/Cisco+Smart+Install+vulnerability+exploited+in+the+wild/23535/

此后,陆续有媒体报道,有使用思科交换机的网络基础设施遭到攻击,造成设备瘫痪并在屏幕上显示美国国旗,怀疑使用了CVE-2018-0171漏洞。

被攻击的设备上留下了“Don’t mess with our elections…   -JHT usafreedom_jht@tutanota.com”(不要干涉我们的选举),同时还附上美国国旗。

此举被认为是JHT黑客组织针对他国干涉美国大选的不满,因为被攻击的设备多数是伊朗和俄罗斯。

同时,国内也有一些企业反映受到了攻击,有愈演愈烈之势。国内外多家安全厂商发布了安全预警,认为是利用了CVE-2018-0171漏洞。

但根据我们最新情况研判,JHT黑客组织并非利用的是CVE-2018-0171漏洞,而是利用之前已公开的Cisco Smart Install 协议未授权漏洞,直接采用 Smart Install Exploitation Tool (SIET) 批量扫描,更改系统镜像的结果。

目前没有足够的事实,证明CVE-2018-0171漏洞已被公开利用。用户只需按照Cisco官方安全建议,获取补丁程序升级,做好ACL访问控制,不必过度恐慌。

什么是Cisco Smart Install ?

Cisco Smart Install(SMI)是一种“即插即用”配置和镜像管理功能,为新加入网络的交换机提供零接触的配置部署。该功能允许客户将思科交换机运送到任何位置,将其安装到网络中,然后启动,无需其他配置要求,实现了自动化初始配置和操作系统镜像加载的过程。但SMI在设计时未考虑身份验证功能,也就是说允许未授权用户通过Cisco Smart Install 协议访问设备。

一个典型的采用Cisco Smart Install协议的网络如下

新接入网络的交换机,被称作client switch,而作为director的3层交换机或路由器,为client switch提供用于镜像和配置的单点管理功能。

当Client switch首次安装到网络中时,Director会自动检测到新交换机,并识别出正确的Cisco IOS映像和用于下载的配置文件。它还可以为client switch 分配IP地址和主机名。

Director 可同时充当DHCP和TFTP服务器,并可以存储配置和映像文件。 当然这些文件也可以存储在第三方TFTP服务器上供Director 使用。Client switch 可以从Director TFTP服务器或从远程服务器下载映像和配置文件。

由于Cisco Smart Install 协议在设计时并没有考虑身份验证问题,所以当黑客向Client发送伪装成Director的数据包时,Client会执行黑客指定的命令,包括:

  • 更改Client上的TFTP服务器地址。
  • 将客Client交换机的启动配置复制到先前更改且由攻击者控制的TFTP服务器。
  • 使用由攻击者创建的配置替换客户端的启动配置,并在配置的时间间隔后强制重新加载客户端。
  • 将Client交换机上的IOS映像升级为攻击者提供的映像。
  • 在Client交换机上执行任意命令(适用于特定Cisco IOS版本)

例如,黑客通过将自己伪装成Director,并建立TFTP服务器,然后发送数据包更改Client上的TFTP服务器地址,并将交换机配置复制到先前更改且由攻击者控制的TFTP服务器。

而此次被广泛报道了JHT黑客组织攻击俄罗斯和伊朗交换机设备,并显示美国国旗事件,应该是利用Cisco Smart Install 协议上的缺陷,直接升级替换了原有的系统镜像,不太像是利用了CVE-2018-0171漏洞。

目前CVE-2018-0171 漏洞只有poc,没有完整的利用代码流出。

如何排查是否受到影响?

由于是利用协议的缺陷,用户应当排查自身的Cisco设备是否开启了Cisco Smart Install功能。

1.端口扫描

检测目标设备是否开启4786/TCP端口,使用nmap扫描目标设备端口,如果开启则受到影响。

nmap -v -p T:4786 目标IP

2.使用Cisco Smart Install安全检测工具

Cisco针对Smart Install功能提供最佳安全实践建议,并提供了Smart Install功能的安全检查脚本,下载链接:https://github.com/Cisco-Talos/smi_check

检测方法如下:

python smi_check.py -i 目标IP

3.登录设备自查

在设备的E控制台中输入show vstack config 可以查询设备是否开启了Smart Install。

若返回结果为Role: Client (SmartInstall enabled) 或者Oper Mode: Enabled 则表示设备开启了Smart Install,设备存在风险。

switch>show vstack config

Role:Client (SmartInstall enabled)

Vstack Director IP address: 0.0.0.0

或者直接查看4786端口是否开放

switch>show tcp brief all


TCB Local Address Foreign Address (state)

0344B794 *.4786 *.* LISTEN

0350A018 *.443 *.* LISTEN

03293634 *.443 *.* LISTEN

03292D9C *.80 *.* LISTEN

03292504*.80 *.* LISTEN

如何防护?

  1. 使用no vstack命令禁用Smart Install功能
switch#conf t

switch(config)#no vstack

switch(config)#do wr

switch(config)#exit
  1. 对于部分不支持vstack命令的设备,在交换机上通过配置ACL策略,阻断4786端口访问,保证只有可信的IP才能访问设备。

例如下面的策略,只允许Director 10.10.10.1到Client 10.10.10.200的4786端口可以访问。

ip access-list extended SMI_HARDENING_LIST

permit tcp host 10.10.10.1 host 10.10.10.200 eq 4786

deny tcp any any eq 4786

permit ip any any

Spread the word. Share this post!

Meet The Author

Leave Comment