macOS ํŒŒ์ผ, ํด๋”, ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ

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

ํŒŒ์ผ ๊ณ„์ธต ๊ตฌ์กฐ

  • /Applications: ์„ค์น˜๋œ ์•ฑ์ด ์—ฌ๊ธฐ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • /bin: ๋ช…๋ น์ค„ ๋ฐ”์ด๋„ˆ๋ฆฌ
  • /cores: ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ, ์ฝ”์–ด ๋คํ”„๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • /dev: ๋ชจ๋“  ๊ฒƒ์ด ํŒŒ์ผ๋กœ ์ทจ๊ธ‰๋˜๋ฏ€๋กœ ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๊ฐ€ ์—ฌ๊ธฐ์— ์ €์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • /etc: ๊ตฌ์„ฑ ํŒŒ์ผ
  • /Library: ํ™˜๊ฒฝ ์„ค์ •, ์บ์‹œ ๋ฐ ๋กœ๊ทธ์™€ ๊ด€๋ จ๋œ ๋งŽ์€ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ์™€ ๊ฐ ์‚ฌ์šฉ์ž ๋””๋ ‰ํ† ๋ฆฌ์— Library ํด๋”๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
  • /private: ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์–ธ๊ธ‰๋œ ๋งŽ์€ ํด๋”๋Š” ๊ฐœ์ธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ์ž…๋‹ˆ๋‹ค.
  • /sbin: ํ•„์ˆ˜ ์‹œ์Šคํ…œ ๋ฐ”์ด๋„ˆ๋ฆฌ(๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋จ)
  • /System: OS X์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ฃผ๋กœ Apple ์ „์šฉ ํŒŒ์ผ๋งŒ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์„œ๋“œํŒŒํ‹ฐ ์•„๋‹˜).
  • /tmp: ํŒŒ์ผ์€ 3์ผ ํ›„์— ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค(์ด๋Š” /private/tmp์— ๋Œ€ํ•œ ์†Œํ”„ํŠธ ๋งํฌ์ž…๋‹ˆ๋‹ค).
  • /Users: ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.
  • /usr: ๊ตฌ์„ฑ ๋ฐ ์‹œ์Šคํ…œ ๋ฐ”์ด๋„ˆ๋ฆฌ
  • /var: ๋กœ๊ทธ ํŒŒ์ผ
  • /Volumes: ๋งˆ์šดํŠธ๋œ ๋“œ๋ผ์ด๋ธŒ๊ฐ€ ์—ฌ๊ธฐ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • /.vol: stat a.txt๋ฅผ ์‹คํ–‰ํ•˜๋ฉด 16777223 7545753 -rw-r--r-- 1 username wheel ...์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ๋ณผ๋ฅจ์˜ ID ๋ฒˆํ˜ธ์ด๊ณ  ๋‘ ๋ฒˆ์งธ ์ˆซ์ž๋Š” inode ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ cat /.vol/16777223/7545753๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ด ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํด๋”

  • ์‹œ์Šคํ…œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ /System/Applications ์•„๋ž˜์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์„ค์น˜๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ /Applications ๋˜๋Š” ~/Applications์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ๋Š” ๋ฃจํŠธ๋กœ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ /Library/Application Support์—, ์‚ฌ์šฉ์ž๋กœ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ ~/Library/Application Support์— ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋“œํŒŒํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ๋ชฌ์€ ๋ฃจํŠธ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ /Library/PrivilegedHelperTools/์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒŒ๋“œ๋ฐ•์Šค ์•ฑ์€ ~/Library/Containers ํด๋”์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์•ฑ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฒˆ๋“ค ID(com.apple.Safari)์— ๋”ฐ๋ผ ์ด๋ฆ„์ด ์ง€์ •๋œ ํด๋”๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • ์ปค๋„์€ /System/Library/Kernels/kernel์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Apple์˜ ์ปค๋„ ํ™•์žฅ์€ /System/Library/Extensions์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋“œํŒŒํ‹ฐ ์ปค๋„ ํ™•์žฅ์€ /Library/Extensions์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ

MacOS๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์ •๋ณด๋ฅผ ์—ฌ๋Ÿฌ ์žฅ์†Œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค:

macOS Sensitive Locations & Interesting Daemons

์ทจ์•ฝํ•œ pkg ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ

macOS Installers Abuse

OS X ํŠน์ • ํ™•์žฅ

  • .dmg: Apple ๋””์Šคํฌ ์ด๋ฏธ์ง€ ํŒŒ์ผ์€ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์— ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • .kext: ํŠน์ • ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ผ์•ผ ํ•˜๋ฉฐ OS X ๋ฒ„์ „์˜ ๋“œ๋ผ์ด๋ฒ„์ž…๋‹ˆ๋‹ค. (๋ฒˆ๋“ค์ž…๋‹ˆ๋‹ค)
  • .plist: ์†์„ฑ ๋ชฉ๋ก์œผ๋กœ๋„ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฉฐ XML ๋˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • XML ๋˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
  • defaults read config.plist
  • /usr/libexec/PlistBuddy -c print config.plist
  • plutil -p ~/Library/Preferences/com.apple.screensaver.plist
  • plutil -convert xml1 ~/Library/Preferences/com.apple.screensaver.plist -o -
  • plutil -convert json ~/Library/Preferences/com.apple.screensaver.plist -o -
  • .app: ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅด๋Š” Apple ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค(๋ฒˆ๋“ค์ž…๋‹ˆ๋‹ค).
  • .dylib: ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Windows DLL ํŒŒ์ผ๊ณผ ์œ ์‚ฌ)
  • .pkg: xar(ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์•„์นด์ด๋ธŒ ํ˜•์‹)์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • .DS_Store: ์ด ํŒŒ์ผ์€ ๊ฐ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์œผ๋ฉฐ, ๋””๋ ‰ํ† ๋ฆฌ์˜ ์†์„ฑ๊ณผ ์‚ฌ์šฉ์ž ์ •์˜๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • .Spotlight-V100: ์ด ํด๋”๋Š” ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋ณผ๋ฅจ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • .metadata_never_index: ์ด ํŒŒ์ผ์ด ๋ณผ๋ฅจ์˜ ๋ฃจํŠธ์— ์žˆ์œผ๋ฉด Spotlight๋Š” ํ•ด๋‹น ๋ณผ๋ฅจ์„ ์ธ๋ฑ์‹ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • .noindex: ์ด ํ™•์žฅ์„ ๊ฐ€์ง„ ํŒŒ์ผ๊ณผ ํด๋”๋Š” Spotlight์— ์˜ํ•ด ์ธ๋ฑ์‹ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • .sdef: ๋ฒˆ๋“ค ๋‚ด์˜ ํŒŒ์ผ๋กœ, AppleScript์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

macOS ๋ฒˆ๋“ค

๋ฒˆ๋“ค์€ Finder์—์„œ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฒˆ๋“ค์˜ ์˜ˆ๋Š” *.app ํŒŒ์ผ์ž…๋‹ˆ๋‹ค).

macOS Bundles

Dyld ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์บ์‹œ (SLC)

macOS(๋ฐ iOS)์—์„œ ๋ชจ๋“  ์‹œ์Šคํ…œ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ dylibs๋Š” ๋‹จ์ผ ํŒŒ์ผ๋กœ ๊ฒฐํ•ฉ๋˜์–ด, dyld ๊ณต์œ  ์บ์‹œ๋ผ๊ณ  ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผœ ์ฝ”๋“œ๊ฐ€ ๋” ๋น ๋ฅด๊ฒŒ ๋กœ๋“œ๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ macOS์—์„œ /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/์— ์œ„์น˜ํ•˜๋ฉฐ, ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” **/System/Library/dyld/**์—์„œ ๊ณต์œ  ์บ์‹œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
iOS์—์„œ๋Š” **/System/Library/Caches/com.apple.dyld/**์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

dyld ๊ณต์œ  ์บ์‹œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ, ์ปค๋„ ๋ฐ ์ปค๋„ ํ™•์žฅ๋„ ๋ถ€ํŒ… ์‹œ ๋กœ๋“œ๋˜๋Š” ์ปค๋„ ์บ์‹œ์— ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค.

๋‹จ์ผ ํŒŒ์ผ dylib ๊ณต์œ  ์บ์‹œ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด dyld_shared_cache_util์ด๋ผ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋‚˜ ํ˜„์žฌ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, dyldextractor๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

# dyld_shared_cache_util
dyld_shared_cache_util -extract ~/shared_cache/ /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e

# dyldextractor
dyldex -l [dyld_shared_cache_path] # List libraries
dyldex_all [dyld_shared_cache_path] # Extract all
# More options inside the readme

Tip

dyld_shared_cache_util ๋„๊ตฌ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋”๋ผ๋„ ๊ณต์œ  dyld ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ Hopper์— ์ „๋‹ฌํ•˜๋ฉด Hopper๊ฐ€ ๋ชจ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์กฐ์‚ฌํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค:

์ผ๋ถ€ ์ถ”์ถœ๊ธฐ๋Š” dylibs๊ฐ€ ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ์ฃผ์†Œ๋กœ ๋ฏธ๋ฆฌ ๋งํฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ์•Œ ์ˆ˜ ์—†๋Š” ์ฃผ์†Œ๋กœ ์ ํ”„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Tip

Xcode์˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ macOS์—์„œ ๋‹ค๋ฅธ *OS ์žฅ์น˜์˜ ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์บ์‹œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋‹ค์Œ ๊ฒฝ๋กœ์— ๋‹ค์šด๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค: ls $HOME/Library/Developer/Xcode/<*>OS\ DeviceSupport/<version>/Symbols/System/Library/Caches/com.apple.dyld/, ์˜ˆ: $HOME/Library/Developer/Xcode/iOS\ DeviceSupport/14.1\ (18A8395)/Symbols/System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64

SLC ๋งคํ•‘

**dyld**๋Š” SLC๊ฐ€ ๋งคํ•‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ **shared_region_check_np**๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  (์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•จ) **shared_region_map_and_slide_np**๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SLC๋ฅผ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

SLC๊ฐ€ ์ฒซ ๋ฒˆ์งธ ์‚ฌ์šฉ ์‹œ ์Šฌ๋ผ์ด๋“œ๋˜๋”๋ผ๋„ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ™์€ ๋ณต์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ๊ณต๊ฒฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ASLR ๋ณดํ˜ธ๊ฐ€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ณผ๊ฑฐ์— ์‹ค์ œ๋กœ ์•…์šฉ๋˜์—ˆ์œผ๋ฉฐ ๊ณต์œ  ์˜์—ญ ํŽ˜์ด์ €๋กœ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ํ’€์€ ์ด๋ฏธ์ง€ ๋งคํ•‘ ์‚ฌ์ด์— ์ž‘์€ ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด ํ•จ์ˆ˜์˜ ์ค‘๊ฐ„ ๊ฐœ์ž…์„ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ž‘์€ Mach-O dylibs์ž…๋‹ˆ๋‹ค.

SLC ์žฌ์ •์˜

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ:

  • DYLD_DHARED_REGION=private DYLD_SHARED_CACHE_DIR=</path/dir> DYLD_SHARED_CACHE_DONT_VALIDATE=1 -> ์ƒˆ๋กœ์šด ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์บ์‹œ๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
  • DYLD_SHARED_CACHE_DIR=avoid ๋ฐ ์‹ค์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ์˜ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋กœ ๊ณต์œ  ์บ์‹œ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค (์ถ”์ถœํ•ด์•ผ ํ•จ).

ํŠน๋ณ„ ํŒŒ์ผ ๊ถŒํ•œ

ํด๋” ๊ถŒํ•œ

ํด๋”์—์„œ ์ฝ๊ธฐ๋Š” ๋ชฉ๋ก์„ ๋‚˜์—ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ , ์“ฐ๊ธฐ๋Š” ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ณ  ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ์‹คํ–‰์€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹คํ–‰ ๊ถŒํ•œ์ด ์—†๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ์— ๋Œ€ํ•ด ์ฝ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋Š” ํŒŒ์ผ์„ ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ”Œ๋ž˜๊ทธ ์ˆ˜์ •์ž

ํŒŒ์ผ์— ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ํŒŒ์ผ์ด ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ls -lO /path/directory๋กœ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด ํŒŒ์ผ์˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • uchg: uchange ํ”Œ๋ž˜๊ทธ๋กœ, ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ๋˜๋Š” ์‚ญ์ œ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •ํ•˜๋ ค๋ฉด: chflags uchg file.txt
  • ๋ฃจํŠธ ์‚ฌ์šฉ์ž๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • restricted: ์ด ํ”Œ๋ž˜๊ทธ๋Š” ํŒŒ์ผ์ด SIP์— ์˜ํ•ด ๋ณดํ˜ธ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค (์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค).
  • Sticky bit: ์Šคํ‹ฐํ‚ค ๋น„ํŠธ๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ๋Š” ์˜ค์ง ๋””๋ ‰ํ† ๋ฆฌ ์†Œ์œ ์ž ๋˜๋Š” ๋ฃจํŠธ๋งŒ ํŒŒ์ผ์„ ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Š” /tmp ๋””๋ ‰ํ† ๋ฆฌ์— ์„ค์ •๋˜์–ด ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ด๋™ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ํ”Œ๋ž˜๊ทธ๋Š” ํŒŒ์ผ sys/stat.h์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ (๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: mdfind stat.h | grep stat.h) ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • UF_SETTABLE 0x0000ffff: ์†Œ์œ ์ž ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ํ”Œ๋ž˜๊ทธ์˜ ๋งˆ์Šคํฌ.
  • UF_NODUMP 0x00000001: ํŒŒ์ผ ๋คํ”„๋ฅผ ํ•˜์ง€ ์•Š์Œ.
  • UF_IMMUTABLE 0x00000002: ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ.
  • UF_APPEND 0x00000004: ํŒŒ์ผ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ๋Š” ์˜ค์ง ์ถ”๊ฐ€๋งŒ ๊ฐ€๋Šฅ.
  • UF_OPAQUE 0x00000008: ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์œ ๋‹ˆ์˜จ์— ๋Œ€ํ•ด ๋ถˆํˆฌ๋ช…ํ•จ.
  • UF_COMPRESSED 0x00000020: ํŒŒ์ผ์ด ์••์ถ•๋จ (์ผ๋ถ€ ํŒŒ์ผ ์‹œ์Šคํ…œ).
  • UF_TRACKED 0x00000040: ์ด ์„ค์ •์ด ์žˆ๋Š” ํŒŒ์ผ์— ๋Œ€ํ•œ ์‚ญ์ œ/์ด๋ฆ„ ๋ณ€๊ฒฝ ์•Œ๋ฆผ ์—†์Œ.
  • UF_DATAVAULT 0x00000080: ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ์— ๋Œ€ํ•œ ๊ถŒํ•œ ํ•„์š”.
  • UF_HIDDEN 0x00008000: ์ด ํ•ญ๋ชฉ์ด GUI์— ํ‘œ์‹œ๋˜์ง€ ์•Š์•„์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ„.
  • SF_SUPPORTED 0x009f0000: ์Šˆํผ์œ ์ € ์ง€์› ํ”Œ๋ž˜๊ทธ์˜ ๋งˆ์Šคํฌ.
  • SF_SETTABLE 0x3fff0000: ์Šˆํผ์œ ์ € ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ํ”Œ๋ž˜๊ทธ์˜ ๋งˆ์Šคํฌ.
  • SF_SYNTHETIC 0xc0000000: ์‹œ์Šคํ…œ ์ฝ๊ธฐ ์ „์šฉ ํ•ฉ์„ฑ ํ”Œ๋ž˜๊ทธ์˜ ๋งˆ์Šคํฌ.
  • SF_ARCHIVED 0x00010000: ํŒŒ์ผ์ด ์•„์นด์ด๋ธŒ๋จ.
  • SF_IMMUTABLE 0x00020000: ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ.
  • SF_APPEND 0x00040000: ํŒŒ์ผ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ๋Š” ์˜ค์ง ์ถ”๊ฐ€๋งŒ ๊ฐ€๋Šฅ.
  • SF_RESTRICTED 0x00080000: ์“ฐ๊ธฐ์— ๋Œ€ํ•œ ๊ถŒํ•œ ํ•„์š”.
  • SF_NOUNLINK 0x00100000: ํ•ญ๋ชฉ์„ ์ œ๊ฑฐ, ์ด๋ฆ„ ๋ณ€๊ฒฝ ๋˜๋Š” ๋งˆ์šดํŠธํ•  ์ˆ˜ ์—†์Œ.
  • SF_FIRMLINK 0x00800000: ํŒŒ์ผ์ด firmlink์ž„.
  • SF_DATALESS 0x40000000: ํŒŒ์ผ์ด ๋ฐ์ดํ„ฐ ์—†๋Š” ๊ฐ์ฒด์ž„.

ํŒŒ์ผ ACLs

ํŒŒ์ผ ACLs๋Š” ACE (Access Control Entries)๋ฅผ ํฌํ•จํ•˜์—ฌ ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ์„ธ๋ถ„ํ™”๋œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋””๋ ‰ํ† ๋ฆฌ์— ๋‹ค์Œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: list, search, add_file, add_subdirectory, delete_child, delete_child.
๊ทธ๋ฆฌ๊ณ  ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ๋Š”: read, write, append, execute.

ํŒŒ์ผ์— ACL์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ๊ถŒํ•œ์„ ๋‚˜์—ดํ•  ๋•Œ โ€œ+โ€œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค:

ls -ld Movies
drwx------+   7 username  staff     224 15 Apr 19:42 Movies

ํŒŒ์ผ์˜ ACLs๋ฅผ ์ฝ์œผ๋ ค๋ฉด:

ls -lde Movies
drwx------+ 7 username  staff  224 15 Apr 19:42 Movies
0: group:everyone deny delete

๋ชจ๋“  ACL์ด ์žˆ๋Š” ํŒŒ์ผ์„ ์ฐพ์œผ๋ ค๋ฉด (์ด๊ฒƒ์€ ๋งค์šฐ ๋А๋ฆฝ๋‹ˆ๋‹ค):

ls -RAle / 2>/dev/null | grep -E -B1 "\d: "

ํ™•์žฅ ์†์„ฑ

ํ™•์žฅ ์†์„ฑ์€ ์ด๋ฆ„๊ณผ ์›ํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ls -@๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณผ ์ˆ˜ ์žˆ๊ณ  xattr ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํ™•์žฅ ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • com.apple.resourceFork: ๋ฆฌ์†Œ์Šค ํฌํฌ ํ˜ธํ™˜์„ฑ. filename/..namedfork/rsrc๋กœ๋„ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • com.apple.quarantine: MacOS: Gatekeeper ๊ฒฉ๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (III/6)
  • metadata:*: MacOS: _backup_excludeItem ๋˜๋Š” kMD*์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
  • com.apple.lastuseddate (#PS): ๋งˆ์ง€๋ง‰ ํŒŒ์ผ ์‚ฌ์šฉ ๋‚ ์งœ
  • com.apple.FinderInfo: MacOS: Finder ์ •๋ณด (์˜ˆ: ์ƒ‰์ƒ ํƒœ๊ทธ)
  • com.apple.TextEncoding: ASCII ํ…์ŠคํŠธ ํŒŒ์ผ์˜ ํ…์ŠคํŠธ ์ธ์ฝ”๋”ฉ์„ ์ง€์ •
  • com.apple.logd.metadata: /var/db/diagnostics์˜ ํŒŒ์ผ์—์„œ logd์— ์˜ํ•ด ์‚ฌ์šฉ๋จ
  • com.apple.genstore.*: ์„ธ๋Œ€ ์ €์žฅ์†Œ (/.DocumentRevisions-V100 ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ฃจํŠธ์— ์œ„์น˜)
  • com.apple.rootless: MacOS: ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ์— ์˜ํ•ด ํŒŒ์ผ์— ๋ ˆ์ด๋ธ”์„ ๋ถ™์ด๋Š” ๋ฐ ์‚ฌ์šฉ๋จ (III/10)
  • com.apple.uuidb.boot-uuid: ๊ณ ์œ  UUID๋กœ ๋ถ€ํŒ… ์—ํฌํฌ์˜ logd ๋งˆํ‚น
  • com.apple.decmpfs: MacOS: ํˆฌ๋ช… ํŒŒ์ผ ์••์ถ• (II/7)
  • com.apple.cprotect: *OS: ํŒŒ์ผ๋ณ„ ์•”ํ˜ธํ™” ๋ฐ์ดํ„ฐ (III/11)
  • com.apple.installd.*: *OS: installd์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ์˜ˆ: installType, uniqueInstallID

๋ฆฌ์†Œ์Šค ํฌํฌ | macOS ADS

์ด๋Š” MacOS์—์„œ ๋Œ€์ฒด ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. file/..namedfork/rsrc์— ์žˆ๋Š” ํ™•์žฅ ์†์„ฑ com.apple.ResourceFork ์•ˆ์— ๋‚ด์šฉ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

echo "Hello" > a.txt
echo "Hello Mac ADS" > a.txt/..namedfork/rsrc

xattr -l a.txt #Read extended attributes
com.apple.ResourceFork: Hello Mac ADS

ls -l a.txt #The file length is still q
-rw-r--r--@ 1 username  wheel  6 17 Jul 01:15 a.txt

๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์ด ํ™•์žฅ ์†์„ฑ์„ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

find / -type f -exec ls -ld {} \; 2>/dev/null | grep -E "[x\-]@ " | awk '{printf $9; printf "\n"}' | xargs -I {} xattr -lv {} | grep "com.apple.ResourceFork"

decmpfs

ํ™•์žฅ ์†์„ฑ com.apple.decmpfs๋Š” ํŒŒ์ผ์ด ์•”ํ˜ธํ™”๋˜์–ด ์ €์žฅ๋จ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ls -l์€ ํฌ๊ธฐ๊ฐ€ 0์œผ๋กœ ๋ณด๊ณ ํ•˜๊ณ  ์••์ถ•๋œ ๋ฐ์ดํ„ฐ๋Š” ์ด ์†์„ฑ ์•ˆ์— ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ณตํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค.

์ด ์†์„ฑ์€ ls -lO๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์••์ถ•๋œ ํŒŒ์ผ์€ UF_COMPRESSED ํ”Œ๋ž˜๊ทธ๋กœ ํƒœ๊ทธ๊ฐ€ ๋ถ™์–ด ์••์ถ•๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์••์ถ•๋œ ํŒŒ์ผ์ด chflags nocompressed </path/to/file>๋กœ ์ œ๊ฑฐ๋˜๋ฉด, ์‹œ์Šคํ…œ์€ ํ•ด๋‹น ํŒŒ์ผ์ด ์••์ถ•๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์ง€ ๋ชปํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(์‹ค์ œ๋กœ ๋น„์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค).

๋„๊ตฌ afscexpand๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๊ฐ•์ œ๋กœ ์••์ถ• ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Universal binaries & Mach-o Format

Mac OS ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์œ ๋‹ˆ๋ฒ„์„ค ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ์œ ๋‹ˆ๋ฒ„์„ค ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๊ฐ™์€ ํŒŒ์ผ์—์„œ ์—ฌ๋Ÿฌ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

macOS Universal binaries & Mach-O Format

macOS Process Memory

macOS memory dumping

macOS Memory Dumping

Risk Category Files Mac OS

๋””๋ ‰ํ† ๋ฆฌ /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/System๋Š” ๋‹ค์–‘ํ•œ ํŒŒ์ผ ํ™•์žฅ์ž์™€ ๊ด€๋ จ๋œ ์œ„ํ—˜ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์ด ๋””๋ ‰ํ† ๋ฆฌ๋Š” ํŒŒ์ผ์„ ๋‹ค์–‘ํ•œ ์œ„ํ—˜ ์ˆ˜์ค€์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ Safari๊ฐ€ ๋‹ค์šด๋กœ๋“œ ์‹œ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • LSRiskCategorySafe: ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํŒŒ์ผ์€ ์™„์ „ํžˆ ์•ˆ์ „ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. Safari๋Š” ๋‹ค์šด๋กœ๋“œ ํ›„ ์ž๋™์œผ๋กœ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ์—ฝ๋‹ˆ๋‹ค.
  • LSRiskCategoryNeutral: ์ด ํŒŒ์ผ์€ ๊ฒฝ๊ณ  ์—†์ด ์ œ๊ณต๋˜๋ฉฐ Safari์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์—ด๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • LSRiskCategoryUnsafeExecutable: ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํŒŒ์ผ์€ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ด๋Š” ํŒŒ์ผ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž„์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฒฝ๊ณ ํ•˜๋Š” ๋ณด์•ˆ ์กฐ์น˜์ž…๋‹ˆ๋‹ค.
  • LSRiskCategoryMayContainUnsafeExecutable: ์ด ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ์‹คํ–‰ ํŒŒ์ผ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ์•„์นด์ด๋ธŒ์™€ ๊ฐ™์€ ํŒŒ์ผ์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Safari๋Š” ๋ชจ๋“  ๋‚ด์šฉ์ด ์•ˆ์ „ํ•˜๊ฑฐ๋‚˜ ์ค‘๋ฆฝ์ ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

Log files

  • $HOME/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2: ๋‹ค์šด๋กœ๋“œ๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด, ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์šด๋กœ๋“œ๋œ URL์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • /var/log/system.log: OSX ์‹œ์Šคํ…œ์˜ ์ฃผ์š” ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. com.apple.syslogd.plist๋Š” syslogging์˜ ์‹คํ–‰์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค(๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ launchctl list์—์„œ โ€œcom.apple.syslogdโ€œ๋ฅผ ์ฐพ์•„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
  • /private/var/log/asl/*.asl: ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” Apple ์‹œ์Šคํ…œ ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • $HOME/Library/Preferences/com.apple.recentitems.plist: โ€œFinderโ€œ๋ฅผ ํ†ตํ•ด ์ตœ๊ทผ์— ์ ‘๊ทผํ•œ ํŒŒ์ผ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • $HOME/Library/Preferences/com.apple.loginitems.plsit: ์‹œ์Šคํ…œ ์‹œ์ž‘ ์‹œ ์‹คํ–‰ํ•  ํ•ญ๋ชฉ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • $HOME/Library/Logs/DiskUtility.log: DiskUtility ์•ฑ์˜ ๋กœ๊ทธ ํŒŒ์ผ(๋“œ๋ผ์ด๋ธŒ์— ๋Œ€ํ•œ ์ •๋ณด, USB ํฌํ•จ).
  • /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist: ๋ฌด์„  ์•ก์„ธ์Šค ํฌ์ธํŠธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.
  • /private/var/db/launchd.db/com.apple.launchd/overrides.plist: ๋น„ํ™œ์„ฑํ™”๋œ ๋ฐ๋ชฌ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

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