MITM Proxy - mtjddnr/lab GitHub Wiki

##์†Œ๊ฐœ## ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋ฉด ์•ฑ์ด๋‚˜ ๊ธฐ๊ธฐ์˜ ํ†ต์‹ ์„ ๊ฐ์ฒญ(?)ํ•ด์•ผํ•  ๋•Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ ๋‚ด๋ถ€๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ๋ชจ๋ฅด๋Š”๋ฐ ๋””๋ฒ„๊น…ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ์„์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํˆด์ด ์žˆ์–ด์„œ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

http://mitmproxy.org/index.html

์ „์— iOS์˜ Path๋ผ๋Š” ์•ฑ์ด ๊ฐœ์ธ ์ฃผ์†Œ๋ก์„ ์œ ์ถœํ–ˆ๋˜ ์‚ฌ๊ฑด๋•Œ ์‚ฌ์šฉ๋˜์—ˆ๋˜ ํˆด์ž…๋‹ˆ๋‹ค. (๋•๋ถ„์— ์ด๋•Œ๋ถ€ํ„ฐ ์• ํ”Œ์ด ๊ฐœ์ธ ์ •๋ณด ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ฐ•ํ™” ์‹œ์ผฐ์ฃ ) mitmproxy

mitmproxy๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํ”ผ์‹œ์— ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๋Œ๋ ค๋†“๊ณ  ์•„์ดํฐ์ด๋‚˜ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ์—์„œ ๋„คํŠธ์›Œํฌ ์„ค์ •์—์„œ ํ”„๋ก์‹œ๋ฅผ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋ชจ๋“  ํ†ต์‹ ์ด ์œ„ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฑฐ์ณ์„œ ๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ์˜ ํ™”๋ฉด์— ๋ชจ๋“  ํ†ต์‹  ๋‚ด์šฉ์ด ๋ณด์ด๊ฒŒ ๋˜์ฃ 

์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€๋ฉด ๊ฐ„๋‹จํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. *๋งฅ์šฉ์€ ๋”ฐ๋กœ ์žˆ์Šต๋‹ˆ๋‹ค. (ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค)

ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ›„ ๊ธฐ๊ธฐ์—์„œ ํ”„๋ก์‹œ ์„ค์ •์„ ํ•ด์ค๋‹ˆ๋‹ค.

img_0129

์ฃผ์†Œ๋กœ๋Š” ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ ํ”ผ์‹œ์˜ ์•„์ดํ”ผ์ด๊ณ  ํฌํŠธ๋Š” 8080๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค.

##ํˆด ์‚ฌ์šฉ๋ฒ•## ํ†ต์‹ ์ด ์ด๋ฃจ์–ด ์ง€๋ฉด ํ™”๋ฉด์— ํ†ต์‹  ๊ธฐ๋ก์ด ๋œน๋‹ˆ๋‹ค ๋ฐฉํ–ฅํ‚ค๋กœ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์„ ํƒํ•œ๋‹ค์Œ ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ์ƒ์„ธ ์ •๋ณด๋ฅผ ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. mitmproxy-flowview

  • ์œ„์•„๋ž˜ ๋ฐฉํ–ฅํ‚ค: ๋ชฉ๋ก ์„ ํƒ
  • ํƒญ ํ‚ค: ์„œ๋ฒ„์˜ ์š”์ฒญ๋ฐ์ดํ„ฐ(request)์™€ ๋ฐ˜ํ™˜๋ฐ์ดํ„ฐ(response)๋ฅผ ํ™•์ธํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • q ํ‚ค: ์›๋ž˜ ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. (ํ˜น์€ ์ข…๋ฃŒ)

##HTTPS## ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์ž‘๋™์ด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋”ฐ๋กœ ์ธ์ฆ์„œ๋ฅผ ๊ธฐ๊ธฐ์— ์„ค์น˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

ํ•œ๋ฒˆ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ~/.mitmproxy ์œ„์น˜์— ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. 2013-12-19 10 36 55

์ด ํŒŒ์ผ๋“ค ์ค‘์—์„œ mitmproxy-ca-cert.pemํŒŒ์ผ์„ ๊ธฐ๊ธฐ๋กœ ๋„ฃ์–ด์„œ ์„ค์น˜๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. (๋ณดํ†ต ๋ฉ”์ผ์•ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)

ios-profile

*์ž์„ธํ•œ๊ฑด http://mitmproxy.org/doc/ssl.html ์—์„œ ์ฐธ๊ณ 

์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•˜๋ฉด httpsํ†ต์‹ ๊นŒ์ง€ ๋‹ค ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

###๋งˆ์น˜๋ฉฐ### ์—ฌ๊ธฐ๊นŒ์ง€ ๊ฐ„๋‹จํžˆ ๊ธฐ๋ณธ๋งŒ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งฅ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด AppleScript๊ธฐ๋ฐ˜์œผ๋กœ ์›๋ž˜ ํ„ฐ๋ฏธ๋„๋กœ ์‹คํ–‰๋˜๋Š”๊ฒƒ์„ ์•ฑ์œผ๋กœ ๋œจ๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/mtjddnr/lab/archive/mitmproxy.zip

  • ๊ธฐ๋ณธ http(80)๊ณผ https(443)์„ ๊ฑฐ์น˜์ง€์•Š๊ณ  ์ง์ ‘ ์†Œ์ผ“ํ†ต์‹ ์œผ๋กœ ๊ตฌํ˜„๋œ ์•ฑ์€ ๋œจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.