本文由真心如刀割贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
如何入侵 Cisco 路由器
*IOS 自身欺骗 Cisco 路由器是用 IOS 系统来实现路由的细节功能, 因此它是路由系统的灵魂。 Show 命令的 在线系统方式却为我们打开一个偷窥之门。 众所周知,Cisco 路由器中,一般用户只能查看路由器的很少信息。而能进入特权模式的用 户才有资格查看全部信息和修改路由。一般模式下,show 的在线帮助系统不会列表所有可 用的命令,虽然 75 个 show 的扩展参数只能用于特权模式下(enable),实际上只有 13 个受 到限制。这意味着一般用户(非特权用户)可以查看访问列表或其他路由安全相关信息。 重要安全相关的 ACL 信息可以被登录路由的非特权用户查看,诸如: #show access-lists #show ip prot #show ip ospf dat #sh ip eigrp top 等命令可以在非特权模式下泄露网络敏感信息。 通过这些命令, 我们能得出路由器配置的大 致情况, 这对采取进一步的入侵起到辅助作用。 不过由于这种方式需要用户已经有一个登录 帐户,因此得到这样的信息有一定难度。
*WCCP 暗道
Cisco 在 IOS 11.2 版本中引入 WCCP(Web Cache Control Protocol),为 Cisco 缓存引擎提 供协议通信。
Cisco 缓存引擎为 www 提供透明缓存服务。缓存引擎用 WCCP 来和其他 cisco 路由器通信。路由器把 HTTP 数据发送到缓存引擎主机中。 虽然这种方式默认是关闭的。假如使能(enable)的话,那么 WCCP 本身是没有认证机制的。 路由器将会把每一个发送合法缓存引擎类型的 Hello 包的主机认为缓存引擎,于是把 HTTP 数据缓存到那台主机。这意味着恶意用户可以通过这种方式获取信息。 通过这种方式,攻击者可以截获站点认证信息,包括站点密码;替代实际 WEB 内容为自己设 计的陷阱;通过路由彻底破坏 Web 提供的服务。这种方式,可以完全规避登录烦琐的攻击方 法,对 Web 提供全面而且致命的打击。 我们既可关闭 WCCP 的启用机制,也可通过 ACL 阻止 WCCP 发送 HTTP 流量给不信任主机来防 止这样的恶劣情况发生。
*HTTP 服务的困惑
Cisco 在 IOS 版本加入了远程管理路由的 Web 特性,这对于新羽(newbie)的管理员来,无疑 是值得高兴的事情。但引入方便的同时,隐患也随之进入。 网管 bitscn_com
1.基于拒绝式服务攻击的 HTTP 的漏洞 Cisco 路由启用(enable)远程 WEB 管理,很容易遭受 DoS。这种 DoS 能导致路由器 停止对网络请求的响应。这是功能是 Cisco 路由的内嵌功能。但启用这个特性,通过构造一 个简单的 Http 请求就会造成 DoS 攻击: <;router-ip>/%% 这种请求导致路由停止响应
,
甚至引起路由器执行硬重置(hard reset)。
2.基于 HTTP 服务器查询的漏洞 Cisco 安全建议小组在 2000 年 10 月 30 日公布了这个漏洞。IOS 11.0 引入通过 Web 方式管 理路由。 ”?”是 HTML 规范中定义的 CGI 参数的分界符。 它也被 IOS 命令行接口解释成请求 帮助。在 IOS 12.0 中,当问号邻接于”/”,URL 解释器就不能正确解释其含义。当一个包 括”?/”的 URL 对路由器 HTTP 服务器进行请求,并且提供一个有效的启用口令,则路由器 进入死循环。因而引起路由崩溃并重起。 如果 http 起用,浏览 route_ip_addr/anytest?/ ; 并且提供特权口令,则可以导致 DoS 攻击,导致路由停机或者重启。 除了让路由死亡之外,Http 额外提供了一种可怕权限提升的漏洞,如下所论。
3.Cisco IOS 认证漏洞 当 HTTP 服务器启用并且使用本地用户认证方式。在某些条件,可以绕过认证并执 行设备上的任何命令。用户可以对设备完全的控制。所有命令都将以最高特权执行(level 15)。 使用 username 和 password 的路由设备帐户认证方式,构造如下 URL: router_ip_addr/level/xx/exec/…. (注:xx 代表 16 至 99 之间的 84 种不同的组合攻击,因为路由器硬件类型众多,而 IOS 版 本也存在不同,因此针对不同的路由器类型,攻击组合数字不同。) 通过这种方式, 攻击者可以完全控制路由并可以改变路由表配置。 这种可怕的事实让网管也 感到惊悸。这种完整的控制方式将是网站数据通信枢纽的致命一击。
虽然 Http 漏洞带来如此之多的漏洞, 但这种漏洞最主要原因是因为启用 http 服务器管理路 由的缘故,由于这种管理是种命令行方式的替代物,因此对于熟练的网管来说,没有必要启 动这种危害性很大的服务。
#no ip http server 的路由配置也成为时髦的安全配置语句。 网管 u 家 u.bitscn@com
【在 SNMP 中行走】 谈到 Cisco 路由的安全性,我们就必须涉及到 SNMP 这个看似简单,实际扮演着重要角的 协议,正因为它的存在,路由器的入侵变的丰富有趣多了。
*SNMP 基础简介: 每个 SNMP 启用的路由设备都包含一个叫做管理信息模块(MIB),这是一种包含简单等级的 数据目录结构,在这种树结构中包含设备各种信息。SNMP 基本的命令 GET,可以检索 MIB 的信息,而 SET 命令则可设置 MIB 变量。一种用于监控和管理 CISCO 路由的的软件工具是 MRTG,至于如何配置其用于 Cisco 设备的监控可以参阅 LOG 的《怎样在 Windows NT/2K 下安 装 MRTG》一文(/cgi-bin/2hb……7&topic=212)。 在路由器中配置 SNMP 的方法如下: (conf)#snmp-server community readonly RO (conf)#snmp-server community readwrite RW SNMP 协议通过
社区(community)字串的概念赋予对设备 MIB 对象访问的权限。上例中,设置 了只读访问的社区字串 readonly 和可进行读写*作的 readwrite 社区字串。 而大部分管理员 喜欢使用 public 和 private 设置只读
字串和读写字串,疏不知,这样轻易的结果将给网络 带来巨大的波动。我们可以在【触及 RouterKit】部分清楚认识到这种危害。 通过 SNMP 我们可以方便管理和监控 Cisco 的设备(参阅 Log 文章介绍),同时也给攻击者带 来可乘之机。
*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 对象, 违背了保
密性。没有授权就可以修改可读 MIB 对象的子集,破坏了完整性。而更具有危害性 的方法是向 SNMP 端口发送大量的读和写请求。 有漏洞的设备, 如果没有防范接收 SNMP 包的 措施,就会遭受 DoS 攻击,导致路由重载。
至于如何查看这些对象的信息,可以参阅【触及 RouterKit】部分。
*Cisco IOS 软件层叠 SNMP 共享社区字串漏洞 Cisco 配置文件中,意外创建和暴露 SNMP 共享字符串,可以允许未授权地查阅或者修改感 染的设备。这种漏洞是调用 SNMP 函数中的缺陷引起的。SNMP 利用“community”的标记来 划分“object”组,可以在设备上查看或者修改它们。在组中的数据组织 MIB。单个设备可 以有几个 MIBs,连接在一起形成一个大的结构,不同的社团字符串可以提供只读或者读写 访问不同的,可能重叠的大型数据结构的一部分。 启用 SNMP,键入“snmp-server”命令时,如果社区在设备上不是以
有效的社区字串存在, 就会不可预料地添加一个只读社区字串。 如果删除它, 这个社区字串将会在重载设备时重新 出现。 缺陷源于 SNMPv2 的“通知(informs)”功能的实现,这个功能包括交换只读社区字符串来 共享状态信息。当一个有漏洞的设备处理一条定义接收 SNMP "traps"(陷阱消息)主机的 命令时(常规 snmp-server 配置),在 trap 消息中指定的社团也还是配置成通用,如果它 在保存配置中没有定义。 即使社区在前面被删除并且配置在系统重载前保存到存储器, 也会 发生这种情况。 网管 bitscn_com
当通过"snmpwalk"(一种检测 SNMP 配置正确性的工具),或者使用设备的只读社团字符串遍 历基于视图的访问控制 MIB 来检查设备时, 就会泄漏读写社团字符串。 这意味着知道只读社 区字串允许读访问存储在设备中的 MIB,导致信息泄露。而更为严重的是,如果知道读写社 区字符串就可以允许远程配置的路由, 可以绕开授权认证机制, 从而完全控制路由器的整体 功能。
题外话:一个被发现漏洞很具有讽刺意味,使用 nmap 等安全扫描工具对路由进行扫描,居 然会产生 DoS 的攻击。有兴趣的朋友可以参阅: online.securityfocus/arc……29/2002-12-05/1 ;
【另类攻击】 前面的漏洞综述,似乎我们都在围绕着如何获得路由配置信息而讲述,因为得到一个完整 Router-config,那么我们便掌握了路由的世界。下面的入侵方法则另辟奚径。
*TFTP 的艺术 Cisco 的熟练管理员,一般习惯于 Cisco 免费提供的 TFTP 服务器 (www.cisco/pcgi-bin/table……芑峤樯苁褂胏 opy running-config tftp 的命 令来保存路由配置文件。于是获得 TFTP 就有可能获得路由配置文件。 幸运的是, TFTPD 守护程序存在目录遍历的漏洞, 允许远程用户从目标系统中获得任意文件。 我们可以通过下面简单方法获取目标系统中的任何文件: 网管网 www_bitscn_com
Exploit tftp> connect target_machine tftp> get cisco-conf.bin Recieved 472 bytes in 0.4 seconds tftpd> quit 而这个免费软件还没有任何修补措施, 因此借助这种方式, 可以不费吹灰之力就可能得 到一份完
整的路由配置存档。
*SSH 安全感 通过 Telnet 管理方式,造就了一批密码窃听者。通过明文的 ASCII 的网络传输形式,窃听 者随便放置嗅探装置(sniffer),就可安闲的等待着登录用户,密码以及各类敏感信息自动 送到面前。SSH 加密方式在路由器的应用,大大的消灭了这种嚣张的气焰。 但入侵与反入侵本来就是个古老的话题。于是,SSH 也开始有了危机感。Cisco SSH 存在着 三个精妙且复杂的漏洞, 这种攻击的手法所涉及的知识已经大大超出本文的范畴, 所以
以简 略的形式给予说明并指出应用漏洞的文章出处。(这些漏洞整理自中国网络安全响应中心 CNSAN,wwws911/holes/router/……焦ぷ鞲柚戮础?/a>) 1.RC-32 完整性检查漏洞 参考:迅雷专用高速下载 -sdi/files/files/11/CRC32.pdf ;
作者运用及其复杂的数学方式来证明这种漏洞的存在性,看懂这片文章需要相当的数学功 底,本人在看这篇文章的时候也是头痛万分。不过文章中的理论分析十分精彩,初学者可以 省略此漏洞。 网管下载 dl.bitscn
CNSAN 的文章则指出“要使这种攻击成功,攻击者要拥有一或者 2 个已知 chipertxt/plaintext 串,这一般并不难,因为每个进程启动时的问候屏幕是固定并可探测 的,这样可以通过 SNIFF 进程来获得相应的 chipertext”。
2.通信分析 参考:online.securityfocus/archive/1/169840 ; CNSAN 的文章论述:“要利用这个漏洞,攻击者必须捕获信息包,这样可以分析使用的密码 长度并用暴力手段猜测密码”。 在 SSH 中封装明文数据时, 数据从 8 字节的边界上开始封装并对数据进行加密。 这样的包在 明文数据长度之后进行某中数学封装,SSH 在加密通道内以明文的方式传输,结果,能检测 SSH 传输的攻击就能获得 SSH 内的内容。文章还友善的给出了 Patch 程序来修正这个漏洞。
3.在 SSH 1.5 协议中 KEY 恢复 参考:www.securityfocus/archive/1/161150 ; CNSAN 的文章论述:要利用这个协议,攻击者必须能嗅探 SSH 进程并能对 SSH 服务器建立连 接,要恢复 SERVER KEY,攻击者必须执行 2^20+2^19=1572864 连接,由于 KEY 是一小时的 生存时间,所以攻击者必须每秒执行 400 此连接。 这种技巧的要求非常高, 通常的远程入侵中, 使用 KEY 来获得 SSH 会话过程的概率相当之低。
*本地密码劫持 网管 u 家 bitscn
在所有入侵中, 这种类型的入侵活动可谓是蓄谋以久的野蛮做法。 方法本来的意图 是用于管理员忘记密码后的恢复措施。而技术做为双刃剑的一面,便在于我们如何使用它。 如果你有一台笔记本电脑, 你有一根与路由器相应类型的连接线, 那么你配备了入 侵路由的武器。剩下的时间,你将思考如何闭开网管的眼睛,把连接线与路由器连接。以后 的动作,需要你行动迅速了。(以 25xx 系列路由为例) 1react router缓存
.切断路由器的电源。 2.连接计算机与路由器。 3.打开超级终端(CTL-Break in Hyperterm)。 4. 在启动路由器的 30 秒时间内, 迅速按 CTL-Break 组合键, 使路由器进入 rom monitor 状 态,出现提示符如下: Followed by a '>' prompt…… 5.输入 O/R 0x2142,修改配置注册器(config register)路由器从 Flash 网管 bitscn_com
mem
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论