【触及RouterKit】
就如攻击视窗系统人喜欢用NTRK,攻击Linux的人则喜欢用rootkit,Router的世界也有这优秀的Kit,让人爱不释手。
*密码破解机
得到路由配置文件后,如果看见在特权模式的配置中可能会有:“enable password 7 14341B180F0B187875212766”这样的加密字串。那么恭喜了,enable password命令的密码加密机制已经很古老,存在极大安全漏洞。通过一些简单的工具就可以得到破解的特权密码。
*RAT的丰厚礼物
RAT是系统管理网络安全研究机构(SANS)开发的免费路由审核工具(route audit tools)。这套工具能自动和立即的检索路由配置的情况,并针对配置的问题给出极其详尽的漏洞发现和推荐修改配置,并能寻址SNMP的漏洞给予安全建议。这种安全的配置文档对于管理员和黑帽来说,都是非常珍贵的资料。
RAT是用Pearl语言编写而成,因此在Windows需要安装ActiveState Perl的环境。安装过程十分简单,对于路由的扫描结果以Html和ASCII文本格式给予用户查看。下面是扫描的具体实例。
Exploit:
C:\>perl c:\rat\bin\rat –a –u username –w passwd –e enablepass {router_ip_addr}
snarfing router_ip_addr...done.
auditing router_ip_addr...done.
ncat_report: Guide file rscg.pdf not found in current directory. Searching...
Linking to guide found at c:\rat/rscg.pdf
ncat_report: writing {router_ip_addr}.ncat_fix.txt.
ncat_report: writing {router_ip_addr}.ncat_report.txt.
ncat_report: writing {router_ip_addr}.html.
ncat_report: writing rules.html (cisco-ios-benchmark.html).
ncat_report: writing all.ncat_fix.txt.
ncat_report: writing all.ncat_report.txt.
ncat_report: writing all.html.
(注:-a参数扫描所有漏洞选项,-u登录帐户,-w登陆密码,-e特权模式密码。扫描产生的漏洞检测报告和安全建议则使用ncat_report写入相关文件中。{router_ip_addr}是实际的路由IP地址)
可以说RAT 是IOS的安全配置检测工具,提供了详细的配置安全漏洞,并提供Fix Script for {router_ip_addr}的修补脚本,这样周全的工具不仅是管理员的福音,也给入侵者带来巨大好处。如果入侵者得到这样一份周详的报告,情况会有多糟糕?
可惜的是,这样优秀的程序在对路由配置文件进行检索时,所用的snarf程序是以telnet的方式对配置文件进行检索,这样的话,任何传输过程都将是明文的方式,而程序的文档介绍中推荐使用的SSH协议本身也并不完善(可参阅【另类攻击】部分的介绍),这样就为攻击者提供了偷窃的途径,从而获得路由全面的明晰配置图,这样结果对于网管来说将是多么的不幸。因此我们需要谨慎的使用这个威力巨大的工具。
当然,这个优秀的免费工具带给我们的另一个丰厚的礼物便是程序中自动装入《路由安全配置指南》(RSCG)的PDF文档,里面详尽的Cisco安全路由配置文档介绍了路由的管理和安全配置方式,给出薄弱的路由配置配置说明。这种实惠既便利了安全工作者对于理解,也成为了攻击者利用漏洞的极佳参考。
*终极力量Solarwinds
Solarwinds公司出品Solarwinds.net的全面产品中包容了针对许多管理监测Cisco设备的精美工具,良好的GUI、容易操作的截面、还有Perfect的Toolbar(比较起庞大而复杂的Ciscowork管理软件,我偏向于Solarwinds提供的简单配置工具,当然Ciscowork如果被攻击者运用,那么破坏的威力简直可以搞拷一个大型网站的通信枢纽。至于Ciscowork的使用说明,因为篇幅问题,不在赘述)。
主要工具简介:
SNMP Dictionary Attack
SNMP字典攻击用于测试SNMP的社区字串的强度。在SNMP字典攻击中,攻击程序首先装载社区字串习惯用语字典和字典编辑器编辑的字典,然后按照字典排序进行猜解。
SNMP Brute Force Attack
SNMP暴力破解程序将会以字母和数字的组合形式远程对SNMP的只读字串和读写字串进行穷举破解,同时我们可以定义包括的字符和字串的估计长度,这样有助于加快破解速度。
Router Security Check
路由安全检查程序能尝试的进入到路由器中并提示IOS是否需要升级,同时它也自动尝试只读和读写的SNMP社区字串。下面就是一个实际检测的结果:
IP Address202.xx.xx.xxSystem Namecisco7507Contact--Test Contact—010xxxxxxLocationCisco Internetwork Operating System Software IOS (tm) RSP Software (RSP-AJSV-M), Version 12.0(7), RELEASE SOFTWARE (fc1)Copyright (c) 1986-1999 by cisco Systems, Inc.Compiled Wed 13-Oct-99 23:20 by phanguyeRead-Only Community StringsILMIxxxxRead-Write Community StringsILMIXxxx
注:从结果看,我们获得了读写字串,这种利用方式在前面已经论述过,不在重复。使用x隐含了真实的属性资料。
Remote TCP Session Reset
可以远程显示路由器上的所有TCP活动连接,更有意思的是,如果得知SNMP社区的读写字串,这个程序可以随意切断TCP的连接,这种恶作剧也常常让人苦恼不堪。
Cisco Router Password Decryption
不言而喻,这个程序是用来破解特权模式下的密码。至于如何取得密码,请参阅【触及RouterKit】的说明。
当然,除了以上几种工具外,Solarwinds来集合了实用的Config Editor/View,upload Config,Download Config,Running Vs Startup Configs,Proxy Ping, Advanced CPU Load,Router CPU Load路由配置管理工具,通过工具名字我们不难得出这些工具的用途。
Solarwinds牛刀小试
这里将使用Solarwinds的工具组合进行一次高层次的入侵演习。不过这里的先决条件是,你已经通过各种漏洞探测针方式获取了社区可读写的字串(粗鲁的做法就可利用通过Solarwinds SNMP暴力破解方式来获取读写字串)。
首先,创建一个包含新密码的文本文件:
enable password New*Password
注:这种设置甚至可以覆盖enable secret 5加密设置,不清楚Cisco既然得知Password 7方式加密是非常容易破解的,为什么还要保留这个遗物。
接着,在文件中输入修改登录密码的语句:
line vty 0 4password New*Passwordlogin
启动Solarwinds自带的TFTP服务器,把创建的文件放置到服务器的根目录中。并在Config uploader实用工具中输入路由地址,读写字串和TFTP服务器的地址,并在TFTP目录中选择刚才创建的文件,按“Copy config PC to Router/Switch”。大致过程如图示:
通过这种隐蔽的方式,我们更改了路由器的登录密码和特权模式密码。这种把戏经常让通过远程管理路由的网管大吃一惊,但重启路由后我们设置的密码就失效了。原因在于我们是在Running-conf模式下修改路由配置,而没有保存到NVRAM中。当然,许多过激的做法干脆使用修改的密码登录路由器,把配置文件写(write)到NVRAM。强权控管路由设备。
【几点安全建议】
综述了这些触目惊心的漏洞和威力无比工具的应用,我们是否应该行动起来,采取适当的措施来保护自身利益呢?
*关于IOS的问题
1.通过no ip http server取消http服务,消除Http带来的隐患。
2.限制SNMP访问配置
access-list 10 permit 204.50.25.0 0.0.0.255snmp-server community readwrite RW 10 (通过ACL限制受信主机访问)###########监测非授权的SNMP访问配置##########snmp-server enable traps (设置陷阱)snmp-server trap-authentication (如何认证失败,告诉路由发送陷阱。)snmp-server host 204.50.25.5 (陷阱消息接受工作站)(注:ciscoworks 工作站可以截获这些信息。)
3.及时升级Cisco的IOS程序或者修补程序
4.推荐阅读RAT中的RSCG文档建议
5.利用安全工具对路由进行安全检查。
【编辑推荐】