macOS Dangerous Entitlements & TCC perms

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

**com.apple**๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ถŒํ•œ์€ ์ œ3์ž์—๊ฒŒ ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, ์˜ค์ง Apple๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

High

com.apple.rootless.install.heritable

๊ถŒํ•œ **com.apple.rootless.install.heritable**๋Š” SIP๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.rootless.install

๊ถŒํ•œ **com.apple.rootless.install**๋Š” SIP๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.system-task-ports (์ด์ „ ์ด๋ฆ„: task_for_pid-allow)

์ด ๊ถŒํ•œ์€ ์ปค๋„์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ํฌํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.security.get-task-allow

์ด ๊ถŒํ•œ์€ com.apple.security.cs.debugger ๊ถŒํ•œ์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ด ๊ถŒํ•œ์„ ๊ฐ€์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์‹คํ–‰๋œ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ํฌํŠธ๋ฅผ ์–ป๊ณ  ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.security.cs.debugger

๋””๋ฒ„๊น… ๋„๊ตฌ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์•ฑ์€ task_for_pid()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ Get Task Allow ๊ถŒํ•œ์ด true๋กœ ์„ค์ •๋œ ์„œ๋ช…๋˜์ง€ ์•Š์€ ์ œ3์ž ์•ฑ์˜ ์œ ํšจํ•œ ์ž‘์—… ํฌํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋””๋ฒ„๊น… ๋„๊ตฌ ๊ถŒํ•œ์ด ์žˆ์–ด๋„, ๋””๋ฒ„๊ฑฐ๋Š” Get Task Allow ๊ถŒํ•œ์ด ์—†๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ํฌํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค, ๋”ฐ๋ผ์„œ ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ๋ณดํ˜ธ์— ์˜ํ•ด ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.security.cs.disable-library-validation

์ด ๊ถŒํ•œ์€ Apple์— ์˜ํ•ด ์„œ๋ช…๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋ฉ”์ธ ์‹คํ–‰ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ํŒ€ ID๋กœ ์„œ๋ช…๋˜์ง€ ์•Š์€ ํ”„๋ ˆ์ž„์›Œํฌ, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณต๊ฒฉ์ž๋Š” ์ž„์˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋กœ๋“œ๋ฅผ ์•…์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.private.security.clear-library-validation

์ด ๊ถŒํ•œ์€ **com.apple.security.cs.disable-library-validation**์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์ง์ ‘์ ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€์ฆ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋Œ€์‹ , ํ”„๋กœ์„ธ์Šค๊ฐ€ csops ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ํ˜ธ์ถœํ•˜์—ฌ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.security.cs.allow-dyld-environment-variables

์ด ๊ถŒํ•œ์€ DYLD ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ์ด๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

com.apple.private.tcc.manager ๋˜๋Š” com.apple.rootless.storage.TCC

์ด ๋ธ”๋กœ๊ทธ์— ๋”ฐ๋ฅด๋ฉด ๋ฐ ์ด ๋ธ”๋กœ๊ทธ์— ๋”ฐ๋ฅด๋ฉด, ์ด ๊ถŒํ•œ์€ TCC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

system.install.apple-software ๋ฐ system.install.apple-software.standar-user

์ด ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ ์š”์ฒญ ์—†์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ์ด๋Š” ๊ถŒํ•œ ์ƒ์Šน์— ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

com.apple.private.security.kext-management

์ปค๋„์— ์ปค๋„ ํ™•์žฅ์„ ๋กœ๋“œํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ž…๋‹ˆ๋‹ค.

com.apple.private.icloud-account-access

๊ถŒํ•œ **com.apple.private.icloud-account-access**๋ฅผ ํ†ตํ•ด com.apple.iCloudHelper XPC ์„œ๋น„์Šค์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ์„œ๋น„์Šค๋Š” iCloud ํ† ํฐ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

iMovie์™€ Garageband๋Š” ์ด ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ถŒํ•œ์—์„œ icloud ํ† ํฐ์„ ์–ป๋Š” ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋Š” ๋‹ค์Œ ๊ฐ•์—ฐ์„ ํ™•์ธํ•˜์„ธ์š”: #OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula

com.apple.private.tcc.manager.check-by-audit-token

TODO: ์ด ๊ถŒํ•œ์ด ๋ฌด์—‡์„ ํ—ˆ์šฉํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

com.apple.private.apfs.revert-to-snapshot

TODO: ์ด ๋ณด๊ณ ์„œ์—์„œ ์žฌ๋ถ€ํŒ… ํ›„ SSV ๋ณดํ˜ธ ์ฝ˜ํ…์ธ ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์„ ์•„์‹ ๋‹ค๋ฉด PR์„ ๋ณด๋‚ด์ฃผ์„ธ์š”!

com.apple.private.apfs.create-sealed-snapshot

TODO: ์ด ๋ณด๊ณ ์„œ์—์„œ ์žฌ๋ถ€ํŒ… ํ›„ SSV ๋ณดํ˜ธ ์ฝ˜ํ…์ธ ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์„ ์•„์‹ ๋‹ค๋ฉด PR์„ ๋ณด๋‚ด์ฃผ์„ธ์š”!

keychain-access-groups

์ด ๊ถŒํ•œ ๋ชฉ๋ก์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์ฒด์ธ ๊ทธ๋ฃน์ž…๋‹ˆ๋‹ค:

<key>keychain-access-groups</key>
<array>
<string>ichat</string>
<string>apple</string>
<string>appleaccount</string>
<string>InternetAccounts</string>
<string>IMCore</string>
</array>

kTCCServiceSystemPolicyAllFiles

์ „์ฒด ๋””์Šคํฌ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉฐ, TCC์—์„œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋†’์€ ๊ถŒํ•œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

kTCCServiceAppleEvents

์•ฑ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์ž‘์—… ์ž๋™ํ™”์— ์‚ฌ์šฉ๋˜๋Š” ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ด๋ฒคํŠธ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์•ฑ์„ ์ œ์–ดํ•จ์œผ๋กœ์จ, ์ด๋Ÿฌํ•œ ๋‹ค๋ฅธ ์•ฑ์— ๋ถ€์—ฌ๋œ ๊ถŒํ•œ์„ ๋‚จ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž์—๊ฒŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์š”์ฒญํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ:

osascript -e 'tell app "App Store" to activate' -e 'tell app "App Store" to activate' -e 'tell app "App Store" to display dialog "App Store requires your password to continue." & return & return default answer "" with icon 1 with hidden answer with title "App Store Alert"'

๋˜๋Š” ์ž„์˜์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

kTCCServiceEndpointSecurityClient

์‚ฌ์šฉ์ž์˜ TCC ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์“ฐ๊ธฐ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

kTCCServiceSystemPolicySysAdminFiles

์‚ฌ์šฉ์ž์˜ ํ™ˆ ํด๋” ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” NFSHomeDirectory ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ TCC๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

kTCCServiceSystemPolicyAppBundles

์•ฑ ๋ฒˆ๋“ค ๋‚ด์˜ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ(์•ฑ.app ๋‚ด), ์ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์‹œ์Šคํ…œ ์„ค์ • > ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ณด์•ˆ > _์•ฑ ๊ด€๋ฆฌ_์ž…๋‹ˆ๋‹ค.

kTCCServiceAccessibility

ํ”„๋กœ์„ธ์Šค๋Š” macOS ์ ‘๊ทผ์„ฑ ๊ธฐ๋Šฅ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ํ‚ค ์ž…๋ ฅ์„ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Finder์™€ ๊ฐ™์€ ์•ฑ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์ ‘๊ทผ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๊ณ  ์ด ๊ถŒํ•œ์œผ๋กœ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์Šน์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘๊ฐ„

com.apple.security.cs.allow-jit

์ด ๊ถŒํ•œ์€ mmap() ์‹œ์Šคํ…œ ํ•จ์ˆ˜์— MAP_JIT ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•˜๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”.

com.apple.security.cs.allow-unsigned-executable-memory

์ด ๊ถŒํ•œ์€ C ์ฝ”๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๊ฑฐ๋‚˜ ํŒจ์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ์˜ค๋ž˜๋œ NSCreateObjectFileImageFromMemory(๊ทผ๋ณธ์ ์œผ๋กœ ์•ˆ์ „ํ•˜์ง€ ์•Š์Œ)๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ DVDPlayback ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”.

์ด ๊ถŒํ•œ์„ ํฌํ•จํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ ์–ธ์–ด์—์„œ ์ผ๋ฐ˜์ ์ธ ์ทจ์•ฝ์ ์— ์•ฑ์ด ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์ด ์˜ˆ์™ธ๊ฐ€ ํ•„์š”ํ•œ์ง€ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ณ ๋ คํ•˜์„ธ์š”.

com.apple.security.cs.disable-executable-page-protection

์ด ๊ถŒํ•œ์€ ๋””์Šคํฌ์—์„œ ์ž์‹ ์˜ ์‹คํ–‰ ํŒŒ์ผ์˜ ์„น์…˜์„ ์ˆ˜์ •ํ•˜์—ฌ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—์„œ ํ™•์ธํ•˜์„ธ์š”.

Disable Executable Memory Protection Entitlement๋Š” ์•ฑ์—์„œ ๊ธฐ๋ณธ์ ์ธ ๋ณด์•ˆ ๋ณดํ˜ธ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ทน๋‹จ์ ์ธ ๊ถŒํ•œ์œผ๋กœ, ๊ณต๊ฒฉ์ž๊ฐ€ ํƒ์ง€ ์—†์ด ์•ฑ์˜ ์‹คํ–‰ ์ฝ”๋“œ๋ฅผ ์žฌ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋ฉด ๋” ์ข์€ ๊ถŒํ•œ์„ ์„ ํ˜ธํ•˜์„ธ์š”.

com.apple.security.cs.allow-relative-library-loads

TODO

com.apple.private.nullfs_allow

์ด ๊ถŒํ•œ์€ nullfs ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ(๊ธฐ๋ณธ์ ์œผ๋กœ ๊ธˆ์ง€๋จ). ๋„๊ตฌ: mount_nullfs.

kTCCServiceAll

์ด ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์— ๋”ฐ๋ฅด๋ฉด, ์ด TCC ๊ถŒํ•œ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ๋ฐœ๊ฒฌ๋ฉ๋‹ˆ๋‹ค:

[Key] com.apple.private.tcc.allow-prompting
[Value]
[Array]
[String] kTCCServiceAll

ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ชจ๋“  TCC ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

kTCCServicePostEvent

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE) GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Last updated