Hello Caido ๐Ÿ‘‹๐Ÿผ

์ตœ๊ทผ Rust ๊ธฐ๋ฐ˜์˜ ๋ถ„์„๋„๊ตฌ์ธ Caido๊ฐ€ ๋“œ๋””์–ด Public Beta๋กœ ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด Private Beta ๋‹น์‹œ ์ˆ˜๋ คํ•œ UI์™€ ๋น ๋ฅด๋‹ค๊ณ  ์•Œ๋ ค์ง„ ์†๋„ ๋•๋ถ„์— ์ผ๋ถ€ BugBountyHunter ๋“ค์—๊ฒŒ ์„ ํƒ๋˜์–ด ์‚ฌ์šฉ๋˜์—ˆ๊ณ  ๋งŽ์€ ๊ด€์‹ฌ์„ ๋ฐ›๊ณ  ์žˆ๋˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ Caido๊ฐ€ ์–ด๋–ค ๋„๊ตฌ์ธ์ง€, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„์ง€ ์‚ดํŽด๋ณด๊ณ  ๊ณต์œ ํ•ด๋ด…๋‹ˆ๋‹ค.

Overview

Caido๋Š” Manual Testing์— ์ดˆ์ ์ด ๋งž์ถฐ์ง„ ๋„๊ตฌ๋กœ ๋น ๋ฅธ ์†๋„๋ฅผ ์žฅ์ ์œผ๋กœ ๋‚ด์„ธ์šฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Rust ๊ธฐ๋ฐ˜์ด๋‹ค ๋ณด๋‹ˆ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๊ณ  ์—ฐ์‚ฐ์ด ๋ณต์žกํ•ด์งˆ ์ˆ˜๋ก ์ด์ ์„ ๋งŽ์ด ๊ฐ€์ ธ๊ฐˆ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

  • Sitemap
  • Forward
  • Intercept
  • Replay
  • Automate
  • Tamper
  • Convert
  • History
  • Scope

๋ชจ๋“  ๊ฑธ ๋‹ค ์ž‘์„ฑํ•˜๊ธด ๋ถˆํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๊ณ  Sitemap, Replay, Automate์˜ ์ค‘์ ์ ์ธ ํŠน์ง•์„ ์‚ดํŽด๋ณผ๊ฒŒ์š”.

Take a look

Sitemap

sitemap์˜ ๊ฒฝ์šฐ ZAP์˜ ๊ตฌ์กฐ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Site์— ๋Œ€ํ•œ tree์™€ ํ•ด๋‹น History ๊ทธ๋ฆฌ๊ณ  Req/Res๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ฐฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ ๊ต‰์žฅํžˆ ๊น”๋”ํ•˜๋„ค์š”.

์šฐํด๋ฆญํ•˜๋ฉด Send to ๋กœ Replay๋‚˜ Automate๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Replay

Replay๋Š” Burp์˜ repeater, ZAP์˜ Requester/Manual Request์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์š”์ฒญ์„ ํŽธ์ง‘ํ•˜๊ณ  ์žฌ ์ „์†กํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ๋ฏธ์žˆ๋Š”๊ฑด ๊ธฐ๋ณธ์ ์œผ๋กœ Collection ๋‹จ์œ„์˜ ์ •๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ Collection์— ์›ํ•˜๋Š” ์š”์ฒญ์„ ๋„ฃ์–ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Burpsutie์˜ Repeater์™€ ๋‹ฎ์•˜๊ณ , Stepper์™€๋„ ์‚ด์ง ๋‹ฎ์•˜๋„ค์š”

๋˜ ์žฌ๋ฏธ์žˆ๋Š”๊ฑด Replay์—์„œ ์ „์†กํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ด๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ํ™”์‚ดํ‘œ ๋ฒ„ํŠผ์œผ๋กœ ์ด์ „ ์š”์ฒญ๊ณผ Res๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฑด ์ง„์งœ ๊ดœ์ฐฎ๋„ค์š” ๐Ÿ‘๐Ÿฝ

Automate

Automate๋Š” Fuzzing์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ Burp์˜ Intruder, ZAP์˜ Fuzzer์™€ ๊ฐ™์€ ๊ฒฐ์˜ ๊ธฐ๋Šฅ์ด๋ฉฐ ๋ชจ์Šต์€ ZAP Fuzzer๋ฅผ ๋‹ฎ์•˜์ง€๋งŒ ์ง๊ด€์ ์ด๊ณ  ๋Œ€์‹  ๊ธฐ๋Šฅ์ด ์‚ด์ง ๋ชจ์ž๋ž๋‹ˆ๋‹ค.

ํŒŒ์ผ์ด๋‚˜ ๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ํ…Œ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ๊ณ , Attack Strategy๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์šฉ๋„์— ๋งž๊ฒŒ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GraphQL Endpoint

Caido๋Š” GraphQL Endpoint๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์ƒ๋‹นํžˆ ๋””ํ…Œ์ผํ•ด์„œ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ๋„๊ตฌ๋“ค์„ ๋งŒ๋“ค๊ณ  ์ด์šฉํ•˜๊ธฐ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์ธ ์ถ”์ธก์œผ๋กœ๋Š” Burp, ZAP์—์„œ ๊ณ ์ˆ˜ํ•˜๊ณ  ์žˆ๋Š” Java ๊ธฐ๋ฐ˜(๋˜๋Š” Jruby, Jython ๋“ฑ์„ ์ด์šฉํ•œ ์Šคํฌ๋ฆฝํŒ…)์˜ Addon์˜ ๋ถˆํŽธํ•จ์„ ์ธ์ง€ํ•˜๊ณ  API๋ฅผ ์ข€ ๋” ์‰ฝ๊ฒŒ ์ œ๊ณตํ•˜๋ ค๋Š” ๋ชฉ์ ์ด ์•„๋‹๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค. ZAP ๋˜ํ•œ REST API๋ฅผ ๊ต‰์žฅํžˆ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์ฃผ๊ณ  ์žˆ์–ด์„œ Addon์ด ์•„๋‹ˆ์—ฌ๋„ API๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ๋ฒ•๋“ค๋กœ ์“ธ ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ํฌ๊ฒŒ๋Š” ๋น„์Šทํ•œ ๊ทธ๋ฆผ์œผ๋กœ ๊ฐ€์ง€ ์•Š์„๊นŒ ์‹ถ๋„ค์š”.

Roadmap

https://github.com/orgs/caido/projects/4/views/20

Caido ํŒ€์€ Github Project๋ฅผ ์ž˜ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ํ•˜๋ฉด ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ๋„๊ตฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ณ  ๋‹ค๋“ฌ์–ด์งˆ์ง€ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :D

Conclusion

์ง€๊ธˆ ๋‹จ๊ณ„์—์„  ์ ˆ๋Œ€ Burpsuite์ด๋‚˜ ZAP ๋ณด๋‹ค ์ข‹์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๊ฐ„๊ณผ ๊ทœ๋ชจ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ๋‘˜์€ ๋Šฆ๊ฒŒ ์‹œ์ž‘ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๋”ฐ๋ผ๊ฐ€๊ธฐ ํž˜๋“  ์ •๋„์˜ ๊ธฐ์ˆ ๊ณผ ์Œ“์—ฌ์žˆ๋Š” ๋…ธํ•˜์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Burpsuite์˜ Scanning Engine, ZAP์˜ Scripting Engine. 
๋‹ค๋ฅธ ๊ธฐ๋Šฅ๋“ค์€ ์ œ์™ธํ•˜๊ณ  ๋‹จ์ˆœํžˆ ์—”์ง„ ํ•˜๋‚˜์”ฉ๋งŒ ๊บผ๋‚ด๋„ ์ด ๋‘˜์€ ์—„์ฒญ๋‚œ ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ฃ .

๋‹ค๋งŒ ์ž‘๋”๋ผ๋„ ์ด๋Ÿฌํ•œ ๊ฒฝ์Ÿ์ž์˜ ์ถœํ˜„์€ ๋ชจ๋“  ๋„๊ตฌ์˜ ๋ฐœ์ „์— ํฐ ์˜ํ–ฅ์„ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค. ์ € ๋˜ํ•œ ์ œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ชฉํ‘œ ์ค‘ ํ•˜๋‚˜๊ฐ€ MITMProxy ๊ธฐ๋ฐ˜์˜ ๋ถ„์„ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ธ๋ฐ, Caido์—์„œ๋„ ๋งŽ์€ ์˜๊ฐ์„ ์–ป์–ด๊ฐ„ ๊ฒƒ ๊ฐ™๋„ค์š”.

์ผ๋‹จ์€ ์„œ๋ธŒ๋กœ ์ข€ ๋” ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๊ดœ์ฐฎ๋‹ค๋ฉด Caido๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ข‹์€ ํŒ๋“ค์„ ๊ณต์œ ํ•ด๋ณด๋„๋ก ํ• ๊ฒŒ์š” :D