如何导出Windows哈希系列一

2013-08-28 234760人围观 ,发现 21 个不明物体 系统安全

什么是SAM文件?

引用自百度百科:

SAM是windows系统的一个系统用户账号管理文件。其全称为security account manager Windows中对用户账户的安全管理使用了安全账号管理器SAM(security account manager)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识都时完全不同的。因此,一旦某个账号被删除,它的安全标识就不再存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原来的权限。
文件位置:C:\windows\system32\config\SAM
SAM 文件一旦丢失,会失去所有用户账号。

通常来讲,拿到一个计算机权限后,我们都会导出系统HASH来进行破解,以便进行接下来的渗透行为。

下面根据几种接触模式来分别讲一下如何获取系统HASH:

物理接触

结合社会工程学的物理接触时,最简便的方法就是关掉计算机电源,BIOS里进行U盘启动或者CD启动,引导我们所准备的工具,进而进行导出哈希操作。

bkhive - dumps the syskey bootkey from a Windows system hive.
samdump2 - dumps Windows 2k/NT/XP/Vista password hashes.

使用方法:

# bkhive
bkhive 1.1.1 by Objectif Securite

http://www.objectif-securite.ch

original author: ncuomo@studenti.unina.it 
Usage:
bkhive systemhive keyfile
# samdump2
samdump2 1.1.1 by Objectif Securite

http://www.objectif-securite.ch

original author: ncuomo@studenti.unina.it 
Usage:
samdump2 samhive keyfile

下面是一个引导进入linux的导出实例:

# mkdir -p /mnt/sda1
# mount /dev/sda1 /mnt/sda1
# bkhive /mnt/sda1/Windows/System32/config/SYSTEM /tmp/saved-syskey.txt
# samdump2 /mnt/sda1/Windows/System32/config/SAM /tmp/saved-syskey.txt > /tmp/hashes.txt

在获得到HASH后,后续可以使用 Cain & Abelcreddump 或 mimikatz 工具来进行整理分析。

直接绕过系统密码

如果你不想导出HASH这么麻烦,就是为了拿身边电脑上的一个文件,甚至进去之后双击个自己U盘的exe,那就可以试试直接绕过的方法,这里简单介绍几款小工具。

BootRoot 2005黑帽的一个项目,我没有测试过,有兴趣的可以自己点链接了解一下。

SysRQ2    这款可以绕过Vista以下的系统。

Kon-Boot 首推这款工具,目前国内的WinPE有不少已经自带了,我在实际中也经常使用这个,目前最新版本可以绕过全Windows系列,Mac OSX部分,Linux部分。收费版,网络上有破解。

重置系统密码

如果你不担心被发现,或者原本就是你自己的电脑,那你就直接重置密码。
记得很早以前有个方法就是删除SAM文件做到清空系统密码的目的,我测试了没用,可能是因为环境问题。这个时候又会有人说国内的WinPE很多自带了,那没办法,我还是说两个看上去专业的工具吧:

bootdisk
chntpw

已有控制权限

在已经通过各种方法进了系统之后,我的建议是先获得一个SYSTEM权限的CMDSHELL,这样方便后续的操作。

很简单:

C:\>psexec.exe -i -s cmd.exe

(这条命令是可以绕过UAC的)

那么接下来先导出个注册表感受一下:
regback.exe 这个工具不知道大家是否了解,两条命令:

C:\>regback.exe C:\backtemp\SAM machine sam
C:\>regback.exe C:\backtemp\SYSTEM machine system

如果是Win 2K以上那就简单了:

C:\>reg save hklm\sam C:\sam.hive
C:\>reg save hklm\system C:\system.hive
C:\>reg save hklm\security C:\security.hive

如果你实在闲着无聊,还有两个目录供你选择:

C:\Windows\repair\
C:\Windows\System32\config\

不过在实际测试中,这两个目录获取到的HASH有时候不是最新的。

并且,这两个目录是没办法直接拷贝的,关于如何拷贝正在使用中的文件,那肯定是使用微软的卷影复制技术(VSC,Volume Shadow Copy Management)。

比较成熟的工具有Robocopy,如果exe不能用,那就用VBS脚本:vssown.vbs。

读取内存中的密码

如何读取LSASS中的密码,这个好像在最近几年不是什么新话题了,各种工具都可以。
以前比较常用的fgdump,然后就是pwdump6,Vista出了之后,pwdump7gsecdump就有了。

WCE我觉得真没必要说了,从WCE 1.3 Beta开始就可以抓明文,当时看雪出了个mimikatz抓明文掀起一阵腥风血雨,一个个都嚷嚷着Windows出大漏洞了,我想说那时候WCE 1.3 Beta的抓明文出了好久了好么。

C:\>WCE.exe -w

另外MSF也可以抓内存中的明文,具体不多说,大家自行查阅。

Part 1结束,欢迎各位吐槽。
(本文根据老外的一篇文章而来,文章框架和部分内容转载。)

这些评论亮了

  • Mystery。 (6级) 403Art Co-Funder 回复
    @helen 这才Part 1,总共7个Part,别急亲爱的Helen大牛。
    )8( 亮了
发表评论

已有 21 条评论

取消
Loading...

特别推荐

关注我们 分享每日精选文章

css.php