Cisco IOS/IOS XE远程代码执行漏洞(CVE-2018-0171)
2018-04-10
一. 漏洞概述
2018年3月28日,Cisco IOS以及IOS XE软件被发现存在一个严重漏洞CVE-2018-0171。攻击者可以在未授权的情况下通过重新加载(reload)设备造成拒绝服务条件,或者远程执行代码。Smart Install是为新的LAN以太网交换机提供零触摸部署的即插即用配置和图形管理功能,在TCP端口4786上运行的Cisco专用协议,若设备启用了Smart Install功能且对外开放4786端口,攻击者就可通过发送畸形Smart Install报文来利用此漏洞,使得设备缓冲区溢出,导致拒绝服务乃至远程代码执行等后果。
相关链接:
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180328-smi2
4月8日,攻击者疑似利用了思科IOS/IOS XE远程代码执行漏洞cve-2018-0171进行大范围攻击,其中包括国内多个机构,遭受攻击的企业会导致设备瘫痪,同时配置文件被修改。
所爆出的漏洞影响所有运行Cisco IOS或IOS XE软件并且开启了智能安装(Smart Install)特性的设备,详情请参考Cisco官方通告:
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180328-smi2
目前已知受影响设备/软件为:
确认受影响的设备型号: ² Catalyst 4500 Supervisor Engines ² Cisco Catalyst 3850 Series Switches ² Cisco Catalyst 2960 Series Switches 可能受影响的设备型号: ² Catalyst 4500 Supervisor Engines ² Catalyst 3850 Series ² Catalyst 3750 Series ² Catalyst 3650 Series ² Catalyst 3560 Series ² Catalyst 2960 Series ² Catalyst 2975 Series ² IE 2000 ² IE 3000 ² IE 3010 ² IE 4000 ² IE 4010 ² IE 5000 ² SM-ES2 SKUs ² SM-ES3 SKUs ² NME-16ES-1G-P ² SM-X-ES3 SKUs |
三. 影响排查
漏洞影响的是启用了Smart Install功能的设备,在TCP端口4786上运行的Cisco专用协议,当4780端口开放于外网时,可造成更大的影响,js1996官网登录建议通过如下方案进行排查:
3.1 js1996官网登录互联网资产核查
为使企业客户了解庞大复杂的资产类型在互联网上的暴露情况,包括端口、应用、系统类型、地理分布等,预知可能存在的风险,并采取相关的控制措施,js1996官网登录提供基于NTI的互联网资产核查服务,快速判断面向互联网的资产是否受到Cisco Smart Install漏洞以及其他可利用漏洞的影响,如需协助,可联系NTI@nsfocus.com。
3.2 排查Smart Install是否开启
- 端口扫描
检测目标设备是否开启4786/TCP端口,使用nmap扫描目标设备端口,如果开启则可能受到影响。
- Cisco Smart Install安全检测工具
Cisco针对Smart Install功能提供优质安全实践建议,并提供了Smart Install功能的安全检查脚本,下载链接:https://github.com/Cisco-Talos/smi_check
检测方法如下:
# python smi_check.py -i 192.168.1.2 [INFO] Sending TCP probe to targetip:4786 [INFO] Smart Install Client feature active on targetip:4786 [INFO] targetip is affected |
3.3 登录Cisco IOS设备自查
- vstack配置信息判断
在设备的EXEC指令中输入show vstack config 可以查询设备是否开启了Smart Install。若返回结果为Role: Client (SmartInstall enabled) 或者Oper Mode: Enabled则表示设备开启了Smart Install,设备存在风险。
- Cisco IOS设备版本信息判断
管理员用户可以登录到设备后再CLI中输入show version来查询设备版本,通过影响版本判断设备是否在影响范围内。
ios-xe-device# show version
Cisco IOS Software Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M) Version Denali 16.2.1 RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2016 by Cisco Systems Inc. Compiled Sun 27-Mar-16 21:47 by mcpre |
利用该版本信息,用户可以在Cisco官方确认是否受漏洞影,参考链接如下:
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180328-smi2
访问上述链接,将版本号输入文本框后点击“Check”按钮,以16.2.1为例,如下图所示。
之后弹出的页面中会列出该版本可能存在的相关漏洞,如果看到存在如下图红框的所示的漏洞名称,说明该设备存在风险
除手动输入版本进行查询外,Cisco官方也提供了show version信息直接查询的方式,将show version命令执行后的版本信息保存到a.txt文件中,访问Cisco官方的Cisco IOS Software Checker在线检测,参考链接如下:
https://tools.cisco.com/security/center/softwarechecker.x
将a.txt文件上传,进行在线检测。
详细的使用说明可参考如下视频教程:
https://players.brightcove.net/1384193102001/41XYD7gTx_default/index.html?directedMigration=true&videoId=5755100470001&
四. 解决建议
4.1 官方升级
Cisco官方已经发布了更新补丁修复了上述漏洞,但未公开补丁的下载链接,用户可凭借已经购买的Cisco license申请升级服务,请受影响的企业应及时与Cisco官方联系,获取最新的补丁程序升级进行防护。
4.2 临时防护
请相关企业评估是否需要Smart Install服务,如果确定不需要,可依次输入如下命令可关闭服务:
switch#conf t switch(config)#no vstack switch(config)#do wr switch(config)#exit |
4.3 Smart Install功能官方安全建议
Cisco针对Smart Install功能提供了以下针对性的安全建议。
- 禁用Smart Install功能
通过show vstack命令查看Smart Install功能的状态,被禁用时的显示如下图所示:
- 当使用Smart Install功能且只用于零触摸部署时,安全建议如下.
部署完成后,使用no vstack命令禁用Smart Install功能;
对于不支持vstack命令的设备(低于Cisco IOS Release 12.2(55)SE02版本),在交换机上通过配置ACL阻断4786端口访问的方式进行防护。
- 当业务运行需要使用Smart Install功能时,安全建议如下:
配置ACL,限定白名单的设备可访问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 |
详细信息可参考链接如下:
https://www.cisco.com/c/en/us/td/docs/switches/lan/smart_install/configuration/guide/smart_install/concepts.html#23355
五. 声 明
本安全公告仅用来描述可能存在的安全问题,js1996官网登录不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,js1996官网登录以及安全公告作者不为此承担任何责任。
js1996官网登录拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经js1996官网登录允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。