cisco路由器:Cisco路由入侵艺术

     奔流不息网络里Web绽放着绚丽色彩、电子邮件呼哧穿梭网际、语音电话、网络会议、文件传输各种数据交织错落形成辉煌数字世界在喧闹数字世界底层存在种精致次序这种次序决定着数据选路、异构介质衔接、协议交互等功能而这次序缔造者正是布满整个网络路由器于是路由器成了数据通信交通亭也成为了众多黑帽(Blackhat)争夺目标的
Cisco路由器占据这网络世界绝对位置于是安全焦点效应激发了路由入侵和防御而产生精美艺术下面我将由浅入深方式讲述Cisco入侵手段以及防御策略

【路由器感冒】
路由器从本身IOS来说并不是个健壮体系因而它偶尔也会让自己感冒发烧系统感冒发烧起来抵抗力自然就降低不少

*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缓存Cache引擎提供协议通信Cisco缓存Cache引擎为www提供透明缓存Cache服务缓存Cache引擎用WCCP来和其他cisco路由器通信路由器把HTTP数据发送到缓存Cache引擎主机中
虽然这种方式默认是关闭假如使能(enable)那么WCCP本身是没有认证机制路由器将会把每个发送合法缓存Cache引擎类型Hello包主机认为缓存Cache引擎于是把HTTP数据缓存Cache到那台主机这意味着恶意用户可以通过这种方式获取信息
通过这种方式攻击者可以截获站点认证信息包括站点密码;替代实际WEB内容为自己设计陷阱;通过路由彻底破坏Web提供服务这种方式可以完全规避登录烦琐攻击思路方法对Web提供全面而且致命打击
我们既可关闭WCCP启用机制也可通过ACL阻止WCCP发送HTTP流量给不信任主机来防止这样恶劣情况发生


*HTTP服务困惑
Cisco在IOS版本加入了远程管理路由Web特性这对于新羽(bie)管理员来无疑是值得高兴事情但引入方便同时隐患也随的进入
1.基于拒绝式服务攻击HTTP漏洞
    Cisco路由启用(enable)远程WEB管理很容易遭受DoS这种DoS能导致路由器停止对网络请求响应这是功能是Cisco路由内嵌功能但启用这个特性通过构造个简单Http请求就会造成DoS攻击:
http://<router-ip>/%%
这种请求导致路由停止响应甚至引起路由器执行硬重置(hard re)

2.基于HTTP服务器查询漏洞
Cisco 安全建议小组在2000年10月30日公布了这个漏洞IOS 11.0引入通过Web方式管理路由”?”是HTML规范标准中定义CGI参数分界符它也被IOS命令行接口解释成请求帮助在IOS 12.0中当问号邻接于”/”URL解释器就不能正确解释其含义个包括”?/”URL对路由器HTTP服务器进行请求并且提供个有效启用口令则路由器进入死循环因而引起路由崩溃并重起
如果http起用浏览
http://route_ip_addr/anytest?/
并且提供特权口令则可以导致DoS攻击导致路由停机或者重启
除了让路由死亡的外Http额外提供了种可怕权限提升漏洞如下所论

3.Cisco IOS 认证漏洞
    当HTTP服务器启用并且使用本地用户认证方式在某些条件可以绕过认证并执行设备上任何命令用户可以对设备完全控制所有命令都将以最高特权执行(level 15)
使用username 和password路由设备帐户认证方式构造如下URL:
http://router_ip_addr/level/xx/exec/….
(注:xx代表16至99的间84种区别组合攻击路由器硬件类型众多而IOS版本也存在区别因此针对区别路由器类型攻击组合数字区别)
通过这种方式攻击者可以完全控制路由并可以改变路由表配置这种可怕事实让网管也感到惊悸这种完整控制方式将是网站WebSite数据通信枢纽致命

虽然Http漏洞带来如此的多漏洞但这种漏洞最主要原因是启用http服务器管理路由缘故由于这种管理是种命令行方式替代物因此对于熟练网管来说没有必要启动这种危害性很大服务
#no ip http server 路由配置也成为时髦安全配置语句


【在SNMP中行走】
谈到Cisco路由安全性我们就必须涉及到SNMP这个看似简单实际扮演着重要角色协议存在路由器入侵变丰富有趣多了

*SNMP基础介绍:
每个SNMP启用路由设备都包含个叫做管理信息模块(MIB)这是种包含简单等级数据目录结构在这种树结构中包含设备各种信息SNMP基本命令GET可以检索MIB信息而SET命令则可设置MIB变量种用于监控和管理CISCO路由软件Software工具是MRTG至于如何配置其用于Cisco设备监控可以参阅LOG怎样在Windows NT/2K下安装MRTG文(http://www.2hackers.org/cgi-bin/2hb/topic.cgi?forum=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软件SoftwareSNMP读写ILMI社区字串漏洞
ILMI是个独立工业标准用于配置ATM接口MIB是个树形结构包括操作(只读)数据以及配置(读写)选项在有漏洞设备上通过在SNMP请求中指定个ILMI社团可以访问整个树形管理结构中 3个特定部分对象:MIB-II系统组LAN-EMULATION-CLIENT MIB以及PNNI(Private Network-to-Network Interface)MIB部分子集对象都可以使用相同“ILMI”社团串修改
MIB-II系统组包括设备本身基本信息能被修改对象数目虽然是有限例如包括:
system.sysContact.
system.sysLocation.
system.sysName.
Cisco IOS软件Software版本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软件Software层叠SNMP共享社区字串漏洞
Cisco 配置文件中意外创建和暴露SNMP共享可以允许未授权地查阅或者修改感染设备这种漏洞是SNMP缺陷引起SNMP利用“community”标记来划分“object”组,可以在设备上查看或者修改它们在组中数据组织MIB单个设备可以有几个MIBs连接在起形成个大结构区别社团串可以提供只读或者读写访问区别可能重叠大型数据结构部分
启用SNMP键入“snmp-server”命令时如果社区在设备上不是以有效社区字串存在就会不可预料地添加个只读社区字串如果删除它这个社区字串将会在重载设备时重新出现
缺陷源于SNMPv2“通知(informs)”功能实现这个功能包括交换只读社区串来共享状态信息个有漏洞设备处理条定义接收SNMP "traps"(陷阱消息)主机命令时(常规snmp-server配置)在trap消息中指定社团也还是配置成通用如果它在保存配置中没有定义即使社区在前面被删除并且配置在系统重载前保存到存储器也会发生这种情况
当通过"snmpwalk"(种检测SNMP配置正确性工具)或者使用设备只读社团串遍历基于视图访问控制MIB来检查设备时就会泄漏读写社团这意味着知道只读社区字串允许读访问存储在设备中MIB导致信息泄露而更为严重如果知道读写社区串就可以允许远程配置路由可以绕开授权认证机制从而完全控制路由器整体功能

题外话:个被发现漏洞很具有讽刺意味使用nmap等安全扫描工具对路由进行扫描居然会产生DoS攻击有兴趣朋友可以参阅:http://online.securityfocus.com/archive/1/28601/2002-11-29/2002-12-05/1

【另类攻击】
前面漏洞综述似乎我们都在围绕着如何获得路由配置信息而讲述得到个完整Router-config那么我们便掌握了路由世界下面入侵思路方法则另辟奚径

*TFTP艺术
Cisco熟练管理员般习惯于Cisco免费提供TFTP服务器(http://www.cisco.com/pcgi-bin/tablebuild.pl/tftp)而Cisco培训书籍总会介绍使用copy running-config tftp命令来保存路由配置文件于是获得TFTP就有可能获得路由配置文件
幸运TFTPD守护存在目录遍历漏洞允许远程用户从目标系统中获得任意文件我们可以通过下面简单思路方法获取目标系统中任何文件:
Exploit
tftp> connect target_machine
tftp> get cisco-conf.bin
Recieved 472 s in 0.4 seconds
tftpd> quit
  而这个免费软件Software还没有任何修补措施因此借助这种方式可以不费吹灰的力就可能得到份完整路由配置存档

*SSH安全感
通过Telnet管理方式造就了批密码窃听者通过明文ASCII网络传输形式窃听者随便放置嗅探装置(snfer)就可安闲等待着登录用户密码以及各类敏感信息自动送到面前SSH加密方式在路由器应用大大消灭了这种嚣张气焰
但入侵和反入侵本来就是个古老话题于是SSH也开始有了危机感Cisco SSH存在着 3个精妙且复杂漏洞这种攻击手法所涉及知识已经大大超出本文范畴所以以简略形式给予介绍说明并指出应用漏洞文章出处(这些漏洞整理自中国网络安全响应中心CNSANhttp://www.cns911.com/holes/router/router01062902.php在此对漏洞整理工作者无私工作给予致敬)
1.RC-32完整性检查漏洞
参考:http://www.core-sdi.com/files/files/11/CRC32.pdf
作者运用及其复杂数学方式来证明这种漏洞存在性看懂这片文章需要相当数学功底本人在看这篇文章时候也是头痛万分不过文章中理论分析十分精彩初学者可以省略此漏洞
CNSAN文章则指出“要使这种攻击成功攻击者要拥有或者2个已知chipertxt/plaext串般并不难每个进程启动时问候屏幕是固定并可探测这样可以通过SNIFF进程来获得相应chipertext”

2.通信分析
参考:http://online.securityfocus.com/archive/1/169840
CNSAN文章论述:“要利用这个漏洞攻击者必须捕获信息包这样可以分析使用密码长度并用暴力手段猜测密码”
在SSH中封装明文数据时数据从8字节边界上开始封装并对数据进行加密这样包在明文数据长度的后进行某中数学封装SSH在加密通道内以明文方式传输结果能检测SSH传输攻击就能获得SSH内内容文章还友善给出了Patch来修正这个漏洞

3.在SSH 1.5协议中KEY恢复
参考:http://www.securityfocus.com/archive/1/161150
CNSAN文章论述:要利用这个协议攻击者必须能嗅探SSH进程并能对SSH服务器建立连接要恢复SERVER KEY攻击者必须执行2^20+2^19=1572864 连接由于KEY是小时生存时间所以攻击者必须每秒执行400此连接
这种窍门技巧要求非常高通常远程入侵中使用KEY来获得SSH会话过程概率相当的低

*本地密码劫持
    在所有入侵中这种类型入侵活动可谓是蓄谋以久野蛮做法思路方法本来意图是用于管理员忘记密码后恢复措施而技术做为双刃剑便在于我们如何使用它
    如果你有台笔记本电脑你有根和路由器相应类型连接线那么你配备了入侵路由武器剩下时间你将研究如何闭开网管眼睛把连接线和路由器连接以后动作需要你行动迅速了(以25xx系列路由为例)
1.切断路由器电源
2.连接计算机和路由器
3.打开超级终端(CTL-Break in Hyperterm)
4.在启动路由器30秒时间内迅速按CTL-Break组合键使路由器进入rom monitor 状态出现提示符如下:
Followed by a '>' prompt...
5.输入 O/R 0x2142修改配置注册器(config register)路由器从Flash
memory引导
6.输入I路由器化设置后重新启动
7.输入系统配置 对话提示符敲no,直等提示信息显示: Press RETURN to get started
8.输入enable 命令出现Router# 提示符
这是我们可以完全使用show命令查看路由中切配置并可转储到计算机上如果使用了enable加密方式虽然现在无法看但可以使用工具进行破解当然粗鲁做法是直接修改:
Router#conf term
Router(conf)#enable password 7 123pwd

进行完以上操作别忘了恢复路由正常状态否则网管很快就能发现问题所在:
Router(conf)#config-register 0x2102
Router(conf)#exit

至此我们从几个方面试图获得整个路由配置那么如何进步扩大入侵战果些令人激动工具给我们带来无比愉悦方便

【触及RouterKit】
就如攻击视窗系统人喜欢用NTRK攻击Linux人则喜欢用rootkitRouter世界也有这优秀Kit让人爱不释手

*密码破解机
得到路由配置文件后如果看见在特权模式配置中可能会有:“enable password 7 14341B180F0B187875212766”这样加密字串那么恭喜了enable password命令密码加密机制已经很古老,存在极大安全漏洞通过些简单工具就可以得到破解特权密码
实用工具资源:
SPHiXe's 'C'版本破解机:http://www.alcrypto.co.uk/cisco/c/ciscocrack.c
Riku MeskanenPearl版本:http://www.alcrypto.co.uk/cisco/perl/ios7decrypt.pl
BigDogPsion 3/5 版本:http://www.alcrypto.co.uk/cisco/psion/cisco.opl
Major MalfunctionPalm-Pilot破解机:http://www.alcrypto.co.uk/cisco/pilot/ciscopw_1-0.zip
Boson Windows版本GetPass:http://www.boson.com/promo/utilities/getpass/getpass_utility.htm
Mudge描述漏洞生成原因:http://www.alcrypto.co.uk/cisco/mudge.txt
从这些资源得知password安全机制是如此薄弱因此在现在配置环境中般采用enable secrect较新安全加密机制

*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、容易操作截面、还有PerfectToolbar(比较起庞大而复杂Ciscowork管理软件Software我偏向于Solarwinds提供简单配置工具当然Ciscowork如果被攻击者运用那么破坏威力简直可以搞拷个大型网站WebSite通信枢纽至于Ciscowork使用介绍说明篇幅问题不在赘述)
主要工具介绍:
SNMP Dictionary Attack
SNMP字典攻击用于测试SNMP社区字串强度在SNMP字典攻击中攻击首先装载社区字串习惯用语字典和字典编辑器编辑字典然后按照字典排序进行猜解

SNMP Brute Force Attack
SNMP暴力破解将会以字母和数字组合形式远程对SNMP只读字串和读写字串进行穷举破解同时我们可以定义包括和字串估计长度这样有助于加快破解速度

Router Security Check
路由安全检查能尝试进入到路由器中并提示IOS是否需要升级同时它也自动尝试只读和读写SNMP社区字串下面就是个实际检测结果:

IP Address202.xx.xx.xx Namecisco7507Contact--Test Contact—010xxxxxxLocationCisco Internetwork Operating Software IOS &#8482; RSP Software (RSP-AJSV-M), Version 12.0(7), RELEASE SOFTWARE (fc1)Copyright &copy; 1986-1999 by cisco s, Inc.Compiled Wed 13-Oct-99 23:20 by phanguyeRead-Only Community StringsILMIxxxxRead-Write Community StringsILMIXxxx
注:从结果看我们获得了读写字串这种利用方式在前面已经论述过不在重复使用x隐含了真实属性资料

Remote TCP Session Re
可以远程显示路由器上所有TCP活动连接更有意思如果得知SNMP社区读写字串这个可以随意切断TCP连接这种恶作剧也常常让人苦恼不堪

Cisco Router Password Decryption
不言而喻这个是用来破解特权模式下密码至于如何取得密码请参阅【触及RouterKit】介绍说明

当然除了以上几种工具外Solarwinds来集合了实用Config Editor/Viewupload ConfigDownload ConfigRunning Vs Startup ConfigsProxy Ping Advanced CPU LoadRouter 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.及时升级CiscoIOS或者修补
4.推荐阅读RAT中RSCG文档建议
5.利用安全工具对路由进行安全检查
有关安全建议问题不是劳永逸事情漏洞在暗处挖掘着技术在不断膨胀着因此以上几点建议只作为参考实际运用当中我们应该根据实际情况作出正确策略

【参考资料】
1.http://alerts.securityfocus.com/
2.http://www.cisco.com/warp/public/
3.http://www.insecure.org/s/P55-10.txt
4.http://www.sans.org/
5.http://www.networkingunlimited.com/white007.html
6.http://us.cns911.com/holes/router/
7.http://www.securiteam.com/

注:几点介绍说明由于许多网站WebSite里有关路由资料文章很多因此我只给出网站WebSite地址不给出具体文章出处烦劳各位朋友到相关网站WebSite查询


  • 篇文章: 再教次:美萍破解教程

  • 篇文章: NT各种漏洞利使用方法[菜鸟版]
  • Tags:  cisco路由器命令 cisco路由器设置 cisco路由器配置 cisco路由器

    延伸阅读

    最新评论

    发表评论