除了让路由死亡之外,Http额外提供了一种可怕权限提升的漏洞,如下所论。
3.Cisco IOS 认证漏洞
当HTTP服务器启用并且使用本地用户认证方式。在某些条件,可以绕过认证并执行设备上的任何命令。用户可以对设备完全的控制。所有命令都将以最高特权执行(level 15)。
使用username 和password的路由设备帐户认证方式,构造如下URL:
http://router_ip_addr/level/xx/exec/….
(注:xx代表16至99之间的84种不同的组合攻击,因为路由器硬件类型众多,而IOS版本也存在不同,因此针对不同的路由器类型,攻击组合数字不同。)
通过这种方式,攻击者可以完全控制路由并可以改变路由表配置。这种可怕的事实让网管也感到惊悸。这种完整的控制方式将是网站数据通信枢纽的致命一击。
虽然Http漏洞带来如此之多的漏洞,但这种漏洞最主要原因是因为启用http服务器管理路由的缘故,由于这种管理是种命令行方式的替代物,因此对于熟练的网管来说,没有必要启动这种危害性很大的服务。
#no ip http server 的路由配置也成为时髦的安全配置语句。
【在SNMP中行走】
谈到Cisco路由的安全性,我们就必须涉及到SNMP这个看似简单,实际扮演着重要角色的协议,正因为它的存在,路由器的入侵变的丰富有趣多了。
*SNMP基础简介:
每个SNMP启用的路由设备都包含一个叫做管理信息模块(MIB),这是一种包含简单等级的数据目录结构,在这种树结构中包含设备各种信息。SNMP基本的命令GET,可以检索MIB的信息,而SET命令则可设置MIB变量。一种用于监控和管理CISCO路由的的软件工具是MRTG。
在路由器中配置SNMP的方法如下:
(conf)#snmp-server community readonly RO
(conf)#snmp-server community readwrite RW
SNMP协议通过社区(community)字串的概念赋予对设备MIB对象访问的权限。上例中,设置了只读访问的社区字串readonly和可进行读写操作的readwrite社区字串。而大部分管理员喜欢使用public和private设置只读字串和读写字串,疏不知,这样轻易的结果将给网络带来巨大的波动。
通过SNMP我们可以方便管理和监控Cisco的设备,同时也给攻击者带来可乘之机。
*Cisco IOS软件SNMP读写ILMI社区字串漏洞
ILMI是一个独立的工业标准,用于配置ATM接口。MIB是一个树形结构,包括操作(只读)数据以及配置(读写)选项。在有漏洞的设备上,通过在SNMP请求中指定一个ILMI社团字符串,可以访问整个树形管理结构中三个特定部分的对象:MIB-II系统组,LAN-EMULATION-CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB。每一部分的子集对象都可以使用相同的“ILMI”社团字符串修改。
MIB-II系统组包括设备本身的基本信息。能被修改对象的数目虽然是有限的。例如包括:
system.sysContact.
system.sysLocation.
system.sysName.
Cisco IOS软件版本11.x和12.0允许使用一个非文档的ILMI社区字串未经授权就查看和修改某些SNMP对象。其中就包括诸如上面所说的"sysContact","sysLocation",和"sysName"对象,虽然修改它们不会影响设备的正常操作,但如果意外修改可能会产生混乱。剩下的对象包含于LAN-EMULATION-CLIENT和PNNI MIBs,修改这些对象可以影响ATM配置。如果没有防止未授权使用ILMI社团字符串,一台有漏洞的路由器可能会遭受DoS攻击。
如果SNMP请求可以被有漏洞的设备接收,那么没有适当授权,就可以访问某些MIB对象,违背了保密性。没有