
๊ฐ์ iOS ์ฑ์ ์ง๋จ์ ํ๊ธฐ ์ํด์ ๋ณ๋์ iPA ํ์ผ์ ์ ๋ฌ๋ฐ์ ๋ถ์์ ํ๊ฑฐ๋ ๊ทธ๋ ์ง ๋ชปํ ๊ฒฝ์ฐ ์๋น์ค์ ๋ฑ๋ก๋์ด ์๋ ์ฑ ์คํ ์ด์์ ์ง์ ๋ค์ด๋ก๋ํ์ฌ ์งํํด์ผ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ง์ ์ ๋ฌ๋ฐ์ผ๋ฉด ๋ฌธ์ ๊ฐ ์์ง๋ง ์ฑ ์คํ ์์ ๋ด๋ ค๋ฐ์ ๊ฒฝ์ฐ์๋ ์ฑ ๋ด๋ถ์ ์ฝ๋ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํ "FairPlay Code" ์ํธํ๊ฐ ์ ์ฉ๋์ด ์๋๋ฐ ์ํธํ๋ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ์ปค๋์ "Match-O"๋ก๋์ ์ํด ๋ฐํ์ ์ค์ ํด๋ ์ด ๋ฉ๋๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ์ฑ ์คํ ์์ ๋ฐ์ ์ฑ์ ๋ฆฌ๋ฒ์ฑ ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ์ํด์ ์ฌ์ ์ ๋ณตํธํ ์์ ์ ์งํํด์ผ ๋๋ค๋ ๊ฒ์ ๋๋ค. otool -l Binaryname | grep -A4 LC_ENCRYPTION_INFO otool์ ํตํด ์ฑ์ FairPlay DRM ์ฌ๋ถ๋ฅผ ํ์ธํด๋ณด๋ฉด "cyptid..

๊ฐ์ iOS์์๋ ์ค์น๋ ์ฑ ๊ฐ์ ์ฌ์ฉ์์ ํธ์์ฑ์ ์ํ "๊ณต์ ํด๋ฆฝ๋ณด๋"๊ฐ ์์ต๋๋ค. ์คํ ์ค์ธ ์ฑ์์ ์ผ๋ถ ํ ์คํธ๋ฅผ "๋ณต์ฌ" ๋๋ "์๋ผ๋ด๊ธฐ"์ -> pasteboard ๋ฒํผ์ ์ ์ฅ๋๋ฉฐ ์ด๋ ๋ค๋ฅธ ์ฑ์์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ์กฐ์ฌํด์ผ ๋ ํ์๊ฐ ์์ต๋๋ค. ์๋ํ๋ฉด ์ฑ ๋ด๋ถ์ ๋จ์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋ ๋จ๋ง ์ฅ์น ๋ด๋ถ์ ๋ฒํผ ํํ๋ก ๊ธฐ๋ก๋๊ธฐ์ ๋ค๋ฅธ ์ฑ์ ํตํด ์ด ๊ฐ์ ํธ์ถํ์ฌ ์ ์ถํ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ก ๊ฐ์ ๊ณต์ ํ ์ ์๋ ํด๋ฆฝ๋ณด๋๋ฅผ ์ ํ์์๋ Pasteboard๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค. ์ฌ์ฉ์ ๊ด์ ์์ ๋ณด์๋ฉด ์ด ๊ธฐ๋ฅ์ ๋งค์ฐ ํธ๋ฆฌํ๊ณ ํ์์ ์ธ ์ญํ ๋ก ์๋ฆฌ ์ก์ ์์ต๋๋ค. ๋ง์น ๊ธด ๋ฐ์ดํฐ ํํ๋ฅผ ๊ฐ์ง๋ ์ฐ๋ฝ์ฒ, ์ฃผ์, ์นด๋๋ฒํธ ๋ฑ์ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋ณดํต ๋ณต์ฌ ๋ฐ ๋ถ์ฌ ๋ฃ๊ธฐ๋ฅผ ..

What Functions? iOS ์ฑ์ ์ง๋จํ๋ค ๋ณด๋ฉด ํ์ฅ์ ํ์งํ๋ ํน์ ๋ฒ์ ์ด ์์ ์๋ ์๊ณ ์ด๋ค ํจ์๋ฅผ ํตํด ๋๋ฐ์ด์ค ๋ด๋ถ๋ฅผ ๊ฒ์ฌํ๋์ง ์กฐ๊ธ์ฉ ๋ค๋ฆ ๋๋ค. ๊ทธ์ค์์ ๋ํ์ ์ผ๋ก NSFileManager ํด๋์ค์ "fileExistsAtpath:"๋ฅผ ํตํด ํ์ฌ ์คํ๋ ๋๋ฐ์ด์ค ๋ด๋ถ์ ํ์ฅ๊ณผ ๊ด๋ จ๋ ๋๋ ํ ๋ฆฌ ๋๋ ํ์ผ์ด ์กด์ฌํ๋์ง ์ฒดํฌ ํ Boolean ๋ฐํ์ ์งํํ๋ ๋ฐฉ๋ฒ๊ณผ UIApplication ํด๋์ค์ "canOpenURL:" ํจ์๋ฅผ ํตํด ํ์ฅ๊ณผ ๊ด๋ จ๋ ์ฑ์ด ์กด์ฌํ๋์ง URL Scheme ํธ์ถํ๋ 2๊ฐ์ง ๋ฐฉ์์ด ์กด์ฌํฉ๋๋ค. Example ์ฝ๋ NSString *filePath = @"/Applications/Cydia.app"; if ([[NSFileManager defaultManager] f..

๊ฐ์ ์ฑ ์ง๋จ์ ํ์๋ ๋ถ๋ค์ด๋ผ๋ฉด ๋ํ์ ์ผ๋ก 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 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 ์์ ..

๊ฐ์ ์๋๋ก์ด๋์ Content Provider๋ "์ฝํ ์ธ ์ ๊ณต์ "๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์ ์ฅ์ ๊ฐ์ ์ญํ ์ ํ๋ ๊ณต๊ฐ์ ๋ค๋ฅธ ์ฑ์ด ์ ๊ทผํ ์ ์๋๋ก ๋์์ฃผ๋ 4๋ ์ปดํฌ๋ํธ ์ค ํ๋์ ๋๋ค. ์ฃผ๋ก ํ์ผ ์์คํ ์ด๋ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค, Web ๋ฑ์ ํตํด์ ๊ด๋ฆฌํ๋ฉฐ ์ฝํ ์ธ ํ๋ก๋ฐ์ด๋๋ฅผ ํตํด ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฌํ ์ฑ ๊ณผ ์ฑ ์ฌ์ด์ ๋ฐ์ดํฐ ์ ๊ทผ์ ๊ด๋ฆฌํ๊ณ ํต์ ํ๊ธฐ ์ํด "Content Resolver"๋ผ๋ ์ค๊ฐ์ ์ญํ ์ด ์กด์ฌํ๋๋ฐ ์ด๋ ์ฝํ ์ธ ์ ๊ณต์์ ์ฃผ์์ธ ์ฆ ์ด๋ํ๊ณ ์ ํ๋ URI๊ฐ ๋ฑ๋ก๋์ด ์์ด์ผ ๋ฉ๋๋ค. *uri ํํ -> content://user_dictionary/test ๋ฑ Content Provider๋ ์ปดํฌ๋ํธ ์ค ์ผ๋ถ์ด๊ธฐ ..

๊ฐ์ ์๋๋ก์ด๋์ Broadcast Receiver๋ "๋ฐฉ์ก ์์ ์"๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ 4๋ ๊ตฌ์ฑ ๋จ์์ค ํ๋๋ก ์ธํ ํธ(Intent)๋ผ๋ ์ผ์ข ์ ๋ฉ์์ง ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์๋๋ก์ด๋์ ์ฌ์ฉ์ ๊ฐ์ ์ํธ์์ฉ์ ํฉ๋๋ค. ์ฌ๊ธฐ์ Broadcast Receiver๋ ์๋๋ก์ด๋์์ ์กด์ฌํ๋ ์ด๋ฒคํธ๋ค์ด ๋ฐ์ํ๋ฉด ๊ฐ ๊ฐ์ฒด๋ค๋ก ์ ์ ํ ๋ธ๋ก๋์บ์คํธ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ฒ ๋๋๋ฐ ์ด๋ ์ ํธ๋ฅผ ๋ฐ์ ์ฌ์ ์ ์ ์ํด๋์ ์์ ์ ์ํํด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ฌ์ ์ ์ ์ ํด๋์ ์์ ์ด๋?? ๋ฐฐํฐ๋ฆฌ ์ํ ์๋ฆผ(๋ฐฐํฐ๋ฆฌ ๋ถ์กฑ/์ถฉ๋ถ) ๋ฉ์์ง ์ก/์์ (๋ฉ์์ง๊ฐ ์ ์ก/์คํจ๋์์ต๋๋ค) ์ธ์ฆ์ฝ๋ ์ ๋ ฅ ์ฌ์ง ์บก์ฒ(์ฌ์ง์ด ์ ์ฅ๋์์ต๋๋ค) ๋ง์ฝ ๋ณ๋์ ๊ถํ์ด ์๋ ์ฆ ์์ ํ์ง ์์ ๋ฆฌ์๋ฒ ์ค์ ์ ํด๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ๋ฐ๋ ์ ์์ ์ธ ์๋ฆผ์ ์ค๊ฐ..