攻防实战:使用
Ophcrack
破解系统
Hash
密码
Simeon
最近应
antian365
团队的安全课题研究,我负责进行系统口令攻防密码破解子课题的研究,不研究还不知道,研究后感觉在安全的领域,越是深入,越是感觉自己了解的东西太少,在密码破解上,平常用得最多的是
LC5
,关于使用
LC5
如何破解口令,请看团队撰写的《系统口令安全与审计》,
LC5
破解时间相对较长,一直以来俺都沾沾自喜,感觉自己密码破解方面还是不错的,可是通过本文的研究后,我彻底的无语了,一个不超过
14
位的系统密码一般不超过
5
分钟,绝大多数仅仅需要几十秒中,这意味着当一个系统存在漏洞时,可以在很短时间内控制并渗透内部网络!下面就将本人研究过程和研究方法跟读者朋友一起分享,也欢迎致力于网络安全的朋友加入
antian365
研究团队。
(一)查找资料
1.通过网络搜索引擎查找资料
在课题研究过程中最重要的就是查找资料,查找资料的途径主要是通过网络搜索引擎,去发现前辈们公布的研究结果。我首先通过
Google
在其搜索款中输入“
Ophcrack
”,然后选择“中文网页”,最后单击“
Google
搜索”,如图
1
所示出来有
294000
多条记录,看来“
Ophcrack
”还是比较流行的,威力巨大可见一斑!
图
1
查找
Ophcrack
资料
2.获取有关课题有用的研究资料
一般来说通过搜索引擎找出来的资料比较多,其中有很多都是重复的,一个比较好的方法就是找到一个突破口,然后逐一开展。从图
1
中首先获取了“
Ophcrack
”软件官方地址(
ophcrack.sourceforge.net
),它告诉我们
Ophcrack
是一款利用彩虹表来破解
Windows
密码的工具。其次是两篇有关
Ophcrack
的技术文章:杜莉翻译的“安全高手的利器认识彩虹哈希表破解工具”(
[url]http://tech.ccidnet.com/art/237/20070913/1211093_1.html[/url]
),昵称为“寻找人生的起点”写的“使用
Rainbow tables
和
Ophcrack
的组合工具破解
Windows
密码”(
[url]http://blog.cn-ic.org/?p=62[/url]
)。通过以上两人的文章我们了解到
Ophcrack
需要使用彩虹表,以及彩虹表生成,以及其它一些信息。
3.通过已有信息再次进行搜索和整理
通过查看他人的
blog
以及发表的文章我们对其进行分析和整理,最终获取了以下一些信息和资料:
(
1
)工具下载:
[url]http://sourceforge.net/project/showfiles.php?group_id=133599[/url]
(
2
)
Ophcrack
主页:
[url]http://ophcrack.sourceforge.net/[/url]
(
3
)英文维克关于彩虹表的定义和解释:
[url]http://en.wikipedia.org/wiki/Rainbow_table[/url]
(
4
)国内对彩虹表的研究:
[url]http://www.antsight.com/zsl/rainbowcrack/[/url]
(
5
)目前有关研究
Ophcrack
与彩虹表的相关资料。
通过以上三个步骤,我再次进行资料的分类,工具软件的下载,再此过程中分别下载了
Ophcrack
软件以及源代码,以及
Ophcrack
提供的彩虹表(
[url]http://ophcrack.sourceforge.net/tables.php[/url]
),通过查看我们知道
Ophcrack
提供了三个免费的彩虹表:
(
1
)
XP free small (380MB)
标识:
SSTIC04-10k
破解成功率:
99.9%
字母数字表:
123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
一句话该表有大小写字母加数字生成,大小为
388MB
,包含所有字母数字混合密码中
99.9%
的
LanManager
表。这些都是用大小写字母和数字组成的密码(大约
800
亿组合)。
由于
LanManager
哈希表将密码截成每份
7
个字符的两份,我们就可以用该表破解长度在
1
到
14
之间的密码。由于
LanManager
哈希表也是不区分大小写的,该表中的
800
亿的组合就相当于
12*10
的
11
次方(或者
2
的
83
次方)个密码,因此也被称为“字母数字表
10K
”。
(
2
)
XP free fast (703MB)
标识:
SSTIC04-5k
成功率:
99.9%
字母数字表:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
字母数字表
5k
大小为
703MB
包含所有字母数字组合的密码中
99.9%
的
LanManager
表。但是,由于表变成
2
倍大,如果你的计算机有
1GB
以上的
RAM
空间的话,它的破解速度是前一个的
4
倍。
(
3
)
XP special (7.5GB)
标识:
WS-20k
成功率:
96%
XP special
扩展表
7.5GB
,包含最长
14
个大小写字母、数字以及下列
33
个特殊字符(
!"#$%&'()*+,-./:;<=>?@[\]^_`{|} ~
)组成的密码中
96%
的
LanManager
表。该表中大约有
7
兆的组合,
5*10
的
12
次方(或者
2
的
92
次方)密码,该表需要花钱购买。
(
4
)破解
Vista
的彩虹表
Vista free (461MB)
是免费用来破解
Vista
的
hash
密码,而
Vista special (8.0GB)
需要购买。
小知识:
LM
又叫
LanManager
,它是
Windows
古老而脆弱的密码加密方式。任何大于
7
位的密码都被分成以
7
为单位的几个部分,最后不足
7
位的密码以
0
补足
7
位,然后通过加密运算最终组合成一个
hash
。所以实际上通过破解软件分解后,
LM
密码破解的上限就是
7
位,这使得以今天的
PC
运算速度在短时间内暴力破解
LM
加密的密码成为可能(上限是两周),如果使用
Rainbow tables
,那么这个时间数量级可能被下降到小时。
(二)对下载的工具进行试验
1.安装Ophcrack软件
Ophcrack
软件的安装过程非常简单,按照提示安装即可,在安装过程需要特别注意,不要选择下载彩虹表,安装设置中会提供三个下载选项,分别下载
WinXP
(
380MB
)、
Winxp
(
703MB
)和
Vista
(
461MB
)彩虹表,如图
2
所示,笔者在安装过程中选择它后下载了数个小时,这个表可以在程序安装完成后再下载。否则安装
Ophcrack
软件要等彩虹表下载完成后才能使用。
图
2
安装时建议不下载彩虹表
2.使用Ophcrack软件
从程序菜单中直接运行
Ophcrack
软件,如图
3
所示,该软件主要有“
Load
”、“
Delete
”、“
Save
”、“
Table
”、“
Crack
”、“
Help
”以及“
Exit
”七大主要模块,“
Load
”主要负责装载
Hash
或者
sam
文件。“
Delete
”主要用来删除破解条目,“
Save
”主要保存破解结果或者破解
session
,“
Table
”主要用来设置彩虹表,“
Crack
”是开始执行破解,“
Help
”是查看帮助文件,呵呵,“
Exit
”俺就不说了。
图
3 Ophcrack
软件主界面
3.下载彩虹表
可以到
Ophcrack
提供的彩虹表下载地址(
[url]http://ophcrack.sourceforge.net/tables.php[/url]
)去下载,在本案例中分别下载了三个免费的彩虹表。
4.设置彩虹表
在
Ophcrack
软件主界面中单击“
Table
”,接着就会出来如图
4
所示的
Table Selection
界面,在缺省状态下,所有表都没有安装,通过该界面我们了解到一共有
8
个彩虹表,其中有三个是免费的。
图
4
选择彩虹表
然后单击并选中其中的一个条目,例如在本例中选择“
Xp free fast
”,然后单击“
Install
”按钮,系统会自动到
Ophcrack
软件的安装目录,不过本例是将三个压缩文件解压到
F
盘,如图
5
所示,选择“
Tables
”即可,然后一次安装所获取的其它二个彩虹表。
图
5
选择要安装的彩虹表
注意:
(
1
)在
Ophcrack
软件中其彩虹表的上级目录名称必须为“
tables
”,否则彩虹表安装不会成功。
(
2
)彩虹表安装成功后,其条目会变成绿色,且可以查看一共有多少个表,如图
6
所示。
图
6
彩虹表安装成功
5.准备破解材料
这里的破解材料主要是指通过
GetHashes
、
Pwdump
等软件获取的系统
Hash
密码值。如果没有,就自己想办法获取一个吧。
6.开始破解
(
1
)加载
sam
文件
单击“
Load
”按钮,选择“
PWDUMP file
”,如图
7
所示,一共有
6
个选项,第一个主要用于对单个
Hash
的破解,第二个是对获取的
Pwdump
文件进行破解,第三个是对加密的
sam
文件进行破解,第四个和第五个主要用来审计或者破解本地和远程
Hash
密码。
图
7
选择破解类型
(
2
)查看
HASH
密码值
在本例中选择一个已经
Pwdump
的文件,如果
pwdump
系统的
hash
密码没有错误,则会在
Ophcrack
软件主界面中正确显示,如图
8
所示,在主界面中分别显示“
User
”、“
LM Hash
”、“
NT Hash
”、“
LM Pwd 1 ” 、“LM Pwd 2 ” 以及“NT pwd
”等信息。
图
8
显示获取的
Hash
密码值
(
3
)清理无用
Hash
值
在本例中“
IUSR_XFFZD-R 1 ” 、“TWWM_XFZD-SER 1 ” 和“TsInternetUser
”这三个用户是系统自身的,在口令破解中基本没有用处,除非有人对该账号进行了克隆,因此可以分别选中需要删除的账号,然后单击主界面“
Delete
”按钮,删除这三个无用的账号以及我添加的“
king$
”账号,仅仅留下并破解管理员账号,清理完毕后如图
9
所示。
图
9
清理无用用户的
Hash
密码值
(
4
)执行破解
单击“
Crack
”案例开始破解,很快就破解出来了密码为“
www 119 ” ,其“LM Pwd 1 ” 值跟“NT pwd
”相同,破解密码的时间仅仅“
37s
”。
图
10
破解系统密码成功
(
5
)查看破解统计信息
在主界面中单击“
statistics
”,可以查看关于破解
hash
密码值的普通和详细信息,如图
11
所示。
图
11
查看所破解密码的有关统计信息
(
6
)破解参数设置
单击“
Preferences
”打开破解参数设置窗口,如图
12
所示,可以设置破解的线程,破解方式,是否隐藏用户名等。
图
12
设置破解参数
(三)彩虹表破解密码防范策略
通过彩虹表来破解密码使得入侵者可以很方便的获取系统的口令,从而“正常”登录系统,让管理员或者计算机的主人不太容易发现。通过研究,发现可以通过两种方式来加强系统口令的安全。
1.通过设置超过一定位数的密码来加固口令安全
使用彩虹表破解
14
位以下的密码相对容易,对于普通入侵者来说仅仅有三个免费表,因此破解的强度相对要弱一些,因此可以通过增加密码设置的位数来加固系统口令安全。笔者建议设置超过
32
位的密码来加固系统的口令安全。关于口令的设置技巧有很多,在我们研究的专题中曾经提到过,在此为了照顾新朋友,可以再提一次密码设置的技巧:
通过一句话来设置密码,例如“
2008-8
月我国举办了奥运会,我去北京鸟巢观看了比赛,感觉很爽!”。可以这样设置“
2008-8ywgjblayh,wqbjlcgklbs,gjhs!
”,关于时间全取,标点符号全取,其他汉字取第一个字母,该密码长度为
33
位,如果再想长一点,还可以增加。其本质就是选择一句话或者诗词中的某一段来设置,容易记住,且安全强度高。
2. 使用NTLM方式加密
LM
这种脆弱的加密方式在
Windows2003
还在使用,可以通过更改加密方式为
NTLM
,从而提高系统口令的安全,笔者在很多案例中也曾经发现通过
pwdump
以及
GetHashes
软件获取了
hash
值,但
LC5
以及
Ophcrack
软件均不能破解。
可以通过设定注册表参数禁用
LM
加密,代之以
NTLM
方式加密方法如下:
(
1
)打开注册表编辑器;
(
2
)定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
;
(
3
)选择菜单“编辑”,“添加数值”;
(
4
)数值名称中输入:
LMCompatibilityLevel
,数值类型为:
DWORD
,单击“确定”;
(
5
)双击新建的数据,并根据具体情况设置以下值:
0 -
发送
LM
和
NTLM
响应;
1 -
发送
LM
和
NTLM
响应;
2 -
仅发送
NTLM
响应;
3 -
仅发送
NTLMv2
响应;
(Windows 2000
有效
)
4 -
仅发送
NTLMv2
响应,拒绝
LM
;
(Windows 2000
有效
)
5 -
仅发送
NTLMv2
响应,拒绝
LM
和
NTLM
;
(Windows 2000
有效
)
(
6
)关闭注册表编辑器;
(
7
)重新启动机器
在
Windows NT SP3
引入了
NTLM
加密,在
Windows 2000
以后逐步引入的
NTLM 2.0
加密。但是
LM
加密方式默认还是开启的,除非通过上面的方法刻意关闭它。
最后为antian365.com打一个广告,哈哈,欢迎爱好安全的朋友前来共同探讨和学习安全技术!
本文出自 “simeon技术专栏” 博客,谢绝转载!