macOS Office Sandbox Bypasses
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Word Sandbox bypass via Launch Agents
์ด ์ ํ๋ฆฌ์ผ์ด์
์ com.apple.security.temporary-exception.sbpl ๊ถํ์ ์ฌ์ฉํ๋ ์ปค์คํ
์๋๋ฐ์ค๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ด ์ปค์คํ
์๋๋ฐ์ค๋ ํ์ผ ์ด๋ฆ์ด ~$๋ก ์์ํ๋ ํ ์ด๋์๋ ํ์ผ์ ์ธ ์ ์๋๋ก ํ์ฉํฉ๋๋ค: (require-any (require-all (vnode-type REGULAR-FILE) (regex #"(^|/)~$[^/]+$")))
๋ฐ๋ผ์ ํ์ถ์ **~/Library/LaunchAgents/~$escape.plist**์ plist LaunchAgent๋ฅผ ์์ฑํ๋ ๊ฒ๋งํผ ์ฌ์ ์ต๋๋ค.
์๋ณธ ๋ณด๊ณ ์ ํ์ธํ๊ธฐ๋ฅผ ํ์ธํ์ธ์.
Word Sandbox bypass via Login Items and zip
์ฒซ ๋ฒ์งธ ํ์ถ์์ Word๋ ์ด๋ฆ์ด ~$๋ก ์์ํ๋ ์์์ ํ์ผ์ ์ธ ์ ์์ง๋ง, ์ด์ ์ทจ์ฝ์ ์ ํจ์น ์ดํ /Library/Application Scripts ๋๋ /Library/LaunchAgents์ ์ธ ์๋ ์์์ต๋๋ค.
์๋๋ฐ์ค ๋ด์์ ๋ก๊ทธ์ธ ํญ๋ชฉ(์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ ๋ ์คํ๋๋ ์ฑ)์ ์์ฑํ ์ ์๋ค๋ ๊ฒ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์ฑ์ notarized๋์ง ์์ผ๋ฉด ์คํ๋์ง ์์ผ๋ฉฐ, args๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค(๋ฐ๋ผ์ **bash**๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ๋ฒ์ค ์
ธ์ ์คํํ ์ ์์ต๋๋ค).
์ด์ ์๋๋ฐ์ค ์ฐํ๋ก ์ธํด Microsoft๋ ~/Library/LaunchAgents์ ํ์ผ์ ์ธ ์ ์๋ ์ต์
์ ๋นํ์ฑํํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ก๊ทธ์ธ ํญ๋ชฉ์ผ๋ก zip ํ์ผ์ ๋ฃ์ผ๋ฉด Archive Utility๊ฐ ํ์ฌ ์์น์์ ์์ถ์ ํ๊ธฐ๋ง ํ๋ค๋ ๊ฒ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ~/Library์ LaunchAgents ํด๋๊ฐ ์์ฑ๋์ง ์๊ธฐ ๋๋ฌธ์ **LaunchAgents/~$escape.plist**์ plist๋ฅผ ์์ถํ๊ณ **~/Library**์ zip ํ์ผ์ ๋ฐฐ์นํ๋ฉด ์์ถ ํด์ ์ ์ง์์ฑ ๋ชฉ์ ์ง์ ๋๋ฌํ ์ ์์์ต๋๋ค.
์๋ณธ ๋ณด๊ณ ์ ํ์ธํ๊ธฐ๋ฅผ ํ์ธํ์ธ์.
Word Sandbox bypass via Login Items and .zshenv
(์ฒซ ๋ฒ์งธ ํ์ถ์์ Word๋ ์ด๋ฆ์ด ~$๋ก ์์ํ๋ ์์์ ํ์ผ์ ์ธ ์ ์๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์ธ์).
๊ทธ๋ฌ๋ ์ด์ ๊ธฐ์ ์๋ ์ ํ์ด ์์์ต๋๋ค. ~/Library/LaunchAgents ํด๋๊ฐ ๋ค๋ฅธ ์ํํธ์จ์ด์ ์ํด ์์ฑ๋ ๊ฒฝ์ฐ ์คํจํ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ด๋ฅผ ์ํ ๋ค๋ฅธ ๋ก๊ทธ์ธ ํญ๋ชฉ ์ฒด์ธ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค.
๊ณต๊ฒฉ์๋ .bash_profile ๋ฐ .zshenv ํ์ผ์ ์์ฑํ๊ณ ์คํํ ํ์ด๋ก๋๋ฅผ ์ถ๊ฐํ ๋ค์ ์ด๋ฅผ ์์ถํ๊ณ ํฌ์์์ ์ฌ์ฉ์ ํด๋์ **~/~$escape.zip**๋ก ์์ฑํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ zip ํ์ผ์ ๋ก๊ทธ์ธ ํญ๋ชฉ์ ์ถ๊ฐํ๊ณ Terminal ์ฑ์ ์ถ๊ฐํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ค์ ๋ก๊ทธ์ธํ๋ฉด zip ํ์ผ์ด ์ฌ์ฉ์ ํ์ผ์ ์์ถ ํด์ ๋์ด .bash_profile ๋ฐ **.zshenv**๋ฅผ ๋ฎ์ด์ฐ๊ฒ ๋๊ณ , ๋ฐ๋ผ์ ํฐ๋ฏธ๋์ ์ด ํ์ผ ์ค ํ๋๋ฅผ ์คํํ๊ฒ ๋ฉ๋๋ค(์ฌ์ฉ๋๋ ์
ธ์ ๋ฐ๋ผ ๋ค๋ฆ).
์๋ณธ ๋ณด๊ณ ์ ํ์ธํ๊ธฐ๋ฅผ ํ์ธํ์ธ์.
Word Sandbox Bypass with Open and env variables
์๋๋ฐ์ค๋ ํ๋ก์ธ์ค์์ ์ฌ์ ํ open ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค. ๊ฒ๋ค๊ฐ ์ด๋ฌํ ํ๋ก์ธ์ค๋ ์์ ์ ์๋๋ฐ์ค ๋ด์์ ์คํ๋ฉ๋๋ค.
open ์ ํธ๋ฆฌํฐ์๋ ํน์ env ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์คํํ๋ --env ์ต์
์ด ์๋ค๋ ๊ฒ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค. ๋ฐ๋ผ์ ์๋๋ฐ์ค ๋ด์ ํด๋์ .zshenv ํ์ผ์ ์์ฑํ๊ณ --env๋ก HOME ๋ณ์๋ฅผ ํด๋น ํด๋๋ก ์ค์ ํ์ฌ Terminal ์ฑ์ ์ด๋ฉด .zshenv ํ์ผ์ด ์คํ๋ฉ๋๋ค(์ด๋ค ์ด์ ๋ก ์ธํด __OSINSTALL_ENVIROMENT ๋ณ์๋ฅผ ์ค์ ํด์ผ ํ์ต๋๋ค).
์๋ณธ ๋ณด๊ณ ์ ํ์ธํ๊ธฐ๋ฅผ ํ์ธํ์ธ์.
Word Sandbox Bypass with Open and stdin
open ์ ํธ๋ฆฌํฐ๋ --stdin ๋งค๊ฐ๋ณ์๋ ์ง์ํ์ต๋๋ค(์ด์ ์ฐํ ์ดํ --env๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค).
๋ฌธ์ ๋ **python**์ด Apple์ ์ํด ์๋ช
๋์๋๋ผ๋ quarantine ์์ฑ์ด ์๋ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ stdin์์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๋ฌํ๋ฉด ๊ฒฉ๋ฆฌ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์๊ฒ ๋ฉ๋๋ค:
- ์์์ Python ๋ช
๋ น์ด ํฌํจ๋
~$exploit.pyํ์ผ์ ๋๋กญํฉ๋๋ค. - open **
โstdin='~$exploit.py' -a Python**์ ์คํํ์ฌ Python ์ฑ์ ์คํํ๊ณ , ๋๋กญํ ํ์ผ์ ํ์ค ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. Python์ ์ฐ๋ฆฌ์ ์ฝ๋๋ฅผ ๊ธฐ๊บผ์ด ์คํํ๋ฉฐ, ์ด๋ _launchd_์ ์์ ํ๋ก์ธ์ค์ด๋ฏ๋ก Word์ ์๋๋ฐ์ค ๊ท์น์ ๊ตฌ์๋์ง ์์ต๋๋ค.
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 ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


