FoxMail企业地址簿的系统管理员和域管理员口令都使用了弱加密算法

/ns/ld/softld/data/20011117231634.htm

涉及程序:
Foxmail邮件程序

描述:
FoxMail企业地址簿管理员口令加密算法易于破解

详细:
发现者:tombkeeper@126.com

FoxEAB(FoxMail企业地址簿)是FoxMail Server的一部分。经过分析发现,FoxEAB
将加密后的系统管理员和域管理员口令存放在文件“id2entry.dbb”中“userPassword::”
字段后,且采用了类似多表代换的简单算法。此算法具体描述如下(部分细节暂不公布):

1、明文可以是20到7E的所有ASCII字符。

2、将明文分为每3个字符一组,对每组分别加密。每组加密后的密文为4个字符。再将各组
密文合并。以下叙述中如无特殊说明,所谓明文密文都是指每组明文密文对。

3、若明文字符数不是3的倍数,则对于末组明文有:明文数为1,则密文数为2;明文数为2,
则密文数为3。密文数不足四位用“=”补足。

4、密文第1位由明文第1位决定,关系如下:
如明文是 <sp>!"# 中任何一个则密文是 I ;(<sp>为空格)
如明文是 $ % & ' 中任何一个则密文是 J ;
......
如明文是 d e f g 中任何一个则密文是 Z ;
如明文是 h i j k 中任何一个则密文是 a ;
......
如明文是 |}~ 中任何一个则密文是 f 。

5、密文第2位由明文第1、2位决定。
明文第2位决定密文在哪4个字符中产生,明文第1位决定是4个字符中的哪一个。
(具体略)

6、密文第3位由明文第2、3位决定。
明文第2位决定密文在哪2个字符中产生,明文第3位决定是2个字符中的哪一个。
(具体略)

7、密文第4位由明文第3位决定,有如下一一对应关系:
明文是 <sp> 则密文是 g ;
明文是 3 则密文是 z ;
......
明文是 4 则密文是 0 ;
......
明文是 = 则密文是 9 ;
明文是 > 则密文是 + ;
明文是 ? 则密文是 / ;
明文是 @ 则密文是 A ;
......
明文是 Y 则密文是 Z ;
明文是 Z 则密文是 a ;
......
明文是 ~ 则密文是 + 。





解决方案:
给id2entry.dbb文件设置最小权限。由于id2entry.dbb只需供slapd.exe读写,
而slapd.exe是作为一项服务“FoxLdapServer”以SYSTEM权限运行的,所以可以只
保留SYSTEM的读写权。

发现者:tombkeeper@126.com