前面已经讲过了什么是彩虹表,如果还不知道什么是彩虹表的朋友请先看:普及彩虹表知识。接下来通过实例来介绍如何通过彩虹表破解windows Hash。再开始之前,有必要详细解释一下Windows Hash,Windows Hash有两种:LM(Lan Manage) Hash和NTLM(New Technology Lan Manage) Hash:
1. LM Hash: 将密码分成n(n为1-2)个7字节一段,不足的补0,然后每段加一个字节的校验,采用DES加密存储。
2. NTLM Hash: 采用MD4+RSA加密存储。
其中9X系列操作系统采用的是LM;2K、XP、2K3为了保持兼容性,同时采用了LM和NTLM;Vista,2008,Win7采用的是NTLM。
现在开始进入正题。先说一下思路吧:先通过Pwdump6导出windows hash文件->使用ophcrach破解。文中会用到3个工具:pwdump6、XP free fast (彩虹表)、ophcrack,点击这些链接即可以到达下载页。
第一步:导出windows hash文件
此步骤要求在远程主机上有一个拥有administrators权限的用户账号,并且开启了IPC$,Admin$共享(默认是开启的),才能用PWDUMP获取windows hash。看到这里你也许会问:如果在远程主机上有管理权限的用户帐号了,那破解还有什么意义呢?其实意义可大了,比如你通过溢出或者Web入侵获得了远程主机的shell,为了不让管理员注意到,又能方便下次进入到此主机,我们就得破解现有用户的密码;同时,我们通过破解得到此主机上的密码,利用收集到的情报进行综合分析,很容易的就可以进入到网内的其他主机。废话到此打住,现在开始正式工作。将下载下来在Pwdump解压,再命令提示符下切换到Pwdump目录,执行如下命令:
- PwDump.exe -u username -p password -o win.hash host
- #username为具有管理员权限的用户名;
- #password为密码;
- #host为开启了IPC$、admin$共享的计算机名或ip地址;
执行完成后会在Pwdump目录下生成一个win.hash,这就是我们需要的Windows Hash文件。OK,第一步完成!
第二步:开始破解
将下载下来的ophcreak安装好后运行ophcreak,ophcreak的界面如下:

A. 安装彩虹表:
点击"Tables"按钮弹出"Table Selection"界面,在"Table Selection"界面选这相应的彩虹表,我们下载的是XP free fast (703MB),所以这里我们选"XP free fast",然后点击"Install",选择解压后的彩虹表路径(路径中不能有汉字),点击确定,当彩虹表名字前面的圆点由红色变成了绿色,即完成了彩虹表的正确安装。
B. 加载Windows Hash:
点击"Load"按钮,在弹出的下拉菜单中选"Pwdump file",选择我们刚才导出的"win.hash"文件,即完成了Windows Hash的载入。如下图所示:

C. 开始破解
配置好后,点击Crack按钮,开始破解。呵呵,下面是我的破解结果,仅仅花了4分多钟,很快吧!

附录:
引用资料:
http://www.aiezu.com/soft/Pwdump6.rar
http://ophcrack.sourceforge.net/tables.php
http://ophcrack.sourceforge.net/download.php?type=ophcrack
在我们日常工作中,通常会遇到大批重复繁琐的工作。如定时备份数据库、整理磁盘、清理垃圾等。为了不让这些重复看上去没有意义的事情占住了我们宝贵的时间,我们通常会写一个WSH脚本或DOS批处理,把它们添加到计划任务里面,让计算机按时自动完成。
WSH是“ Windows Script Host ”简称,其中文译名为“Windows脚本宿主”。形象点说,它是多种脚本语言的解析器。顾名思义,它运行在Windows平台,默认支持Javascript和Vbscript脚本,通过第三方扩展引擎,还可以支持Perl、Python、REXX脚本解析运行。
跟高级程序语言相比,WSH有如下优点:
功能强大:能用WSH脚本完成大部分Windows任务;
简单易学:它使用了Vbsscript、Javascript等简单却功能强大的脚本语言编写;
容易编辑:直接用记事本就可以编辑;
无需编译:用记事本编写后根据脚本语言保存相应的后缀,直接双击即可运行。
下面是用VBSCRIPT编写的一些常用的WSH脚本:
1. 整理磁盘碎片dfrg.vbs:
- '将文保存为"dfrg.vbs"文件添加到计划任务或者直接双击运行
- set WshShell = CreateObject("WScript.Shell")
- WshShell.Run "dfrg.msc"
- WScript.Sleep 1000
- While WshShell.AppActivate("磁盘碎片整理程序") = FALSE
- wscript.sleep 1000
- Wend
- WshShell.AppActivate "磁盘碎片整理程序"
- WScript.Sleep 200
- WshShell.SendKeys "%A" '按下“ALT+A”打开下拉菜单
- WScript.Sleep 200
- WshShell.SendKeys "D" '按下“D”键
- While WshShell.AppActivate("磁盘碎片整理完毕") = FALSE '整理完毕后等待5秒钟
- wscript.sleep 5000
- Wend
- WshShell.AppActivate "磁盘碎片整理完毕"
- WScript.Sleep 200
- WshShell.Sendkeys "{TAB}"
- Wscript.Sleep 500
- WshShell.Sendkeys "{ENTER}"
- Wscript.Sleep 500
- WshShell.Sendkeys "%{F4}" '按下“ALT+F4”关闭整理程序
2. 登陆QQ脚本loginQQ.vbs:
- dim program1
- program1="D:\Program Files\Tencent\QQ\Bin\QQ.exe"
- set wshshell=CreateObject("wscript.shell")
- set oexec=wshshell.exec(program1)
- wscript.sleep 2000
- wshshell.appactivate "QQ2010"
- wshshell.sendkeys "+{TAB}"
- wshshell.sendkeys "465272"
- wscript.sleep 2000
- wshshell.sendkeys "{TAB}"
- wshshell.sendkeys "qqpass"
- wscript.sleep 2000
- wshshell.sendkeys "{ENTER}"
- Wscript.quit
1. 什么是彩虹表(Rainbow Table)
简单通俗的说,彩虹表就是一张采用各种加密算法生成的明文和密文的对照表。在彩虹表中,表内的每一条记录都是一串明文对应一种加密算法生成的一串密文。 我们得到一串加密字符以及其采用的加密算法后,通过使用相关软件对彩虹表进行查找、比较、运算,能够迅速得出此加密字符串对应的明文,从而实现了对密文破解。 正因为彩虹表采用这种笨拙的方式一一穷举存储明文和密文的所有组合,所以彩虹表是非常庞大的。根据密文所对应明文的长度和复杂度(包含的字符类型:数字,字母,特殊字符等),常用到的彩虹表大小从几百M到几十G不等。 当然,彩虹的大小从理论上来说是可以无穷大的。
2. 如何得到彩虹表(Rainbow Table)
A. 使用Winrtgen生成彩虹表:
Cain是一款功能非常丰富的密码破解软件,Cain常用来破解LM&NTLM、MD5、MYSQL等加密算法生成的Hash。在Cain中自带了Winrtgen.exe,用来生成彩虹表,协助Cain破解Hash。
下面使用Cain v4.9.35中自带的Winrtgen v2.9介绍如何生成彩虹表。
在http://www.onlinedown.net/soft/53494.htm页面下载并安装Cain v4.9.35。安装完成后,打开Cain v4.9.35的安装目录,在Winrtgen子目录下找到并运行Winrtgen.exe。Winrtgen的界面是英文的,如下图所示:

接下来点击"Add Table",来到彩虹表配置界面:

这里我们首先需要设置的是"Hash"、"Min Len"、"Max Len"、"charset"等四个地方。其中"Hash"决定采用何种加密算法来生成彩虹表,"Min Len"和"Max len”决定密码的长度范围,"Charset"决定密码的复杂度。接下来设置的就是"Chain Len"、"Chain Count"、"N of tables"了,它们是用来控制所生成表破解成功率的,软件下面的"Success probability"值就是当前选项的破解成功率。当然是越接近100%越有用了,要不生成后破不了还有什么意义。表分割得越细,成功率就越高,生成的表体积也越大,所需时间也越长。
设置好后点击"OK"返回到Winrtgen主界面,点击"Start"开始生成彩虹表。这里会显示彩虹表的生成进度,几乎可以说是一个漫长的过程。呵呵,可以扔在这里不管,去干别的事情了:

生成的彩虹表会保存在Winrtgen.exe文件的同一目录下。
B. 网络下载:
生成彩虹表是一件很耗时间的事,而且如果配置得不过专业,生成的彩虹表破解能力非常不理想的。所以,如果拥有比较高的带宽,我还是建议直接到互联网上下载彩虹表,这样既能省很多时间又减少了麻烦。下面的几个网址是可以快速的下载到彩虹表:
freerainbowtables: http://www.freerainbowtables.com/
freerainbowtables提供了多种加密算法生成的彩虹表下载,包括LM、NTLM、MD5、SHA1等。freerainbowtables上面的彩虹表是非常齐全的。其中大部分是免费的,只有小部分需要付费才能下载,如1.5TB的彩虹表需要500美元。 当然,我们只是玩玩,就没必要花那么多钱去买这么庞大的彩虹表了。
Ophcrack: http://ophcrack.sourceforge.net/tables.php
如果你只是破解Windows的LM & NTLM Hash,我推荐你到Ophcrack网站上面下载。上面的彩虹表就是用来配合ophcrach软件,专门破解Windows LM & NTLM Hash的。 我曾经用ophcrack+XP free small(380MB)破解公司域中通过pwdump6得到的1000多个LM Hash仅仅花了4个多小时,而且破解成功率高达96%,可见效果是十分理想的。下载时有一点需要注意的是,windows2003以前的windows操作系统的密码采用的LM算法加密,而Vista、Win7、Win2008采用的是NTLM,NTLM比LM安全得多。
RainbowCrack: http://project-rainbowcrack.com/table.htm
这个网站上面也可以下载彩虹表.
3. 如何使用彩虹表(Rainbow Table)
彩虹表工具很多,黑客常用到的彩虹表工具有Ophcrack、rcracki_mt、Cain等,我会在接下来的两篇文章介绍使用彩虹表破解LM Hash和MD5 Hash。
附录:
文中引用的相关资料:
Cain: http://www.onlinedown.net/soft/53494.htm
freerainbowtables: http://www.freerainbowtables.com/
Ophcrack: http://ophcrack.sourceforge.net/tables.php
RainbowCrack: http://project-rainbowcrack.com/table.htm
扫描器是一种能够自动检测主机安全性弱点的程序。扫描器通过发送特定的网络数据包,记录目标主机的应答消息,从而收集关于目标主机的各种信息。目前网络上有很多扫描软件,比较著名的扫描器有SSS,X-Scan,Superscan等,功能最强大的当然是Nmap了。
Nmap(Network Mapper)是一款开放源代码的网络探测和安全审核工具。它用于快速扫描一个网络和一台主机开放的端口,还能使用TCP/IP协议栈特征探测远程主机的操作系统类型。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。Nmap最初是用于UNIX系统的命令行应用程序。在2000年的时候,这个应用程序有了Windows版本,可以直接安装使用。
Nmap命令的格式为:
Nmap [ 扫描类型 ... ] [ 通用选项 ] { 扫描目标说明 }
下面对Nmap命令的参数按分类进行说明:
1. 扫描类型
| -sT | TCP connect()扫描,这是最基本的TCP扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。 |
| -sS | TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。这项技术最大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。 |
| -sF,-sX,-sN | 秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC 793第64页)。 |
| -sP | ping扫描,用ping方式检查网络上哪些主机正在运行。当主机阻塞ICMP echo请求包是ping扫描是无效的。nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。 |
| -sU | 如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用此选项。 |
| -sA | ACK扫描,这项高级的扫描方法通常可以用来穿过防火墙。 |
| -sW | 滑动窗口扫描,非常类似于ACK的扫描。 |
| -sR | RPC扫描,和其它不同的端口扫描方法结合使用。 |
| -b | FTP反弹攻击(bounce attack),连接到防火墙后面的一台FTP服务器做代理,接着进行端口扫描。 |
2. 通用选项
| -P0 | 在扫描之前,不ping主机。 |
| -PT | 扫描之前,使用TCP ping确定哪些主机正在运行。 |
| -PS | 对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。 |
| -PI | 设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。 |
| -PB | 这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。 |
| -O | 这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型。 |
| -I | 打开nmap的反向标志扫描功能。 |
| -f | 使用碎片IP数据包发送SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。 |
| -v | 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。 |
| -S <IP> | 在一些情况下,nmap可能无法确定你的源地址(nmap会告诉你)。在这种情况使用这个选项给出你的IP地址。 |
| -g port | 设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接。显然,如果攻击者把源端口修改为20或者53,就可以摧毁防火墙的防护。 |
| -oN | 把扫描结果重定向到一个可读的文件logfilename中。 |
| -oS | 扫描结果输出到标准输出。 |
| --host_timeout | 设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。 |
| --max_rtt_timeout | 设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约9000毫秒。 |
| --min_rtt_timeout | 设置nmap对每次探测至少等待你指定的时间,以毫秒为单位。 |
| -M count | 置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描。 |
3. 扫描目标
| 目标地址 | 可以为IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24 |
| -iL filename | 从filename文件中读取扫描的目标。 |
| -iR | 让nmap自己随机挑选主机进行扫描。 |
| -p | 端口 这个选项让你选择要进行扫描的端口号的范围。如:-p 20-30,139,60000。 |
| -exclude | 排除指定主机。 |
| -excludefile | 排除指定文件中的主机。 |
举例:
- nmap -v www.hao123.com
nmap -sS -O 192.168.1.23/24
nmap -sX -p 22,53,110,143,4564 128.210.*.1-127
nmap -v --randomize_hosts -p 80 *.*.2.3-5
host -l company.com | cut -d -f 4 | ./nmap -v -iL -
<a href='http://www.tunedairchaussures.com'> TN NIKE PAS CHE
<a href="http://www.tnstocker.com" target="_blank">TN NIKE P
<a href='http://www.maniketn.com'> TN NIKE PAS CHER </a> <a
greats piosts
I dont know what to say. This blog is fantastic
This is a good article, with its own style and characteristi
so what in that we think we're so proud of you.you have a go
© Copy 2010 Aiezu.Com. All rights reserved. Powered by Aiezu.com.