macOS Keychain

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 ์ง€์›ํ•˜๊ธฐ

Main Keychains

  • ์‚ฌ์šฉ์ž ํ‚ค์ฒด์ธ (~/Library/Keychains/login.keychain-db): ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ธํ„ฐ๋„ท ๋น„๋ฐ€๋ฒˆํ˜ธ, ์‚ฌ์šฉ์ž ์ƒ์„ฑ ์ธ์ฆ์„œ, ๋„คํŠธ์›Œํฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ ์‚ฌ์šฉ์ž ์ƒ์„ฑ ๊ณต๊ฐœ/๊ฐœ์ธ ํ‚ค์™€ ๊ฐ™์€ ์‚ฌ์šฉ์ž ํŠน์ • ์ž๊ฒฉ ์ฆ๋ช…์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ ํ‚ค์ฒด์ธ (/Library/Keychains/System.keychain): WiFi ๋น„๋ฐ€๋ฒˆํ˜ธ, ์‹œ์Šคํ…œ ๋ฃจํŠธ ์ธ์ฆ์„œ, ์‹œ์Šคํ…œ ๊ฐœ์ธ ํ‚ค ๋ฐ ์‹œ์Šคํ…œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์‹œ์Šคํ…œ ์ „์ฒด ์ž๊ฒฉ ์ฆ๋ช…์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • /System/Library/Keychains/*์—์„œ ์ธ์ฆ์„œ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • iOS์—๋Š” /private/var/Keychains/์— ์œ„์น˜ํ•œ ํ‚ค์ฒด์ธ์ด ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํด๋”์—๋Š” TrustStore, ์ธ์ฆ์„œ ๊ธฐ๊ด€(caissuercache) ๋ฐ OSCP ํ•ญ๋ชฉ(ocspache)์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•ฑ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹๋ณ„์ž์— ๋”ฐ๋ผ ํ‚ค์ฒด์ธ์—์„œ ์ž์‹ ์˜ ๊ฐœ์ธ ์˜์—ญ์œผ๋กœ๋งŒ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

๋น„๋ฐ€๋ฒˆํ˜ธ ํ‚ค์ฒด์ธ ์ ‘๊ทผ

์ด ํŒŒ์ผ๋“ค์€ ๋ณธ๋ž˜ ๋ณดํ˜ธ๊ฐ€ ์—†๊ณ  ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž์˜ ํ‰๋ฌธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณตํ˜ธํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Chainbreaker์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ ๋ณดํ˜ธ

ACLs

ํ‚ค์ฒด์ธ์˜ ๊ฐ ํ•ญ๋ชฉ์€ **์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACLs)**์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ, ์ด๋Š” ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ๊ทœ์ •ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:

  • ACLAuhtorizationExportClear: ๋ณด์œ ์ž๊ฐ€ ๋น„๋ฐ€์˜ ํ‰๋ฌธ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ACLAuhtorizationExportWrapped: ๋ณด์œ ์ž๊ฐ€ ๋‹ค๋ฅธ ์ œ๊ณต๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์•”ํ˜ธํ™”๋œ ํ‰๋ฌธ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ACLAuhtorizationAny: ๋ณด์œ ์ž๊ฐ€ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

ACL์€ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชฉ๋ก๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • Nil (์ธ์ฆ ํ•„์š” ์—†์Œ, ๋ชจ๋‘ ์‹ ๋ขฐ๋จ)
  • ๋นˆ ๋ชฉ๋ก (์•„๋ฌด๋„ ์‹ ๋ขฐ๋˜์ง€ ์•Š์Œ)
  • ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ชฉ๋ก.

๋˜ํ•œ ํ•ญ๋ชฉ์—๋Š” **ACLAuthorizationPartitionID**๋ผ๋Š” ํ‚ค๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” teamid, apple, ๋ฐ cdhash๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • teamid๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ, ํ”„๋กฌํ”„ํŠธ ์—†์ด ํ•ญ๋ชฉ ๊ฐ’์„ ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์‚ฌ์šฉ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฐ™์€ teamid๋ฅผ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • apple์ด ์ง€์ •๋œ ๊ฒฝ์šฐ, ์•ฑ์€ Apple์— ์˜ํ•ด ์„œ๋ช…๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • cdhash๊ฐ€ ํ‘œ์‹œ๋œ ๊ฒฝ์šฐ, ์•ฑ์€ ํŠน์ • cdhash๋ฅผ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ ์ƒ์„ฑ

**Keychain Access.app**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋  ๋•Œ ๋‹ค์Œ ๊ทœ์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค:

  • ๋ชจ๋“  ์•ฑ์ด ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์–ด๋–ค ์•ฑ๋„ ๋‚ด๋ณด๋‚ด๊ธฐ/๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ ์—†์ด).
  • ๋ชจ๋“  ์•ฑ์ด ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์–ด๋–ค ์•ฑ๋„ ACL์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • partitionID๋Š” **apple**๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ‚ค์ฒด์ธ์— ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•  ๋•Œ ๊ทœ์น™์€ ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค:

  • ๋ชจ๋“  ์•ฑ์ด ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒ์„ฑํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(๋˜๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์ถ”๊ฐ€๋œ ๋‹ค๋ฅธ ์•ฑ)๋งŒ ๋‚ด๋ณด๋‚ด๊ธฐ/๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ ์—†์ด).
  • ๋ชจ๋“  ์•ฑ์ด ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์–ด๋–ค ์•ฑ๋„ ACL์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • partitionID๋Š” **teamid:[teamID here]**๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

ํ‚ค์ฒด์ธ ์ ‘๊ทผ

security

# List keychains
security list-keychains

# Dump all metadata and decrypted secrets (a lot of pop-ups)
security dump-keychain -a -d

# Find generic password for the "Slack" account and print the secrets
security find-generic-password -a "Slack" -g

# Change the specified entrys PartitionID entry
security set-generic-password-parition-list -s "test service" -a "test acount" -S

# Dump specifically the user keychain
security dump-keychain ~/Library/Keychains/login.keychain-db

APIs

Tip

ํ‚ค์ฒด์ธ ์—ด๊ฑฐ ๋ฐ ๋น„๋ฐ€ ๋คํ”„๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š” ๋น„๋ฐ€์— ๋Œ€ํ•ด ๋„๊ตฌ LockSmith๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ API ์—”๋“œํฌ์ธํŠธ๋Š” SecKeyChain.h ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Security Framework๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‚˜์—ดํ•˜๊ณ  ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜, Apple์˜ ์˜คํ”ˆ ์†Œ์Šค CLI ๋„๊ตฌ security**.**๋ฅผ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ API ์˜ˆ์‹œ:

  • API **SecItemCopyMatching**์€ ๊ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉํ•  ๋•Œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค:
  • kSecReturnData: true์ธ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค(ํŒ์—…์„ ํ”ผํ•˜๋ ค๋ฉด false๋กœ ์„ค์ •).
  • kSecReturnRef: ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(๋‚˜์ค‘์— ํŒ์—… ์—†์ด ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ true๋กœ ์„ค์ •).
  • kSecReturnAttributes: ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • kSecMatchLimit: ๋ฐ˜ํ™˜ํ•  ๊ฒฐ๊ณผ ์ˆ˜.
  • kSecClass: ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ์˜ ์ข…๋ฅ˜.

๊ฐ ํ•ญ๋ชฉ์˜ ACL์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค:

  • API **SecAccessCopyACLList**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค์ฒด์ธ ํ•ญ๋ชฉ์˜ ACL์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ๋ชฉ๋ก์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ACL ๋ชฉ๋ก์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ACLAuhtorizationExportClear ๋ฐ ์ด์ „์— ์–ธ๊ธ‰๋œ ๋‹ค๋ฅธ ํ•ญ๋ชฉ๋“ค):
  • ์„ค๋ช…
  • ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชฉ๋ก. ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: /Applications/Slack.app
  • ๋ฐ”์ด๋„ˆ๋ฆฌ: /usr/libexec/airportd
  • ๊ทธ๋ฃน: group://AirPort

๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค:

  • API **SecKeychainItemCopyContent**๋Š” ํ‰๋ฌธ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • API **SecItemExport**๋Š” ํ‚ค์™€ ์ธ์ฆ์„œ๋ฅผ ๋‚ด๋ณด๋‚ด์ง€๋งŒ, ์•”ํ˜ธํ™”๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด ์•”ํ˜ธ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กฌํ”„ํŠธ ์—†์ด ๋น„๋ฐ€์„ ๋‚ด๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • 1๊ฐœ ์ด์ƒ์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‚˜์—ด๋œ ๊ฒฝ์šฐ:
  • ์ ์ ˆํ•œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (Nil, ๋˜๋Š” ๋น„๋ฐ€ ์ •๋ณด์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ถŒํ•œ์˜ ํ—ˆ์šฉ ๋ชฉ๋ก์— ํฌํ•จ๋˜์–ด์•ผ ํ•จ).
  • ์ฝ”๋“œ ์„œ๋ช…์ด PartitionID์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์„œ๋ช…์ด ํ•˜๋‚˜์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋˜๋Š” ์˜ฌ๋ฐ”๋ฅธ KeychainAccessGroup์˜ ๊ตฌ์„ฑ์›์ด์–ด์•ผ ํ•จ).
  • ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ:
  • ์ ์ ˆํ•œ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์„œ๋ช…์ด PartitionID์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • PartitionID๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ, ์ด๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Caution

๋”ฐ๋ผ์„œ 1๊ฐœ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‚˜์—ด๋œ ๊ฒฝ์šฐ, ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

apple์ด partitionID์— ํ‘œ์‹œ๋œ ๊ฒฝ์šฐ, **osascript**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, partitionID์— apple์ด ํฌํ•จ๋œ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **Python**๋„ ์ด๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์†์„ฑ

  • Invisible: UI ํ‚ค์ฒด์ธ ์•ฑ์—์„œ ํ•ญ๋ชฉ์„ ์ˆจ๊ธฐ๊ธฐ ์œ„ํ•œ ๋ถ€์šธ ํ”Œ๋ž˜๊ทธ์ž…๋‹ˆ๋‹ค.
  • General: ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋”ฐ๋ผ์„œ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์Œ).
  • Microsoft๋Š” ๋ฏผ๊ฐํ•œ ์—”๋“œํฌ์ธํŠธ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ์„ ํ‰๋ฌธ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

References

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 ์ง€์›ํ•˜๊ธฐ