Shadow 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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Intro
์ด ๊ธฐ์ ์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ ์๋ณธ ๊ฒ์๋ฌผ์ ํ์ธํ์ธ์.
์์ฝ: ์ฌ์ฉ์์ msDS-KeyCredentialLink ์์ฑ์ ์ธ ์ ์๋ค๋ฉด, ํด๋น ๊ฐ์ฒด์ NT ํด์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๊ฒ์๋ฌผ์์๋ ๊ณต๊ฐ-๋น๊ณต๊ฐ ํค ์ธ์ฆ ์๊ฒฉ ์ฆ๋ช ์ ์ค์ ํ์ฌ ๋์์ NTLM ํด์๋ฅผ ํฌํจํ๋ ๊ณ ์ ํ ์๋น์ค ํฐ์ผ์ ํ๋ํ๋ ๋ฐฉ๋ฒ์ด ์ค๋ช ๋์ด ์์ต๋๋ค. ์ด ๊ณผ์ ์๋ ์ํธํ๋ NTLM_SUPPLEMENTAL_CREDENTIAL์ด ํฌํจ๋ ๊ถํ ์์ฑ ์ธ์ฆ์(PAC)๊ฐ ํฌํจ๋๋ฉฐ, ์ด๋ ๋ณตํธํํ ์ ์์ต๋๋ค.
Requirements
์ด ๊ธฐ์ ์ ์ ์ฉํ๋ ค๋ฉด ํน์ ์กฐ๊ฑด์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค:
- ์ต์ ํ๋์ Windows Server 2016 ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ๊ฐ ํ์ํฉ๋๋ค.
- ๋๋ฉ์ธ ์ปจํธ๋กค๋ฌ์๋ ์๋ฒ ์ธ์ฆ ๋์งํธ ์ธ์ฆ์๊ฐ ์ค์น๋์ด ์์ด์ผ ํฉ๋๋ค.
- Active Directory๋ Windows Server 2016 ๊ธฐ๋ฅ ์์ค์ด์ด์ผ ํฉ๋๋ค.
- ๋์ ๊ฐ์ฒด์ msDS-KeyCredentialLink ์์ฑ์ ์์ ํ ์ ์๋ ๊ถํ์ด ์์๋ ๊ณ์ ์ด ํ์ํฉ๋๋ค.
Abuse
์ปดํจํฐ ๊ฐ์ฒด์ ๋ํ Key Trust์ ๋จ์ฉ์ ํฐ์ผ ๋ถ์ฌ ํฐ์ผ(TGT) ๋ฐ NTLM ํด์๋ฅผ ์ป๋ ๊ฒ์ ๋์ด์๋ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค. ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์๋ํ ํธ์คํธ์์ ํน๊ถ ์ฌ์ฉ์๋ฅผ ๊ฐ์ฅํ๊ธฐ ์ํด RC4 ์ค๋ฒ ํฐ์ผ์ ์์ฑํฉ๋๋ค.
- S4U2Self์ ํจ๊ป TGT๋ฅผ ์ฌ์ฉํ์ฌ ํน๊ถ ์ฌ์ฉ์๋ฅผ ๊ฐ์ฅํ๋ฉฐ, ์๋น์ค ์ด๋ฆ์ ์๋น์ค ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด ์๋น์ค ํฐ์ผ์ ์์ ํด์ผ ํฉ๋๋ค.
Key Trust ๋จ์ฉ์ ์ค์ํ ์ฅ์ ์ ๊ณต๊ฒฉ์๊ฐ ์์ฑํ ๊ฐ์ธ ํค๋ก ์ ํ๋์ด ์์ด ์ ์ฌ์ ์ผ๋ก ์ทจ์ฝํ ๊ณ์ ์ผ๋ก์ ์์์ ํผํ๊ณ , ์ ๊ฑฐํ๊ธฐ ์ด๋ ค์ธ ์ ์๋ ์ปดํจํฐ ๊ณ์ ์ ์์ฑํ ํ์๊ฐ ์๋ค๋ ์ ์ ๋๋ค.
Tools
###ย Whisker
์ด ๋๊ตฌ๋ DSInternals๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์ด ๊ณต๊ฒฉ์ ์ํ C# ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. Whisker์ ๊ทธ Python ๋ฒ์ ์ธ pyWhisker๋ msDS-KeyCredentialLink ์์ฑ์ ์กฐ์ํ์ฌ Active Directory ๊ณ์ ์ ์ ์ดํ ์ ์๊ฒ ํด์ค๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๋์ ๊ฐ์ฒด์์ ํค ์๊ฒฉ ์ฆ๋ช
์ ์ถ๊ฐ, ๋์ด, ์ ๊ฑฐ ๋ฐ ์ง์ฐ๋ ๋ค์ํ ์์
์ ์ง์ํฉ๋๋ค.
Whisker ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Add: ํค ์์ ์์ฑํ๊ณ ํค ์๊ฒฉ ์ฆ๋ช ์ ์ถ๊ฐํฉ๋๋ค.
- List: ๋ชจ๋ ํค ์๊ฒฉ ์ฆ๋ช ํญ๋ชฉ์ ํ์ํฉ๋๋ค.
- Remove: ์ง์ ๋ ํค ์๊ฒฉ ์ฆ๋ช ์ ์ญ์ ํฉ๋๋ค.
- Clear: ๋ชจ๋ ํค ์๊ฒฉ ์ฆ๋ช ์ ์ง์ ํฉ๋ฒ์ ์ธ WHfB ์ฌ์ฉ์ ๋ฐฉํดํ ์ ์์ต๋๋ค.
Whisker.exe add /target:computername$ /domain:constoso.local /dc:dc1.contoso.local /path:C:\path\to\file.pfx /password:P@ssword1
pyWhisker
UNIX ๊ธฐ๋ฐ ์์คํ ์ Whisker ๊ธฐ๋ฅ์ ํ์ฅํ๋ฉฐ, ํฌ๊ด์ ์ธ ์ ์ฉ ๊ธฐ๋ฅ์ ์ํด Impacket๊ณผ PyDSInternals๋ฅผ ํ์ฉํ์ฌ KeyCredentials๋ฅผ ๋์ด, ์ถ๊ฐ ๋ฐ ์ ๊ฑฐํ๊ณ , JSON ํ์์ผ๋ก ๊ฐ์ ธ์ค๊ณ ๋ด๋ณด๋ด๋ ๊ธฐ๋ฅ์ ํฌํจํฉ๋๋ค.
python3 pywhisker.py -d "domain.local" -u "user1" -p "complexpassword" --target "user2" --action "list"
ShadowSpray
ShadowSpray๋ ๋๋ฉ์ธ ๊ฐ์ฒด์ ๋ํด ๋์ ์ฌ์ฉ์ ๊ทธ๋ฃน์ด ๊ฐ์ง ์ ์๋ GenericWrite/GenericAll ๊ถํ์ ์ ์ฉํ์ฌ ShadowCredentials๋ฅผ ๊ด๋ฒ์ํ๊ฒ ์ ์ฉํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋๋ฉ์ธ์ ๋ก๊ทธ์ธํ๊ณ , ๋๋ฉ์ธ์ ๊ธฐ๋ฅ ์์ค์ ํ์ธํ๊ณ , ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ ์ด๊ฑฐํ๋ฉฐ, TGT ํ๋ ๋ฐ NT ํด์ ๊ณต๊ฐ๋ฅผ ์ํ KeyCredentials ์ถ๊ฐ๋ฅผ ์๋ํ๋ ๊ณผ์ ์ด ํฌํจ๋ฉ๋๋ค. ์ ๋ฆฌ ์ต์ ๊ณผ ์ฌ๊ท์ ์ ์ฉ ์ ์ ์ด ์ ์ฉ์ฑ์ ๋์ ๋๋ค.
References
- https://posts.specterops.io/shadow-credentials-abusing-key-trust-account-mapping-for-takeover-8ee1a53566ab
- https://github.com/eladshamir/Whisker
- https://github.com/Dec0ne/ShadowSpray/
- https://github.com/ShutdownRepo/pywhisker
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


