์ปดํŒŒ์ผ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ถŒํ•œ ์ถ”์ถœ

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

ํŽ˜์ด์ง€ ์š”์•ฝ https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary

๊ถŒํ•œ ๋ฐ ๋ชจ๋ฐ”์ผ ํ”„๋กœ๋น„์ „ ํŒŒ์ผ ์ถ”์ถœ

์•ฑ์˜ IPA ๋˜๋Š” ํƒˆ์˜ฅ๋œ ์žฅ์น˜์— ์„ค์น˜๋œ ์•ฑ์„ ๋‹ค๋ฃฐ ๋•Œ, .entitlements ํŒŒ์ผ์ด๋‚˜ embedded.mobileprovision ํŒŒ์ผ์„ ์ง์ ‘ ์ฐพ๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ถŒํ•œ ์†์„ฑ ๋ชฉ๋ก์€ โ€œiOS ๊ธฐ๋ณธ ๋ณด์•ˆ ํ…Œ์ŠคํŠธโ€ ์žฅ์˜ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ผ ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ์—ฌ์ „ํžˆ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ โ€œ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ ํš๋“โ€ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์•”ํ˜ธํ™”๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ๋„ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ, Clutch(ํ˜ธํ™˜๋˜๋Š” iOS ๋ฒ„์ „์ผ ๊ฒฝ์šฐ), frida-ios-dump ๋˜๋Š” ์œ ์‚ฌํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์•ฑ์„ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์ถ”์ถœํ•˜๋Š” ๋ฐ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ๊ถŒํ•œ plist ์ถ”์ถœ

์ปดํ“จํ„ฐ์—์„œ ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, binwalk๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  XML ํŒŒ์ผ์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์€ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค:

$ binwalk -e -y=xml ./Telegram\ X

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
1430180       0x15D2A4        XML document, version: "1.0"
1458814       0x16427E        XML document, version: "1.0"

๋Œ€์•ˆ์œผ๋กœ, radare2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์šฉํžˆ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ์ข…๋ฃŒํ•˜๋ฉฐ, โ€œPropertyListโ€œ๋ฅผ ํฌํ•จํ•˜๋Š” ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

$ r2 -qc 'izz~PropertyList' ./Telegram\ X

0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...

๋‘ ๋ฐฉ๋ฒ•์ธ binwalk์™€ radare2๋Š” plist ํŒŒ์ผ์˜ ์ถ”์ถœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•(0x0015d2a4)์˜ ๊ฒ€ํ† ๋ฅผ ํ†ตํ•ด Telegram์˜ ์›๋ณธ entitlements ํŒŒ์ผ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ณต๊ตฌํ•œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํƒˆ์˜ฅ๋œ ์žฅ์น˜์—์„œ ์ ‘๊ทผํ•œ ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ(์˜ˆ: SSH๋ฅผ ํ†ตํ•ด)์—์„œ๋Š” grep ๋ช…๋ น์–ด์™€ -a, --text ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํŒŒ์ผ์„ ASCII ํ…์ŠคํŠธ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...

-A num, --after-context=num ํ”Œ๋ž˜๊ทธ๋ฅผ ์กฐ์ •ํ•˜๋ฉด ๋” ๋งŽ์€ ๋˜๋Š” ๋” ์ ์€ ์ค„์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์•”ํ˜ธํ™”๋œ ์•ฑ ๋ฐ”์ด๋„ˆ๋ฆฌ์—๋„ ์œ ํšจํ•˜๋ฉฐ ์—ฌ๋Ÿฌ App Store ์•ฑ์— ๋Œ€ํ•ด ๊ฒ€์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์„œ ์–ธ๊ธ‰ํ•œ ๋„๊ตฌ๋“ค์€ ์œ ์‚ฌํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ํƒˆ์˜ฅ๋œ iOS ์žฅ์น˜์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : ์ด ์ž‘์—…์— ๋Œ€ํ•ด strings ๋ช…๋ น์–ด๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด -a ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ grep์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ radare2(izz)/rabin2(-zz)๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ๊ณผ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ๋ฐ ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค.

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