Adversary Simulation


Demo Video ๐Ÿ“น


์‚ฌ์šฉ๋œ ํˆด ๋ชฉ๋ก ๐Ÿงฐ


Golden SAML

Backgrounds: Golden SAML

AD FS(Active Directory Federation Service)๋Š” IdP(Identity Provider)๋กœ์„œ ๋„๋ฉ”์ธ ๋‚ด์—์„œ ์‹ ๋ขฐ๋ฐ›๋Š” SP(Service Provider), ์˜ˆ๋ฅผ ๋“ค์–ด, AWS, M365, Github ๋“ฑ์—๊ฒŒ ๋„๋ฉ”์ธ ์‚ฌ์šฉ์ž์˜ Identities๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

ํ”ํžˆ ์•Œ๊ณ ์žˆ๋Š” SSO(Single Sign-On)์„ ์กฐ์ง ๋‚ด์—์„œ ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ์ค‘์•™์ง‘์ค‘ํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐœ๋…์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

์ •์ƒ ๋™์ž‘ ์›๋ฆฌ

  1. [Client] AD FS sts(portal)์— ์ ‘์†ํ•˜์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค ๋ชฉ๋ก์„ ํ™•์ธ, AWS ์„ ํƒ

  2. [Client โ†’ AD FS] AD ์‚ฌ์šฉ์ž ID/PW ์ž…๋ ฅํ•˜์—ฌ AD FS์— ์ธ์ฆ ์š”์ฒญ

  3. [AD FS โ†’ AD DS] AD ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ํ™•์ธ ์š”์ฒญ (Redirect)

  4. [AD DS โ†’ AD FS] AD ์‚ฌ์šฉ์ž ๊ฒ€์ฆ๋จ(Kerberos)

  5. [AD FS] AWS SAML ์–‘์‹์— ๋‚ด์šฉ์„ ์ฑ„์›Œ ์„œ๋ช…ํ•˜์—ฌ Response

  6. [Client โ†’ AWS] AD FS๋กœ ๋ฐ›์€ SAML์„ AWS๋กœ ์ „๋‹ฌ

    /saml -> ๋ฐ‘์— SAMLResponse=ํŒŒ๋ผ๋ฏธํ„ฐ ์กด์žฌํ•จ
  7. [AWS] AWS๋Š” ์ด SAML์„ ๊ฒ€์ฆํ•œ๋’ค SAML์— ์ง€์ •๋œ Role, IAM์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž์˜ ์ ‘๊ทผ์„ ํ—ˆ๋ฝ

Golden SAML ๊ณต๊ฒฉ ์›๋ฆฌ

  1. [AD DS] dkm ํƒˆ์ทจ / [AD FS] tks ํƒˆ์ทจ

  2. [Attacker] dkm์œผ๋กœ tks ๋ณตํ˜ธํ™” ํ›„ Private Key ํš๋“, ์ž„์˜์˜ SAML ์„œ๋ช…ํ•˜์—ฌ Golden SAML ์ œ์ž‘

  3. [Client โ†’ AWS] GoldenSAML์ด ํฌํ•จ๋œ Auth Request Packet์„ AWS๋กœ ์ „๋‹ฌ

  4. [AWS] AWS๋Š” ์ด SAML์„ ๊ฒ€์ฆํ•œ๋’ค SAML์— ์ง€์ •๋œ Role, IAM์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ž์˜ ์ ‘๊ทผ์„ ํ—ˆ๋ฝ

chevron-rightDKM (Distributed Key Manager)hashtag

AD FS์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์•”ํ˜ธํ™” ํ‚ค(Token Signing Key, Token Encryption Key ๋“ฑ)์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๋งค์ปค๋‹ˆ์ฆ˜์œผ๋กœ, DKM ๋งˆ์Šคํ„ฐ ํ‚ค๋Š” AD์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ contact object์˜thumbnailPhoto ์†์„ฑ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

๋งˆ์Šคํ„ฐํ‚ค๋ฅผ ํš๋“ํ•˜๋ฉด AD FS์— ์ €์žฅ๋œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

ADFSdump์—์„œ๋Š” ## Extracting Private Key from Active Directory Store ์•„๋ž˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฐธ๊ณ : https://threathunterplaybook.com/library/windows/adfs_dkm_keys.htmlarrow-up-right

chevron-rightTKS (Token Signing Key)hashtag

AD FS ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ServiceSettingsData ํ•„๋“œ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” Encrypted PFX(๊ฐœ์ธํ‚ค ํฌํ•จ ์ธ์ฆ์„œ)๊ฐ€ Base64๋กœ Encoding๋˜์–ด ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

์ด ๊ฐ’์€ Base64๋กœ ๋””์ฝ”๋”ฉ ํ›„ DKM์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Private Key๋ฅผ ํš๋“ํ•˜๊ฒŒ ๋˜๋ฉด ์ž„์˜์˜ ์ธ์ฆ์„ AD FS์˜ ์ด๋ฆ„์œผ๋กœ ์ธ์ฆํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด Golden SAML ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

ADFSdump์—์„œ๋Š” Reading Encrypted Signing Key from Database ์•„๋ž˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

Last updated