Cisco的功能实在是太强大了。但是再强大的东西也有其弱点。同样在默认和配置不当的情况下Cisco的设备还是有些不大不小的问题今天我就主要讨论其中3个比较大的安全隐患: 1、最常见的SNMP的关键字强度 2、SNMP的community的安全问题 3、去年发现的Cisco的WEB服务的越权访问漏洞问题 一、先来说说最常见的SNMP的关键字强度不够这个问题好了 snmp-server community private RW snmp-server community public RO snmp-server community private@es0 RW snmp-server community public@es0 RO 很多Cisco的设备默认的配置就像上面这样,给public只读的权限给private的是可读可写的权限。我不知道怎么去说SNMP这个网络管理协议,有兴趣的人可以参考相关的书籍毕竟不是一两句话说的清楚。我这里简单的说就是SNMP是一个设备的管理接口,现在绝大多数的操作系统都是支持的,但像NT/2000这样的系统默认是没有可读可写这样的权限community出现的,community可以认为就是通过SNMP管理时系统跟我们要的口令,在这里public private就是两个不同级别的口令了。这是包括CISCO设备在内的很多采用SNMP设备的默认community。但是Cisco默认情况下是否打开对SNMP的支持呢,我用的Cisco并不是很多,在公司的SWITCH2900是默认就打开的,可有的人他们那里的设备是默认没有开的,这点我不能确认有经验的朋友可以来信告诉我下。 既然我们知道了这个口令当然就想知道到底我们能做点什么了,如果你不想自己编程去实现SNMP的远程管理的话,我可以向你推荐SolarWinds这个功能强大的CISCO的管理工具,你可以从我的站点下载它的CATV Engineer的版本,这比前段时间流行的那个Engineer's Edition功能还要强大不少。它里面带有一个专门通过SNMP的接口来下载CISCO设备的配置文件的东西,你可以在本地修改这个配置文件,然后同样在通过它提供的工具,把这个修改后的配置文件上传回去。当然你如果运气好如果对方配置文件里密码部分没有用MD5的加密,你就可以轻松看到CISCO的密码而远程的TELNET过去进行管理。 这就是下载CISCO配置文件的小工具,首先填上需要下载的设备的IP地址:1.1.1.1,然后填上community string这里只有可读可写的community string才具有下载配置文件的权限。 这是可以上载修改后配置文件的小工具,这两个传输的机制都是采用TFTP的,SolarWinds在启动上传下载的工具的时候默认会启动它自己带的一个TFTP的服务器。注意一点的就是这个TFTP在默认情况下是只能接受不能发送的属性(非常安全),我们需要修改下这个属性,否则没有办法上传文件。 修改成这个样子就可以了。 浅析Cisco网络设备的几个安全问题(2) 下面来一个交换机的配置文件: Using 3922 out of 32768 bytes ! version 12.0 //IOS的版本 no service pad service timestamps debug uptime service timestamps log uptime service password-encryption ! hostname c3548-ICP ! enable secret 5 $1$HTX4$R61jNhg2D7g9hxC7UTCb61 //这里起用MD5加密算法 ! ip subnet-zero no ip domain-lookup cluster enable ICP 0 ! interface FastEthernet0/1 switchport access vlan 2 ! interface FastEthernet0/2 duplex full speed 10 switchport access vlan 2 ! interface FastEthernet0/3 switchport access vlan 2 ! interface FastEthernet0/4 switchport access vlan 2 ! interface FastEthernet0/5 switchport access vlan 2 ! interface FastEthernet0/6 switchport access vlan 2 ! interface FastEthernet0/7 switchport access vlan 2 ! interface FastEthernet0/8 switchport access vlan 2 ! interface FastEthernet0/9 switchport access vlan 2 ! interface FastEthernet0/10 switchport access vlan 2 ! interface FastEthernet0/11 switchport access vlan 2 ! interface FastEthernet0/12 switchport access vlan 2 ! interface FastEthernet0/13 switchport access vlan 2 ! interface FastEthernet0/14 switchport access vlan 2 ! interface FastEthernet0/15 switchport access vlan 2 ! interface FastEthernet0/16 switchport access vlan 2 ! interface FastEthernet0/17 switchport access vlan 2 ! interface FastEthernet0/18 switchport access vlan 2 ! interface FastEthernet0/19 switchport access vlan 2 ! interface FastEthernet0/20 switchport access vlan 2 ! interface FastEthernet0/21 switchport access vlan 2 ! interface FastEthernet0/22 switchport access vlan 2 ! interface FastEthernet0/23 switchport access vlan 2 ! interface FastEthernet0/24 switchport access vlan 2 ! interface FastEthernet0/25 switchport access vlan 2 ! interface FastEthernet0/26 switchport access vlan 2 ! interface FastEthernet0/27 switchport access vlan 2 ! interface FastEthernet0/28 switchport access vlan 2 ! interface FastEthernet0/29 switchport access vlan 2 ! interface FastEthernet0/30 switchport access vlan 2 ! interface FastEthernet0/31 switchport access vlan 2 ! interface FastEthernet0/32 switchport access vlan 2 ! interface FastEthernet0/33 switchport access vlan 2 ! interface FastEthernet0/34 switchport access vlan 2 ! interface FastEthernet0/35 switchport access vlan 2 ! interface FastEthernet0/36 switchport access vlan 2 ! interface FastEthernet0/37 switchport access vlan 2 ! interface FastEthernet0/38 switchport access vlan 2 ! interface FastEthernet0/39 switchport access vlan 2 ! interface FastEthernet0/40 switchport access vlan 2 ! interface FastEthernet0/41 switchport access vlan 2 ! interface FastEthernet0/42 switchport access vlan 2 ! interface FastEthernet0/43 switchport access vlan 2 ! interface FastEthernet0/44 switchport access vlan 2 ! interface FastEthernet0/45 switchport access vlan 2 ! interface FastEthernet0/46 switchport access vlan 2 ! interface FastEthernet0/47 switchport access vlan 2 ! interface FastEthernet0/48 switchport access vlan 2 ! interface GigabitEthernet0/1 switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet0/2 ! interface VLAN1 no ip address no ip directed-broadcast ip nat outside shutdown ! interface VLAN2 description ICP-1 ip address 1.1.1.1 255.255.255.192 //IP地址我修改过了 no ip directed-broadcast ! interface VLAN3 description icp-2 no ip directed-broadcast shutdown ! interface VLAN4 description icp-3 no ip directed-broadcast shutdown ! interface VLAN5 description icp-4 no ip directed-broadcast shutdown ! access-list 199 dynamic Cluster-NAT permit ip any any snmp-server engineID local 000000090200000216DD6BC0 snmp-server community private RW //非常危险采用默认的SNMP的community snmp-server community public RO snmp-server community private@es0 RW snmp-server community public@es0 RO snmp-server chassis-id 0x17 ! line con 0 transport input none stopbits 1 line vty 0 4 password 7 0142151D58081E5F //这个几个口令没有加密可以直接看到原文:) login line vty 5 14 password 7 0257174208051771 login line vty 15 password 7 0055001F07581356 login ! end 浅析Cisco网络设备的几个安全问题(3) ------------------------------------------------------------ 我们看到最后几个终端口令没有加密我们可以用个小工具直接看到真实的口令原文: 同样是用SolarWinds提供的小工具,非常方便。上面的密码这应该就是TELNET后第一次要求输入的密码了,如果你运气好的话ENABLE的密码也许也是这个。 当然对于采用MD5加密后的密码我们也可以采用专门的暴力破解软件进行破解 比如CAIN这个软件里就内置了这个功能 我们可以利用它来破解Cisco的MD5格式加密的密码,启动软件后我们选择填加一个CISCO的配置文件 程序会自动的从里面找出MD5的加密串。 Cain支持字典和暴力破解两种破解方式,我们可以在这里设置暴力破解的字符选项 填加好了以后 就可以选择破解模式开始工作了 总的来说速度还不是很理想 但是毕竟是多了一种方式 浅析Cisco网络设备的几个安全问题(4) ------------------------------------------------------------ 下面还是要简单的说另外一个SNMP的community的安全问题 刚才我们说过了只有知道可读可写权限的community后才能够远程去管理CISCO的设备,虽然网上有很多的默认用PRIVATE的设备,但其实还有很多有点经验的管理员已经把这个private给修改掉了,但估计是为了管理上的方便,可读的community还是继续用的public。我这里的小区介入的Cisco的设备就是这个情况,能不能通过可读的community来突破下权限呢,呵呵 很幸运的是新发现的Cisco的设备可以满足我们这个愿望的,SolarWinds的CATV版本里也集成了一个小软件来专门检查你的Cisco设备是否受到这个漏洞的影响。这就是Catalyst/Router Security Check。 这个东西非常好用,它自动对我们给定的IP地址进行检查,发现有漏洞后会自动的读出对方设备的Read-Write Community Strings这里我们可以看到我用PUBLIC的只读权限成功的看到了对方的具有读写权限的Community docsis 这个漏洞同样可以说是非常非常的危险,我知道现在很多的网络管理员虽然给可写的Community一个很强壮的密码,但是对于只读的Community为了远程管理的方便还是用的默认的PUBLIC。 三、最后一个比较大的问题就是去年发现的Cisco的WEB服务的越权访问这个漏洞 这个漏洞影响比较大几乎所有的版本的IOS都有这个问题存在,只不过是现实中打开WEB进行配置管理的Cisco并不是太多,才没有造成太大的危害。 简单的介绍下这个漏洞的内容是IOS 是Cisco公司开发的路由器固件。IOS支持很多Cisco设备(包括路由器和交换机)。在Cisco IOS 11.3开始的版本存在一个安全问题,如果它开放了web管理接口,将允许任意远程攻击者获取该设备的完全的管理权限。攻击者只需要构造一个如下的URL: http:///level/xx/exec/.... ; 这里的xx是一个从16-99之间的整数。对于不同的设备,这个数值可能是不同的,但是攻击者仅需要测试84次即可找到正确的数值。 这个问题可能导致远程用户获取完全的管理权限,并进一步对网络进行渗透,也可能造成拒绝服务攻击漏洞。 我实际在网络中测试中发现,凡是开着WEB接口的Cisco几乎都受到这个漏洞的影响,随便找一个给大家简单演示一下: 正常情况下我们使用IP地址通过IE进去的时候,Cisco会向我们要一个用户名字和口令,当然这里你可以试试Cisco.Cisco一般默认的是这个,不过大部分人都已经改了。 验证失败后,IE会给我们一个出错的提示信息,告诉我们密码错误验证失败。 http://12.12.12.12/level/19/exec/show%20config ;但试试这个连接地址看看你就会发现结果好象是不一样了,没错这里我们已经按照刚才的漏洞描述成功的饶过了Cisco的密码检查机制了,现在我们拥有的是设备的管理员权限了。 说了这么多的废话其实也是让大家多多注意下网络设备的安全状况,毕竟只有网络中所有结点都安全了,才能说整个网络状况是安全的。对于Cisco的设备其实网络上还流行着很多方法和工具,包括SNMP的暴力破解和刚才的这个URL的猜解其实都是有专门的小工具去实现和完成的,有兴趣的朋友可以去找几个下载回来测试下自己的Cisco设备的安全状况如何。 最后一句就是请及时升级你的IOS到最新版本以解决上述所有问题。
|
|