ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๊ฐœ์š”

๊ธฐ๋ณธ์ ์œผ๋กœ SSL(Secure Socket Layer)์ด๋ž€ ์•…์˜์ ์ธ ์‚ฌ์šฉ์ž์˜ MITM(Man in the Middle) ๊ณต๊ฒฉ์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์„œ๋ฒ„ ์ธ์ฆ์„œ์™€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋˜๋Š” ๋น„๊ต๋ฅผ ํ•˜์—ฌ ์ธ์ฆ์„œ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ๋” ์ด์ƒ ํ†ต์‹ ์ด ๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

 

SSL Pinning์ด๋ž€ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ SSL HandShake ์ดํ›„์—๋„ ์„œ๋ฒ„์ธก ์ฆ๋ช…์„œ๋ฅผ ์žฌ๊ฒ€์ฆ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— MITM ๊ณต๊ฒฉ์„ ๋ง‰์„์ˆ˜ ์žˆ์ง€๋งŒ ๋งŒ์•ฝ ์ž์‹ ์˜ ์ธ์ฆ์„œ๊ฐ€ ์ •์ƒ์ ์ธ ์ธ์ฆ์„œ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ค‘๊ฐ„์— ์•ฑ ๋‚ด๋ถ€๋กœ ์‚ฝ์ž…ํ•˜์—ฌ ์†์ด๊ฒŒ ๋œ๋‹ค๋ฉด ์šฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. 

 

๊ธฐ์กด์— ์ž์‹ ์˜ ๋””๋ฐ”์ด์Šค(Nox)์— ์ธ์ฆ์„œ๊ฐ€ ์žˆ์–ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—†์œผ์‹ ๋ถ„๋“ค ํ•˜๋‹จ์˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ธ์ฆ์„œ ์„ค์น˜(Android 5)

guleum-zone.tistory.com/153

 

์ž์‹ ์˜ Nox์™€ ๋กœ์ปฌPC์— ์žˆ๋Š” Burp Suite๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต์‹ ์ด ๋œ๋‹ค๋ฉด ๋Œ€์ƒ ์•ฑ(ํŠธ์œ„ํ„ฐ)์„ ํ†ตํ•ด SSL Pinning์ด ์ ์šฉ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.(๊ณ„์ • ๋งŒ๋“ค๊ธฐ)

 

๊ธฐ๋ณธ ๊ฒฝ๋กœ์— ์กด์žฌํ•˜๋Š” "๋‹ค์šด๋กœ๋“œ" ํด๋”์˜ ๊ฒฝ๋กœ๋Š” /storage/emulated/legacy/Download ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. frida ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์šฐํšŒํ•  ๊ฒƒ์ด๊ธฐ์— ์ธ์ฆ์„œ๋ฅผ /data/local/tmp/ ๊ฒฝ๋กœ์— ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์ด๋™์‹œํ‚ค๊ฒ ์Šต๋‹ˆ๋‹ค.

 

frida ์Šคํฌ๋ฆฝํŠธ์—๋Š” ์ธ์ฆ์„œ ์ด๋ฆ„์ด cert-der.crt ์ด๋ฆ„์œผ๋กœ /data/local/tmp๊ฒฝ๋กœ์— ์ด๋™๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด๊ฒƒ์„ ํ†ตํ•ด ์šฐ๋ฆฌ์˜ ์ธ์ฆ์„œ๊ฐ€ ์ •์ƒ์ ์ธ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

ํ”„๋ฆฌ๋‹ค ์Šคํฌ๋ฆฝํŠธ ๋‚ด๋ถ€์— ์ง€์ •๋œ ๊ฒฝ๋กœ์™€ ์ธ์ฆ์„œ ํŒŒ์ผ๋ช…์ด ๋ณด์ž…๋‹ˆ๋‹ค. ๊ตณ์ด "๋‹ค์šด๋กœ๋“œ"์— ์žˆ๋Š” ์ธ์ฆ์„œ๋ฅผ ์˜ฎ๊ธฐ์ง€ ์•Š๊ณ  ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ์ˆ˜์ •ํ•ด์„œ ์‚ฌ์šฉํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

 

์ฐธ๊ณ ๋กœ SSL Pinning ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ตฌ๋ฒ„์ „์˜ frida๋ฅผ ์‚ฌ์šฉํ•ด ์ฃผ์…”์•ผ ์—๋Ÿฌ ์—†์ด ์ž‘๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์•„๋‚˜์ฝ˜๋‹ค์— python=3.7 ๋ฒ„์ „์˜ ์ƒˆ๋กœ์šด ์˜์—ญ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์—ฌ๊ธฐ์— ๊ตฌ๋ฒ„์ „ frida๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

frida ๋ฒ„์ „์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด adb ์‰˜๋กœ ์ด๋™ํ•˜์—ฌ ๊ธฐ์กด์— ์กด์žฌํ–ˆ๋˜ ์ตœ์‹  ๋ฒ„์ „์˜ frida-server๋Š” ์ œ๊ฑฐํ•˜๊ณ  ๊ตฌ๋ฒ„์ „ frida-server๋กœ ๋™์ผํ•˜๊ฒŒ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

cd /data/local/tmp
ls -al (frida-server ํ™•์ธ)
chmod 777 <ํ”„๋ฆฌ๋‹ค ์„œ๋ฒ„ ํŒŒ์ผ>
./<ํ”„๋ฆฌ๋‹ค ์„œ๋ฒ„ ํŒŒ์ผ> &    -> ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰

๊ถŒํ•œ์€ 777๋กœ ์ˆ˜์ •ํ›„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ˜•ํƒœ๋กœ ์‹คํ–‰๋˜๋„๋ก ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๊ตฌ๋ฒ„์ „ ํ”„๋ฆฌ๋‹ค๊ฐ€ ํ†ต์‹ ํ•˜๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์‹œ๊ณ  ํŠธ์œ„ํ„ฐ ์•ฑ์˜ ํŒจํ‚ค์ง€ ๋ช…์„ ๋ณต์‚ฌํ•ด๋‘๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ๋  ๊ฒฝ์šฐ Nox ์—๋ฎฌ์„ ๊ป๋‹ค๊ฐ€ ๋‹ค์‹œ ์ง„ํ–‰ํ•ด ์ฃผ์„ธ์š”

 

frida -Uf <ํŒจํ‚ค์ง€๋ช…> -l <์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ๋ช…> --no-pause

์ด์ œ ํ”„๋ฆฌ๋‹ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋กœ๋“œํ•˜์—ฌ ํŠธ์œ„ํ„ฐ ์•ฑ์— attach ๋˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋Š” ํ•˜๋‹จ์˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ 

codeshare.frida.re/@pcipolloni/universal-android-ssl-pinning-bypass-with-frida/

 

Frida CodeShare

 

codeshare.frida.re

 

์ž ์‹œ ๊ธฐ๋‹ค๋ ค์ฃผ์‹œ๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฝ˜์†” ๋กœ๊ทธ๊ฐ€ ์ฐํ˜€์„œ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์œผ๋กœ ๋กœ๋“œ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด TrustManager ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์•ฑ์ด ์ž๋™์œผ๋กœ ๋‹ค์‹œ ๋กœ๋“œ๊ฐ€ ๋˜๋Š”๋ฐ ์ด๋•Œ SSL Pinning์ด ๊ฑธ๋ฆฐ ๊ณ„์ • ๋งŒ๋“ค๊ธฐ๋ฅผ ๋‹ค์‹œ ํด๋ฆญํ•ด ๋ณด์‹œ๋ฉด ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ  ์ €ํฌ ๋“ค์˜ Burp Suite ์ธ์ฆ์„œ๊ฐ€ ์ •์ƒ์ ์ธ ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜๊ณ  ํŽ˜์ด์ง€ ํ˜ธ์ถœ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ณต์œ ํ•˜๊ธฐ ๋งํฌ
Comment