[iOS] FairPlay DRM ๋ณตํ˜ธํ™”

๊ฐœ์š” iOS ์•ฑ์„ ์ง„๋‹จ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ณ„๋„์˜ iPA ํŒŒ์ผ์„ ์ „๋‹ฌ๋ฐ›์•„ ๋ถ„์„์„ ํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ ‡์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ์„œ๋น„์Šค์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์•ฑ ์Šคํ† ์–ด์—์„œ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์ง„ํ–‰ํ•ด์•ผ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ์ „๋‹ฌ๋ฐ›์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ์•ฑ ์Šคํ† ์—์„œ ๋‚ด๋ ค๋ฐ›์„ ๊ฒฝ์šฐ์—๋Š” ์•ฑ ๋‚ด๋ถ€์˜ ์ฝ”๋“œ ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ "FairPlay Code" ์•”ํ˜ธํ™”๊ฐ€ ์ ์šฉ๋˜์–ด ์žˆ๋Š”๋ฐ ์•”ํ˜ธํ™”๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์€ ์ปค๋„์˜ "Match-O"๋กœ๋”์— ์˜ํ•ด ๋Ÿฐํƒ€์ž„ ์ค‘์— ํ•ด๋…์ด ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ ์•ฑ ์Šคํ† ์—์„œ ๋ฐ›์€ ์•ฑ์˜ ๋ฆฌ๋ฒ„์‹ฑ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ธฐ ์œ„ํ•ด์„  ์‚ฌ์ „์— ๋ณตํ˜ธํ™” ์ž‘์—…์„ ์ง„ํ–‰ํ•ด์•ผ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. otool -l Binaryname | grep -A4 LC_ENCRYPTION_INFO otool์„ ํ†ตํ•ด ์•ฑ์˜ FairPlay DRM ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด "cyptid..

MOBILE September 26, 2021
[iOS] Shared Clipboard ์ทจ์•ฝ์ 

๊ฐœ์š” iOS์—์„œ๋Š” ์„ค์น˜๋œ ์•ฑ ๊ฐ„์— ์‚ฌ์šฉ์ž์˜ ํŽธ์˜์„ฑ์„ ์œ„ํ•œ "๊ณต์œ  ํด๋ฆฝ๋ณด๋“œ"๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ์•ฑ์—์„œ ์ผ๋ถ€ ํ…์ŠคํŠธ๋ฅผ "๋ณต์‚ฌ" ๋˜๋Š” "์ž˜๋ผ๋‚ด๊ธฐ"์‹œ -> pasteboard ๋ฒ„ํผ์— ์ €์žฅ๋˜๋ฉฐ ์ด๋Š” ๋‹ค๋ฅธ ์•ฑ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์กฐ์‹ฌํ•ด์•ผ ๋  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์•ฑ ๋‚ด๋ถ€์— ๋‹จ์ˆœ ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋‹จ๋ง ์žฅ์น˜ ๋‚ด๋ถ€์— ๋ฒ„ํผ ํ˜•ํƒœ๋กœ ๊ธฐ๋ก๋˜๊ธฐ์— ๋‹ค๋ฅธ ์•ฑ์„ ํ†ตํ•ด ์ด ๊ฐ’์„ ํ˜ธ์ถœํ•˜์—ฌ ์œ ์ถœํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์„œ๋กœ ๊ฐ„์— ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋ฆฝ๋ณด๋“œ๋ฅผ ์• ํ”Œ์—์„œ๋Š” Pasteboard๋ผ๊ณ ๋„ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๊ด€์ ์—์„œ ๋ณด์ž๋ฉด ์ด ๊ธฐ๋Šฅ์€ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ณ  ํ•„์ˆ˜์ ์ธ ์—ญํ• ๋กœ ์ž๋ฆฌ ์žก์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์น˜ ๊ธด ๋ฐ์ดํ„ฐ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๋Š” ์—ฐ๋ฝ์ฒ˜, ์ฃผ์†Œ, ์นด๋“œ๋ฒˆํ˜ธ ๋“ฑ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ณดํ†ต ๋ณต์‚ฌ ๋ฐ‘ ๋ถ™์—ฌ ๋„ฃ๊ธฐ๋ฅผ ..

MOBILE September 25, 2021
[iOS] Functions Hooking

What Functions? iOS ์•ฑ์„ ์ง„๋‹จํ•˜๋‹ค ๋ณด๋ฉด ํƒˆ์˜ฅ์„ ํƒ์ง€ํ•˜๋Š” ํŠน์ • ๋ฒ„์ „์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋””๋ฐ”์ด์Šค ๋‚ด๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š”์ง€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ ๋Œ€ํ‘œ์ ์œผ๋กœ NSFileManager ํด๋ž˜์Šค์˜ "fileExistsAtpath:"๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์‹คํ–‰๋œ ๋””๋ฐ”์ด์Šค ๋‚ด๋ถ€์— ํƒˆ์˜ฅ๊ณผ ๊ด€๋ จ๋œ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š”์ง€ ์ฒดํฌ ํ›„ Boolean ๋ฐ˜ํ™˜์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ UIApplication ํด๋ž˜์Šค์˜ "canOpenURL:" ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํƒˆ์˜ฅ๊ณผ ๊ด€๋ จ๋œ ์•ฑ์ด ์กด์žฌํ•˜๋Š”์ง€ URL Scheme ํ˜ธ์ถœํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. Example ์ฝ”๋“œ NSString *filePath = @"/Applications/Cydia.app"; if ([[NSFileManager defaultManager] f..

MOBILE September 24, 2021
[iOS] Objection ์ฃผ์š” ๋ช…๋ น์–ด

๊ฐœ์š” ์•ฑ ์ง„๋‹จ์„ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด๋ผ๋ฉด ๋Œ€ํ‘œ์ ์œผ๋กœ Frida, Drozer ๋“ฑ ์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด์„œ ๋™์ , ์ •์  ์ง„๋‹จ์„ ํ•˜์‹œ์ง€๋งŒ Objection์ด๋ผ๋Š” ํˆด์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ช‡ ๊ฐ€์ง€ ๋„๊ตฌ๋“ค๊ณผ ์กฐํ•ฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‹œ๋„๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Objection์€ Run-Time Exploration ์ฆ‰ ๋Ÿฐํƒ€์ž„์„ ์กฐ์ž‘ํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํ–‰์œ„๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ์„ธ์Šค์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฃผ์ž…ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉฐ Frida ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Python3 ํ™˜๊ฒฝ์—์„œ frida ํ™˜๊ฒฝ์„ ์‚ฌ์ „์— ๊ตฌ์ถ•ํ•ด์ฃผ์‹œ๊ณ  pip install์„ ํ†ตํ•ด objection์„ ์„ค์น˜ํ•ด์•ผ ๋ฉ๋‹ˆ๋‹ค. *ํ”„๋ฆฌ๋‹ค ํ™˜๊ฒฝ ๊ตฌ์ถ• guleum-zone.tistory.com/137 ํ”„๋ฆฌ๋‹ค(Frida) ํ™˜๊ฒฝ ๊ตฌ์ถ• ๊ฐœ์š” Frida๋ž€ Ole๊ฐ€ ๊ฐœ๋ฐœํ•œ DBI(Dynamic Binary..

MOBILE February 14, 2021
[Android] Data Storage(Plain/Encryption) ์ทจ์•ฝ์ 

๊ฐœ์š” Mobile OWASP Top 10 ์ค‘ ์•„์ง๋„ ๋†’์€ ์ˆœ์œ„๊ถŒ์— ์ž๋ฆฌ ์žก๊ณ  ์žˆ๋Š” ์ทจ์•ฝ์  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๋“ค์ด ์•ฑ์„ ๊ฐœ๋ฐœ ๊ตฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„์—์„œ ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ํƒ€ ์‚ฌ์šฉ์ž๋“ค์ด ์‰ฝ๊ฒŒ ์•ก์„ธ์Šค ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ œํ•œ์„ ํ•˜์ง€๋งŒ ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์ผ์ง€๋ผ๋„ ๋ฃจํŒ… ๋˜๋Š” ํƒˆ์˜ฅ์„ ํ†ตํ•ด ๋†’์€ ๊ถŒํ•œ์„ ํš๋“ํ•˜๊ฒŒ ๋˜๊ณ  ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์šฐํšŒํ•˜์—ฌ ์•ก์„ธ์Šค๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. ๋ณดํ†ต ์•…์„ฑ ์•ฑ์ด๋‚˜ ์•…์˜์ ์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ถ„์‹ค๋œ ๋‹จ๋ง์„ ๋Œ€์ƒ์œผ๋กœ ๊ฐœ์ธ์ •๋ณด๋ฅผ ํš๋“ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 1.log file 2.Plist file 3.androidmanifest.xml / SharedPreferecnes.xml 4.SQLite databases 5.Binary data stores 6.SD Card 7.Cloud synced ์œ„์˜ ..

MOBILE February 13, 2021
[Android] Content Provider ์ทจ์•ฝ์ 

๊ฐœ์š” ์•ˆ๋“œ๋กœ์ด๋“œ์˜ Content Provider๋Š” "์ฝ˜ํ…์ธ  ์ œ๊ณต์ž "๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ค‘์•™ ์ €์žฅ์†Œ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋Š” ๊ณต๊ฐ„์— ๋‹ค๋ฅธ ์•ฑ์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” 4๋Œ€ ์ปดํฌ๋„ŒํŠธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๋‚˜ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, Web ๋“ฑ์„ ํ†ตํ•ด์„œ ๊ด€๋ฆฌํ•˜๋ฉฐ ์ฝ˜ํ…์ธ  ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•ฑ ๊ณผ ์•ฑ ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ†ต์ œํ•˜๊ธฐ ์œ„ํ•ด "Content Resolver"๋ผ๋Š” ์ค‘๊ฐœ์ž ์—ญํ• ์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋•Œ ์ฝ˜ํ…์ธ  ์ œ๊ณต์ž์˜ ์ฃผ์†Œ์ธ ์ฆ‰ ์ด๋™ํ•˜๊ณ ์ž ํ•˜๋Š” URI๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด์•ผ ๋ฉ๋‹ˆ๋‹ค. *uri ํ˜•ํƒœ -> content://user_dictionary/test ๋“ฑ Content Provider๋Š” ์ปดํฌ๋„ŒํŠธ ์ค‘ ์ผ๋ถ€์ด๊ธฐ ..

MOBILE February 10, 2021
[Android] Broadcast Receiver ์ทจ์•ฝ์ 

๊ฐœ์š” ์•ˆ๋“œ๋กœ์ด๋“œ์˜ Broadcast Receiver๋Š” "๋ฐฉ์†ก ์ˆ˜์‹ ์ž"๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ 4๋Œ€ ๊ตฌ์„ฑ ๋‹จ์œ„์ค‘ ํ•˜๋‚˜๋กœ ์ธํ…ํŠธ(Intent)๋ผ๋Š” ์ผ์ข…์˜ ๋ฉ”์‹œ์ง€ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ๋“œ๋กœ์ด๋“œ์™€ ์‚ฌ์šฉ์ž ๊ฐ„์— ์ƒํ˜ธ์ž‘์šฉ์„ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ Broadcast Receiver๋ž€ ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์กด์žฌํ•˜๋Š” ์ด๋ฒคํŠธ๋“ค์ด ๋ฐœ์ƒํ•˜๋ฉด ๊ฐ ๊ฐ์ฒด๋“ค๋กœ ์ ์ ˆํ•œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋œ๋Š”๋ฐ ์ด๋•Œ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์•„ ์‚ฌ์ „์— ์ •์˜ํ•ด๋†“์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ „์— ์ •์˜ ํ•ด๋†“์€ ์ž‘์—…์ด๋ž€?? ๋ฐฐํ„ฐ๋ฆฌ ์ƒํƒœ ์•Œ๋ฆผ(๋ฐฐํ„ฐ๋ฆฌ ๋ถ€์กฑ/์ถฉ๋ถ„) ๋ฉ”์‹œ์ง€ ์†ก/์ˆ˜์‹ (๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก/์‹คํŒจ๋˜์—ˆ์Šต๋‹ˆ๋‹ค) ์ธ์ฆ์ฝ”๋“œ ์ž…๋ ฅ ์‚ฌ์ง„ ์บก์ฒ˜(์‚ฌ์ง„์ด ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค) ๋งŒ์•ฝ ๋ณ„๋„์˜ ๊ถŒํ•œ์ด ์—†๋Š” ์ฆ‰ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฆฌ์‹œ๋ฒ„ ์„ค์ •์„ ํ•ด๋‘” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ›๋Š” ์ •์ƒ์ ์ธ ์•Œ๋ฆผ์„ ์ค‘๊ฐ„..

MOBILE February 9, 2021