PersonalCorpus 版 (精华区)
发信人: ignorance (这片沉重的土地), 信区: Hacker
标 题: 口令破解器是怎样工作的
发信站: 紫 丁 香 (Thu Mar 23 22:07:40 2000), 转信
要知道口令破解器是如何工作的,主要还是要知道加密算法。正
如上面所说的,许多口令破解器是对某些单词进行加密,然后在比较
。
可以将口令破解器用下面的图来表示:
侯选口令产生器的作用是产生认为可能是密码的单词。通常有好
几种方法产生侯选密码。一种是从一个字典里读取一个单词。这种方
法的理论根据是许多用户由于取密码有些不是很明智,比如将自己的
名字,或者用户名,或者一个好记住的单词等等。所以,攻击这通常
都将这些单词收集到一个文件里,叫做字典。在破解密码是,从这些
字典里取出侯选密码。
另一种方法是用枚举法来产生这样的单词。通常从一个字母开始,
一直增加,知道破解出密码为止。这里,通常要指定组成密码的字符
集,比如从A-Z,0-9等等。为了便于协同破解密码,常常需要为密码
产生器指定产生的密码的范围。
口令加密就是用一般的加密算法对从口令侯选器送来的单词进行
加密。通常,对于攻击不同的系统,要采用不同的加密算法。加密算
法有很多,通常是不可逆的。这就是造成了为什么口令破解器使用的
是这种结构。
口令比较就是将从口令加密里出来的密文和要破解的密文进行比
较。如果一致,那么当前侯选口令发生器中出来的单词就是要找的密
码。如果不一致,则口令发生器再产生下一个侯选口令。
下面我们分别介绍Unix和Windows 95屏幕保护程序的密码算法。
同时给出破解的源程序。另外还介绍Windows NT口令破解方法。
最后再举一个软件注册码破解实例。
Unix口令破解简介
首先讲讲怎样在Unix下得到口令文件。
在标准的Unix系统中,口令文件是/etc/passwd。但是在使用NIS/yp
或shadow的系统时,口令数据可能放在别的地方。
口令文件中的每一条目包含7个分号搁开的区域:
用户名
加密的password,口令有效期
用户号码
组号码
GECOS信息
Home目录
Shell
下面举个实例:
will:5fg63fhD3d5gh:9406:12:Will Spencer:/home/fsg/will:
/bin/bash
上面这个条目包含了下面的信息:
用户名: will
加了密的口令: 5fg63fhD3d5gh
用户号码: 9406
组号码: 12
GECOS信息: Will Spencer
Home目录: /home/fsg/will
Shell: /bin/bash
当入侵者拿到了这个密码文件后,就开始对密码进行破解。当用
户登录系统时,Unix将password的内容读入,并对这个密码进行加密,
并将运算结果和口令文件中的相比较。
Unix口令破解器的基本结构就是我们前面分析的那种结构。目前
较为流行的是John程序。他运行在Windows系统下,并且能很快的破
解密码。
那么,对于shadow的口令怎么办呢?口令shadow是指将口令文件
中的加了密的口令密文部分用一个特殊的符号表示,真正的密文放在
另一个单独的文件里,一般的用户无法读到这个文件。
为了能读到这个文件,写一个程序,通过调用getpwent()函数来
得到这个文件。程序举例如下:
#include < pwd.h>
main()
{
struct passwd *p;
while(p=getpwent())
printf("%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,
p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
}
那么这个shadow文件放在哪个目录下面呢?
Unix Path Token
---------------------------------------------------------
HP-UX /.secure/etc/passwd *
IRIX 5 /etc/shadow x
Linux 1.1 /etc/shadow *
SCO Unix #.2.x /tcb/auth/files/< first letter *
of username>/< username>
SunOS4.1+c2 /etc/security/passwd.adjunct ##username
SunOS 5.0 /etc/shadow
< optional NIS+ private secure maps/tables/whatever>
System V Release 4.0 /etc/shadow x
System V Release 4.2 /etc/security/* database
Ultrix 4 /etc/auth[.dir|.pag] *
对于NIS/yp又怎样呢?
现在的NIS (Network Information System)以前也叫yp (Yellow
Pages)。NIS的目的是允许一个网络上的多台计算机共享配置信息,
包括口令数据。NIS的目的是提高系统的安全性。如果你使用的系统
是NIS的,那么,口令文件相当小,看上去可能就是:
+::0:0:::
如果要看真正的口令,需要使用命令:"ypcat passwd"
在有的口令文件中,还包含一项数据--口令有效期。口令有效期
的目的是促使用户在一定的时间后更改口令。这样就能提高系统的安
全性。
/etc/passwd文件中如果保存口令有效期数据的话,这个条目看
上去是这样的。
will:5fg63fhD3d,M.z8:9406:12:Will Spencer:/home/fsg/will:
/bin/bash
上面这个条目中,密文后面有一个逗号,逗号后面的便是口令有
效期了。这里是:
M.z8
对这四个字符的解释如下:
1.口令可以不改变而存在的最大的周数。
2.口令在改变之前必须使用的最小的周数。
3&4.口令上次改变的时间,以从1970年算起的周数。
如果1和2设置成"..",表示,下次登录的时候,必须改变口令了
。随后口令管理程序会将口令有效期移去,这样,用户以后就没有口
令有效期的限制了。
如果3和4设置成"..",表示下次登录时,必须改变口令。口令有
效期由前两个字符表示。
如果第一个字符小于第二个字符,就不允许用户改变口令了。只
有root才有权力改变这个用户的口令。必须注意,su命令并不检查口
令有效期。一个过期的口令可以在使用su是,没有被迫改变口令的要
求。
口令有效期代码
+--------------------------------------------------------+
| |
| Character: . / 0 1 2 3 4 5 6 7 8 9 A B C D E F G H |
| Number: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
19 |
| |
| Character: I J K L M N O P Q R S T U V W X Y Z a b |
| Number: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
36 37 38 39 |
| |
| Character: c d e f g h i j k l m n o p q r s t u v |
| Number: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
56 57 58 59 |
| |
| Character: w x y z |
| Number: 60 61 62 63 |
| |
+------------------------------------------------------+
Windows 95屏幕保护口令密码破解简介
Window95共享目录口令与屏幕保护口令的加密方法是相同的。共
享目录的口令密文放在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\micorsoft\windows\current_version
\network\lanman\
目录名\Parm1enc和Parm2enc两位置,但有时注册库里缺少最后一个字
符的密文。明文与数列(前八个数是35,9a,4d,a6,53,a9,d4,6a)作异
或运算即得密文。屏幕保护程序的口令密文放在注册表的HKEY_CURRENT_USERS\ControlPanel\desktop\ScreenSave_Data
下面。
关于PWL文件的一些说明:14个字符长的密码(均转为大写),用
它生成一个32位的密钥,由以下算法求得一个XOR串,接下来用此XOR
串XOR 20字节长的UserName(也转为大写),结果存于PWL文件offset 0x208-0x21B,
0x21C开始为一系列指向资源串的指针(当然已XOR过了)。资源串中
保存的主要是该USER的一些共享目录的口令,资源串也分别与XOR串XOR
。
由注册表数据库system.dat极易解出共享目录,因此若Win95目录
被共享(不需口令)则解出其余需口令的目录就变得比较简单了。但Win95
目录没共享怎么办呢?用一个叫glide的程序,对从将别的机器上拷
回来的PWL文件进行解密。用glide解其资源,很有可能找到所需的password
。
--
天空是蔚蓝的。
蔚蓝的天空中,有一只快乐的鸟儿在飞翔.....
这样的世界是美丽的,
这样的生活是值得赞美的!
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: music.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.240毫秒