Smart Install远程代码执行漏洞
2018年3月28日,Cisco官方发布了CiscoIOS和IOS XE软件存在多个远程代码执行漏洞的安全公告,其中有一个Smart Install远程代码执行漏洞,对应CVE编号:CVE-2018-0171,漏洞公告链接:
https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180328-smi2
根据公告,CiscoIOS和IOS XE软件在SmartInstall功能开启的情况下(该功能在设备出厂时默认开启),会监听一个TCP 4786端口,恶意攻击者可以对该端口发送特殊数据包触发缓冲区溢出,从而导致设备重启或配置丢失、或执行任意代码,成功利用该漏洞能完全控制设备实现流量劫持等一系列危险操作,当时网上已公开POC测试代码。
此漏洞为远程代码执行漏洞,基于全球使用该产品用户的数量和暴露在网上的端口情况,恶意攻击者可能会开发针对该漏洞的自动化攻击程序,实现漏洞利用成功后自动植入后门程序,并进一步对设备配置实现流量操作等效果,从而影响到所在网络环境的安全。
最近这一漏洞的攻击活动增多,被攻击的设备会出现重启或启动配置被修改等破坏现象,建议尽快升级软件和采取相应的缓解措施。
Smart Install漏洞影响范围情况
受到影响的设备类型
请参考支持该功能的设备列表:
https://www.cisco.com/c/en/us/td/docs/switches/lan/smart_install/configuration/guide/smart_install/supported_devices.html
Catalyst 2960
Catalyst2960-C
Catalyst2960-CX
Catalyst2960-L
Catalyst2960-P
Catalyst2960-S
Catalyst2960-SF
Catalyst2960-X
Catalyst2960-XR
Catalyst 2975
Catalyst 3560
Catalyst3560-C
Catalyst3560-CX
Catalyst3560-E
Catalyst3560-X
Catalyst 3650
Catalyst 3750
Catalyst 3750Metro Series
Catalyst3750-E
Catalyst3750-X
Catalyst 3850
Catalyst 4500Supervisor Engine, 6E, 6LE, 7E, 7LE, 8E, 8LE
Catalyst 6500Supervisor Engine 2T-10GE
IE 2000
IE 3000
IE 3010
IE 4000
IE 4010
IE 5000
ME 3400ESeries Ethernet Access
ME 3400 SeriesEthernet Access
NME-16ES-1G-P
SM-ES2 SKUs
SM-ES3 SKUs
SM-X-ES3 SKUs
不受影响的设备类型
Catalyst 2960系列交换机15.2(2)E8,15.2(4)E6,15.2(6)E1及后续发布的IOS版本
Catalyst 3560/3750系列交换机15.2(4)E6及后续发布的IOS版本
Catalyst 3650/3850系列交换机16.3.6,3.6.8E及后续发布的IOS-XE版本
Catalyst 4500系列交换机3.6.8E及后续发布的IOS-XE版本
Catalyst65 SupervisorEngine 2T-10GE15.2(1)SY6及后续发布的IOS版本
IE系列交换机15.5(1)SY1及后续发布的IOS版本
ME系列交换机12.2(60)EZ12及后续发布的IOS版本
Smart Install端口开放自查
可通过Nmap网络安全扫描工具扫描端口开放情况,验证运行Smart Install服务的IP资产是否开放TCP 4786端口,示例(Windows/Linux):
nmap-v -p T:4786 192.168.1.0/24
同时,也可以通过CiscoSecurity提供的Cisco IOS软件检查器,企业用户可以自行提交Cisco IOS和IOS XE软件版本号来查验是否存在漏洞或需要安全更新:
https://tools.cisco.com/security/center/softwarechecker.x
CiscoIOS和IOS XE可以通过输入(show version)命令查看设备软件版本号,比如Cisco IOS设备上:
Router>showversion
CiscoIOSSoftware, C2951 Software (C2951-UNIVERSALK9-M), Version 15.5(2)T1,RELEASESOFTWARE (fc1)
TechnicalSupport:http://www.cisco.com/techsupport
Copyright(c)1986-2015 by Cisco Systems, Inc.
CompiledMon22-Jun-15 09:32 by prod_rel_team
在CiscoIOS XE 上:
ios-xe-device#showversion
CiscoIOSSoftware, Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), VersionDenali16.2.1, RELEASE SOFTWARE (fc1)
TechnicalSupport:http://www.cisco.com/techsupport
Copyright(c)1986-2016 by Cisco Systems, Inc.
CompiledSun27-Mar-16 21:47 by mcpre
其中“Version15.5(2)T1”和“Version Denali 16.2.1”为版本号,选择该版本号提交到软件检查器网站上查询即可。
针对SmartInstall功能开启情况,可以执行(show vstack config)命令查看启用状态,比如在交换机上:
switch1#showvstack config
Role:Client (SmartInstall enabled)
switch2#showvstack config
Capability:Client
OperMode: Enabled
Role:Client
enabled显示功能开启,同时,也可以直接使用(show tcp brief all)命令查看端口监听情况,示例:
router#showtcp brief all | include 4786
47DFD528 0.0.0.0.4786 *.* LISTEN
Smart Install安全配置建议
运行Smart Install服务安全配置
建议不能打补丁前临时停用该功能,使用no vstack命令,示例:
switch1#conf t
switch1(config)#novstack
switch1(config)#dowr
当停止功能后,再次查看状态:
switch# showvstack config
Role: Client(SmartInstall disabled)
VstackDirector IP address: 0.0.0.0
显示disabled。
运行Smart Install的系统安全策略配置
建议利用设备自身安全策略限制或禁止外部访问设备TCP 4786端口,通过ACL控制,或是通过外围安全设备阻止对该端口访问,ACL配置示例:
ipaccess-listextended SMI_HARDENING_LIST
permit tcphost10.10.10.1 host 10.10.10.200 eq 4786
deny tcp anyany eq4786
permit ip anyany
interfaceGigabitEthernet0/0
ipaccess-groupSMI_HARDENING_LIST in
!--只允许10.10.10.200访问10.10.10.1的TCP 4786端口。
或是直接阻止所有IP访问该端口,示例:
ipaccess-listextended SMI_HARDENING_LIST
deny tcp anyany eq4786
permit ip anyany
interfaceGigabitEthernet0/0
ipaccess-groupSMI_HARDENING_LIST in
关于ACL配置说明可以参考Cisco文档:
https://www.cisco.com/c/zh_cn/support/docs/ip/access-lists/43920-iacl.html