Make Www.Edu-cn.Com Your Home Page!
用户名:
密码:
验证码:
注册
图形图像
操作系统
网站建设
多媒体
网络相关
系统工具
办公软件
软件开发
安全相关
数据库
专题教程
教程论坛
当前位置: >
中国教程网
>
安全相关
>
网络安全
> 网络安全教程-密码与Crack工具研究(1)
网络安全教程-密码与Crack工具研究(1)
作者:
来源:
中国教程网
点击:
日期:
2007-04-02
由于Unix是Internet最流行的服务器操作系统,因此它的安全性倍受关注。这种安全主要靠口令实现。Unix的口令仅仅存储在一个加密后的文本文件中,文件一般储存在/etc目录下,名称为passwd。历史上,Unix口令加密算法曾经历过几次修正,现在普遍采用DES算法。用DES算法对口令文件进行25次加密。而对每次DES加密产生的结果,都要用2的56次方次查找与匹配才能进行一次遍历,所以理论上要破解这样的口令,其工作量是很大的。
本文先介绍Unix 口令文件的格式以及口令加密的原理;接着讲述如何构造一个口令Crack程序;最后以John the Ripper做口令攻击的测试,分析实验结果,并给出口令安全的建议。
1.1 Unix 口令文件的格式及安全机制
/etc/passwd文件是Unix安全的关键文件之一,在不同的Unix系统中,它的存储路径略有不同,参见表5.1。该文件用于用户登录时校验用户的口令,仅对root权限可写。
表1.1 不同Unix系统中口令文件的存储路径
Unix系统
路径
UNICOS /etc/udb
Ultrix4 /etc/auth
SystemV Release 4.2 /etc/security
SystemV Release 4.0 /etc/shadow
SunOS 5.0 /etc/shadow
SCOUnix /tcb/auth/files/
www.edu-cn.com
OSF/1 /etc/passwd
Linux1.1 /etc/shadow
HP-UX /.secure/etc/passwd
BSD4.3 /etc/master.passwd
AIX3 /etc/security/passwd
IRIX5 /etc/shadow
口令文件中每行代表一个用户条目,格式为:
LOGNAME : PASSWORD : UID : GID : USERINFO : HOME : SHELL
每行的头两项是登录名和加密后的口令,后面的两个数是UID和GID,接着的一项是系统管理员想写入的有关该用户的任何信息,最后两项是两个路径名:一个是分配给用户的Home目录,第二个是用户登录后将执行的shell(若为空格则缺省为/bin/sh)。例如,在口令文件中,它的Root用户的条目为:
root : xyDfccTrt180x,M.y8 : 0 : 0 : admin : / : /bin/sh
则,它的含义如表1.2所示。
表1.2 /etc/passwd文件中各个域的含义
域
含义
Root用户名
XyDfccTrt180x,M.y8 加密的口令
0 用户ID(UID)
0 用户的组ID(GID)
Admin 用户的全名
/ 用户的主目录
/bin/sh 用户的Shell
在目前的多数Unix系统中,口令文件都做了Shadow变换,即把/etc/passwd文件中的口令域分离出来,单独存在/etc/shadow文件中,并加强对shadow的保护,以增强口令安全。因而,在破解时,需要做UnShadow变换,将/etc/passwd与/etc/shadow文件合二为一。
中国论文网
1.1.1 口令加密的机理
Unix系统使用一个单向函数crypt(),来加密用户的口令。单向函数crypt()从数学原理上保证了从加密的密文得到加密前的明文是不可能的或是非常困难的。当用户登录时,系统并不是去解密已加密的口令,而是将输入的口令明文字符串传给加密函数,将加密函数的输出与/etc/passwd文件中该用户条目的PASSWORD域进行比较,若匹配成功,则允许用户登录系统。
Crypt()的加密算法基于资料加密标准DES,它将用户输入的口令作为密钥,加密一个64bit的0/1串,加密的结果又使用用户的口令再次加密;重复该过程,一共进行25次。最后的输出为一个11byte的字符串,存放在/etc/passwd的PASSWORD域。
Morris和Thompson修改了crypt()函数的实现。现在Unix系统中使用的加密函数原型如下:
Char *crypt(char *salt, char *passwd)
Salt是一个12位长的数字,取值范围为0到4095。它略改变了DES的输出,4096个不同的salt值使同一个口令产生不同的输出。当改变口令时,系统选择当天的一个时间,得到一个salt数值。该salt被存放在加密口令的最前面。因此,passwd文件存放的密文口令是13位。一些Unix系统,例如:HP-UX,Ultrix和BSD4.4,使用了16位或更长的salt值,这种算法称为bigcrypt()或crypt16()。
www.edu4u.com.cn
【
文章评论
】 【
收藏本文
】 【
推荐好友
】 【
打印本文
】 【
论坛讨论
】
最新文章:
·
DOS命令大全
(04-02)
·
sniffer技术原理及应用(1)
(04-02)
·
HijackThis日志细解正文(二十六)
(04-02)
·
net命令详解
(04-02)
·
网络安全教程-密码与Crack工具研究(
(04-02)
·
软件防火墙
(04-02)
·
黑客攻防技术内幕-安全破解(2)
(04-02)
·
黑客攻防技术内幕-安全破解(12)
(04-02)
·
Windows超长共享名溢出漏洞
(04-02)
·
网络世界的“后门”—讲述特殊端口的
(04-02)
相关文章:
·
DoS攻防简明问答
·
网络安全教程-密码与Crack工具研究(2)
·
net命令详解
·
网络安全教程-密码与Crack工具研究(3)
·
FTP命令大全
·
HijackThis日志细解正文(十一)
·
DOS命令大全
·
NET命令的基本用法
·
看指示灯排除ADSL故障
·
sniffer技术原理及应用(2)
文章评论:
(0条)
用户名:
(
新注册
) 密码:
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
§最新评论:
责任编辑:
中国教程网
关于我们
|
免责声明
|
版权声明
|
联系我们
|
网站地图
|
Rss订阅
|
高级搜索
|
收藏本站
© 2007 Copyright
中国教育网
DesignBy:
AOE3 STUDIO
&
ROCOCO