macOS System Extensions
Last updated
Last updated
AWS ํดํน ํ์ต ๋ฐ ์ค์ต:HackTricks Training AWS Red Team Expert (ARTE) GCP ํดํน ํ์ต ๋ฐ ์ค์ต: HackTricks Training GCP Red Team Expert (GRTE)
์์คํ ํ์ฅ์ ์ปค๋ ๊ณต๊ฐ์ด ์๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋๋ฏ๋ก ํ์ฅ ๊ธฐ๋ฅ์ ์ค์๋์ผ๋ก ์ธํ ์์คํ ์ถฉ๋ ์ํ์ ์ค์ ๋๋ค.
์์คํ ํ์ฅ์๋ DriverKit ํ์ฅ, Network ํ์ฅ ๋ฐ Endpoint Security ํ์ฅ ์ธ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค.
DriverKit์ ํ๋์จ์ด ์ง์์ ์ ๊ณตํ๋ ์ปค๋ ํ์ฅ์ ๋์ฒด๋ฌผ์ ๋๋ค. ์ด๋ฅผ ํตํด ์ฅ์น ๋๋ผ์ด๋ฒ(USB, ์๋ฆฌ์ผ, NIC ๋ฐ HID ๋๋ผ์ด๋ฒ์ ๊ฐ์)๊ฐ ์ปค๋ ๊ณต๊ฐ์ด ์๋ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋ ์ ์์ต๋๋ค. DriverKit ํ๋ ์์ํฌ์๋ ์ผ๋ถ I/O Kit ํด๋์ค์ ์ฌ์ฉ์ ๊ณต๊ฐ ๋ฒ์ ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ปค๋์ ์ผ๋ฐ I/O Kit ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ์ ๋ฌํ์ฌ ์ด๋ฌํ ๋๋ผ์ด๋ฒ๊ฐ ์คํ๋๋ ๋ณด๋ค ์์ ํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
Network ํ์ฅ์ ๋คํธ์ํฌ ๋์์ ์ฌ์ฉ์ ์ ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ ํ์ Network ํ์ฅ์ด ์์ต๋๋ค:
App Proxy: ์ฐ๊ฒฐ(๋๋ ํ๋ฆ)์ ๊ธฐ๋ฐํ ์ฌ์ฉ์ ์ ์ VPN ํ๋กํ ์ฝ์ ๊ตฌํํ๋ VPN ํด๋ผ์ด์ธํธ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๊ฐ๋ณ ํจํท์ด ์๋ ์ฐ๊ฒฐ(๋๋ ํ๋ฆ)์ ๊ธฐ๋ฐํ์ฌ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ฒ๋ฆฌํฉ๋๋ค.
Packet Tunnel: ๊ฐ๋ณ ํจํท์ ๊ธฐ๋ฐํ ์ฌ์ฉ์ ์ ์ VPN ํ๋กํ ์ฝ์ ๊ตฌํํ๋ VPN ํด๋ผ์ด์ธํธ๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๊ฐ๋ณ ํจํท์ ๊ธฐ๋ฐํ์ฌ ๋คํธ์ํฌ ํธ๋ํฝ์ ์ฒ๋ฆฌํฉ๋๋ค.
Filter Data: ๋คํธ์ํฌ "ํ๋ฆ"์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋คํธ์ํฌ ๋ฐ์ดํฐ๋ฅผ ํ๋ฆ ์์ค์์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค.
Filter Packet: ๊ฐ๋ณ ๋คํธ์ํฌ ํจํท์ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋คํธ์ํฌ ๋ฐ์ดํฐ๋ฅผ ํจํท ์์ค์์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ์์ ํ ์ ์์ต๋๋ค.
DNS Proxy: ์ฌ์ฉ์ ์ ์ DNS ์ ๊ณต์๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. DNS ์์ฒญ ๋ฐ ์๋ต์ ๋ชจ๋ํฐ๋งํ๊ฑฐ๋ ์์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
macOS์์ ์ ๊ณตํ๋ ์๋ํฌ์ธํธ ๋ณด์์ ์์คํ ๋ณด์์ ์ํ ์ผ๋ จ์ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ ์ ์ฑ ํ๋์ ์๋ณํ๊ณ ๋ฐฉ์งํ๊ธฐ ์ํด ์์คํ ํ๋์ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ดํ๋ ์ ํ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ๋ณด์ ์ ์ฒด ๋ฐ ๊ฐ๋ฐ์์ ์ํด ์ฌ์ฉ๋๋๋ก ์๋๋์์ต๋๋ค.
์ด ํ๋ ์์ํฌ๋ ํ๋ก์ธ์ค ์คํ, ํ์ผ ์์คํ ์ด๋ฒคํธ, ๋คํธ์ํฌ ๋ฐ ์ปค๋ ์ด๋ฒคํธ์ ๊ฐ์ ์์คํ ํ๋์ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ดํ๊ธฐ ์ํ ์ผ๋ จ์ API ๋ชจ์์ ์ ๊ณตํฉ๋๋ค.
์ด ํ๋ ์์ํฌ์ ํต์ฌ์ ์ปค๋์ ๊ตฌํ๋ ์ปค๋ ํ์ฅ(KEXT)์ธ **/System/Library/Extensions/EndpointSecurity.kext
**์ ์์นํฉ๋๋ค. ์ด KEXT๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค:
EndpointSecurityDriver: ์ด๋ ์ปค๋ ํ์ฅ์ "์ง์ ์ "์ผ๋ก ์๋ํฉ๋๋ค. ์ด๋ OS์ Endpoint Security ํ๋ ์์ํฌ ๊ฐ์ ์ฃผ์ ์ํธ ์์ฉ ์ง์ ์ ๋๋ค.
EndpointSecurityEventManager: ์ด ๊ตฌ์ฑ ์์๋ ์ปค๋ ํํน์ ๊ตฌํํ๋ ๋ฐ ์ฑ ์์ด ์์ต๋๋ค. ์ปค๋ ํํน์ ํตํด ํ๋ ์์ํฌ๋ ์์คํ ํธ์ถ์ ๊ฐ๋ก์ฑ์ด ์์คํ ์ด๋ฒคํธ๋ฅผ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค.
EndpointSecurityClientManager: ์ด๋ ์ฌ์ฉ์ ๊ณต๊ฐ ํด๋ผ์ด์ธํธ์์ ํต์ ์ ๊ด๋ฆฌํ๋ฉฐ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ ๋ฐ ์ด๋ฒคํธ ์๋ฆผ์ ๋ฐ์์ผ ํ๋ ํด๋ผ์ด์ธํธ๋ฅผ ์ถ์ ํฉ๋๋ค.
EndpointSecurityMessageManager: ์ด๋ ๋ฉ์์ง ๋ฐ ์ด๋ฒคํธ ์๋ฆผ์ ์ฌ์ฉ์ ๊ณต๊ฐ ํด๋ผ์ด์ธํธ๋ก ๋ณด๋ ๋๋ค.
Endpoint Security ํ๋ ์์ํฌ๊ฐ ๋ชจ๋ํฐ๋งํ ์ ์๋ ์ด๋ฒคํธ๋ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฅ๋ฉ๋๋ค:
ํ์ผ ์ด๋ฒคํธ
ํ๋ก์ธ์ค ์ด๋ฒคํธ
์์ผ ์ด๋ฒคํธ
์ปค๋ ์ด๋ฒคํธ(์ปค๋ ํ์ฅ ๋ก๋/์ธ๋ก๋ ๋๋ I/O Kit ์ฅ์น ์คํ๊ณผ ๊ฐ์)
์๋ํฌ์ธํธ ๋ณด์ ํ๋ ์์ํฌ์์ ์ฌ์ฉ์ ๊ณต๊ฐ ํต์ ์ IOUserClient ํด๋์ค๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. ํธ์ถ์ ์ ํ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ค๋ฅธ ํ์ ํด๋์ค๊ฐ ์ฌ์ฉ๋ฉ๋๋ค:
EndpointSecurityDriverClient: ์ด๋ com.apple.private.endpoint-security.manager
๊ถํ์ด ํ์ํ๋ฉฐ, ์์คํ
ํ๋ก์ธ์ค์ธ endpointsecurityd
๋ง์ด ํด๋น ๊ถํ์ ์์ ํฉ๋๋ค.
EndpointSecurityExternalClient: ์ด๋ com.apple.developer.endpoint-security.client
๊ถํ์ด ํ์ํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์๋ํฌ์ธํธ ๋ณด์ ํ๋ ์์ํฌ์ ์ํธ ์์ฉํด์ผ ํ๋ ํ์ฌ ๋ณด์ ์ํํธ์จ์ด์์ ์ฌ์ฉ๋ฉ๋๋ค.
์๋ํฌ์ธํธ ๋ณด์ ํ์ฅ:**libEndpointSecurity.dylib
**๋ ์์คํ
ํ์ฅ์ด ์ปค๋๊ณผ ํต์ ํ๋ ๋ฐ ์ฌ์ฉํ๋ C ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ I/O Kit(IOKit
)์ ์ฌ์ฉํ์ฌ Endpoint Security KEXT์ ํต์ ํฉ๋๋ค.
**endpointsecurityd
**๋ ์ด๊ธฐ ๋ถํ
ํ๋ก์ธ์ค ์ค์ ์๋ํฌ์ธํธ ๋ณด์ ์์คํ
ํ์ฅ์ ๊ด๋ฆฌํ๊ณ ์์ํ๋ ๋ฐ ๊ด์ฌํ๋ ์ฃผ์ ์์คํ
๋ฐ๋ชฌ์
๋๋ค. Info.plist
ํ์ผ์์ **NSEndpointSecurityEarlyBoot
**๋ก ํ์๋ ์์คํ
ํ์ฅ๋ง์ด ์ด ์ด๊ธฐ ๋ถํ
์ฒ๋ฆฌ๋ฅผ ๋ฐ์ต๋๋ค.
๋ค๋ฅธ ์์คํ
๋ฐ๋ชฌ์ธ **sysextd
**๋ ์์คํ
ํ์ฅ์ ์ ํจ์ฑ ๊ฒ์ฌํ๊ณ ์ ์ ํ ์์คํ
์์น๋ก ์ด๋์ํต๋๋ค. ๊ทธ๋ฐ ๋ค์ ํด๋น ๋ฐ๋ชฌ์ ํ์ฅ์ ๋ก๋ํ๋๋ก ์์ฒญํฉ๋๋ค. **SystemExtensions.framework
**๋ ์์คํ
ํ์ฅ์ ํ์ฑํํ๊ณ ๋นํ์ฑํํ๋ ๋ฐ ์ฑ
์์ด ์์ต๋๋ค.
ESF๋ ๋ ๋ ํ์ ๊ฐ์งํ๋ ค๋ ๋ณด์ ๋๊ตฌ์์ ์ฌ์ฉ๋๋ฏ๋ก ์ด๋ฅผ ํผํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ ํฅ๋ฏธ๋ก์ธ ์ ์์ต๋๋ค.
๋ณด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฒด ๋์คํฌ ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๊ณต๊ฒฉ์๊ฐ ํด๋น ๊ถํ์ ์ ๊ฑฐํ ๊ฒฝ์ฐ ์ํํธ์จ์ด๊ฐ ์คํ๋์ง ์๋๋ก ๋ฐฉ์งํ ์ ์์ต๋๋ค:
๋ ๋ง์ ์ ๋ณด๋ฅผ ์ํ์๋ฉด ์ด ์ฐํ ๋ฐ ๊ด๋ จ ์ฐํ ๊ธฐ๋ฒ์ ํ์ธํ์ญ์์ค. #OBTS v5.0: "EndpointSecurity์ ์ฝ์ " - Fitzl Csaba
๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๋ **tccd
**์ ์ํด ๊ด๋ฆฌ๋๋ ๋ณด์ ์ฑ์ ์ ๊ถํ **kTCCServiceEndpointSecurityClient
**์ ๋ถ์ฌํจ์ผ๋ก์จ ํด๊ฒฐ๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด tccutil
์ด ๊ถํ์ ์ง์ฐ์ง ์์ ์คํ์ ๋ฐฉํดํ์ง ์๋๋ก ํ์ต๋๋ค.