1.怎样获取windows的hash值
不同版本的Windows的hash获取方法不一样.用到的工具有pwdump7.exe、GetHashes.exe、SAMInside.exe、LC5、Cain、Proactive Password Auditor、Ophcrack.下面将会详细介绍如何抓取各Windows版本的系统密码hash.1、Windows 2000比较老的一个Windows版本,同时也有好几个子版本,现在还在不少服务器上跑着,虽然性能和安全性都有点跟不上时代的脚步了,但是我们也不能放过.本文主要针对服务器目标,所以测试系统为Windows 2000 高级服务器版,打了SP4补丁的,已更新所有补丁,如图1. 2000下可以用pwdump7.exe来抓取系统用户的hash,命令格式:pwdump7.exe >2000hash.txt,意思为抓取所有用户hash,并写入2000hash.txt这个文本文件,如图2. 也可以用SAMInside自带的小工具GetHashes.exe,命令格式:GetHashes.exe $local >2000.txt,意思是抓取所有用户hash并写入2000.txt这个文本文件,如图3. 还可以用图形界面的SAMInside,打开SAMInside,点击"File",然后点击"Import local Users via Scheduler",稍等一会就成功抓取到hash了,如图4、图5. 因为这个是利用Windows的计划任务来抓取的,所以Task Scheduler服务必须启动,否则抓不出来.抓到hash之后还要导出,以方便用其它更强大的破解工具进行破解工作.如果要导出所有用户的hash,就点击"File",然后点击"Export Users to PWDUMP File。
",然后保存为txt文本即可.如果只需要其中一个用户的hash,就选"Export Selected Users to PWDUMP File。",同样保存为txt文本即可,如图6. 操作都比较简单吧.SAMInside同时也是一个破解工具,可以对抓取的hash进行简单的破解工作,还自带了一个常用字典,还可以结合彩虹表进行破解,如果密码不是太复杂,在这里就可以得到密码明文了.顺便提一下Windows 2000下的另一个得到管理员密码的方法,用aio.exe(aio是All In One的缩写,是一些小工具的集合)直接读取内存中的密码,Windows 2003 SP1、SP2补丁没有打的话,也可以这样读取出来密码明文.命令格式:aio.exe -findpassword,成功读出了密码,密码为2000,如图7. 2、Windows XP&Windows 2003参照上面抓2000的,步骤都差不多.不过比较推荐用SAMInside抓取,因为pwdump7不太稳定,有时候抓到的hash不一定正确,甚至还有可能抓不出来图开界面下用SAMInside抓取,命令行下用SAMInside自带的那个小工具GetHashes.exe抓取,hash一般保存为txt文件即可.下面再介绍一些上面没提到的工具如何抓取hash,这些工具自己能抓,也能破解,比较强大.聪明的读者可能会发现上面提到的工具只出场了一部分,还有好几个都还没有露面,嘿嘿.下面就来介绍下另外几个强大的工具.LC5如果要用LC5抓取本机的hash,就依次打开"Session"->"Import"->"Local machine"稍等片刻就可以成功抓取到hash了,如果你要导入破解hash,就选"Import from file"->"From PWDUMP file"导入即可进行破解,如图8、图9. 再点击小三角形按钮就可以开始破解了.当然你还可以对破解做一些调整,"Session"->"Session Options。
",在"Btute Force Crack"选项里的"Character Set:"里可以设置字符集,默认选的是alphabet+numbers,字母和数字,如图10、图11. LC5是非常强大的,可以这么说,只要你的hash是正确的,就没有破不出来的密码,前提是你有足够的时间,我曾经试过跑一个密码用了17天(不必惊讶,以写本文之前,我已经找到了比LC5更强大的工具,破解时间大大缩短,后面将会提到^-^)CainCain我相信很多喜欢嗅探的朋友都会知道,但是你知不知道它除了嗅探之外还具备了强大的密码破解功能呢?如何用Cain来抓取hash呢,同样十分简单(试想像一下,你一边开着Cain嗅同网段其它机器的时候,一边破解已控制目标的管理员密码是一件多么酷的事情).安装Cain所需驱动WinPcap,才能启动Cain,不过如果你只是用它来破解密码,而不需要嗅探类操作的话,打开Cain的时候它提示缺少什么文件就在安装目录建一个同名dll文件即可打开(欺骗Cain,让它为我们服务,不过这样做当然不具备嗅探类功能).点选"Cracker"->"LM&NTLM Hashes",然后点下右边空白处,蓝色+号按钮即可激活,然后点击它,弹出"Add NT Hashes from"->"Import Hashes from local system"->勾选"Include Password History Hashes",然后Next,hash就抓出来了,如图12、图13. 右键单击你要破解的用户,"Brute-Force Attack"->"NTLM Hashes"->"Start",就会开始暴力破解了,如果你的密码足够简单,很快就有得出结果,当然你同样可以像LC5一样选择你觉得可能的字符集,以改善破解速度,还可以自定义字符集.Administrator的密码为2009,轻松破解,如图14、图15.。
2.如何抓取所有域用户的hashwin2008
ethashes/2011/11/safely-dumping-hashes-from-liv/en-us/library/cc754968%28v=ws.10%29.aspx
第二种也可以通杀2003到2012,但是2003里面比较麻烦,需要在图形界面中手动备份数据库才行,2008 和 2012则可以在命令行下搞定。另外用vssown.vbs复制出来的ntds.dit数据库不能用QuarksPwDump抓取。
补充:cmd shell下的抓取方式
前面讲了两种抓取所有域用户hash的方法,但是都是在交互的图形化界面中进行的。实际的渗透中,最好不要用mstsc登录域控制器,
很可能上面装有监控远程桌面登录信息的各种工具。更实际的情况应该是我们从一台成员服务器上通过远程的cmd shell抓取域用户信息。
我一般用psexec开启一个远程cmdshell,如果没有域管理员密码明文,就用wce进行hash注入,再用psexec就可以了。
第一种方法主要是vssown.vbs的操作,没有任何交互式的命令需要执行,所以没有什么特别的,在psexec下面直接操作即可
第二种方法中ntdsutil.exe的命令是交互式的,需要一步步输入,而psexec开启的shell是没办法这么做的,会直接卡死在那。
于是我尝试了下把命令写在一起,就像用netsh配置网络信息时一样,发现是可以用的,只不过有空格的地方用引号就行了。
所以ntdsutil的命令就可以写成
ntdsutil snapshot "activate instance ntds" create quit quit
ntdsutil snapshot "mount {GUID}" quit quit
copy MOUNT_POINTwindowsNTDS tds.dit c: tds.dit
ntdsutil snapshot "unmount {GUID}" quit quit
ntdsutil snapshot "delete {GUID}" quit quit
接下来就是导出hash,执行: QuarksPwDump.exe --dump-hash-domain --ntds-file c: tds.dit
具体的过程如下:
总结:
测试了这么多,最大的收获应该是mimikatz还能抓到lm hash。其实还是有很多工具可以抓到hash的,期待wce的更新,他的hash注入功能还是很实用的。
另外我发现有时候psexec在退出后,远程服务器的psexec的服务并没有被删除,这点相当危险,而且psexec会安装服务,很容易被管理员发现。
理论上psexec可以用wmi远程执行命令代替
转载请注明出处windows之家 » 怎么获取win10的hash值