Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ
๊ณผ๊ฑฐ์— ๊ธฐ์‚ฌ ์šฐ๋ฆฌ๋Š” -์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ๋‹ค ๋„ค๋ฉ”์‹œ๋‹ค WAF ๋ฌด๋ฃŒ - ํ•ด์ปค ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ์›น์‚ฌ์ดํŠธ์™€ API๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๋ฌด๋ฃŒ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ์—์„œ๋Š” ์ธ๊ธฐ ์žˆ๋Š” ์ทจ์•ฝ์  ์Šค์บ๋„ˆ๋ฅผ ๊ฒ€ํ† ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์™€ํ”ผ ํ‹ฐ.

์›น ์‚ฌ์ดํŠธ์˜ ์ทจ์•ฝ์ ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์€ ์†Œ์Šค ์ฝ”๋“œ ๋ถ„์„๊ณผ ํ•จ๊ป˜ ํ•„์š”ํ•œ ์กฐ์น˜์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์†์ƒ ์œ„ํ˜‘์— ๋Œ€ํ•œ ๋ณด์•ˆ ์ˆ˜์ค€์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ˆ˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Nikto, W3af(Python 2.7๋กœ ์ž‘์„ฑ๋˜์–ด ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Œ) ๋˜๋Š” Arachni(XNUMX์›”๋ถ€ํ„ฐ ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š์Œ)๋Š” ๋ฌด๋ฃŒ ์„ธ๊ทธ๋จผํŠธ์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์šฐ๋ฆฌ๊ฐ€ ์ง‘์ค‘ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ Wapiti์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ฒƒ๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Wapiti๋Š” ๋‹ค์Œ ์œ ํ˜•์˜ ์ทจ์•ฝ์ ์— ๋Œ€ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  • ํŒŒ์ผ ํ™•์žฅ(๋กœ์ปฌ ๋ฐ ์›๊ฒฉ, fopen, readfile);
  • ์ฃผ์ž…(PHP/JSP/ASP/SQL ์ฃผ์ž… ๋ฐ XPath ์ฃผ์ž…);
  • XSS(๊ต์ฐจ ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…)(๋ฐ˜์‚ฌ์  ๋ฐ ์ง€์†์ );
  • ๋ช…๋ น ๊ฐ์ง€ ๋ฐ ์‹คํ–‰(eval(), system(), passtru());
  • CRLF ์ฃผ์ž…(HTTP ์‘๋‹ต ๋ถ„ํ• , ์„ธ์…˜ ๊ณ ์ •)
  • XXE(XML ์™ธ๋ถ€ ์—”ํ„ฐํ‹ฐ) ์‚ฝ์ž…;
  • SSRF(์„œ๋ฒ„์ธก ์š”์ฒญ ์œ„์กฐ);
  • ์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ง„ ํŒŒ์ผ ์‚ฌ์šฉ(Nikto ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋•๋ถ„์—)
  • ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์•ฝํ•œ .htaccess ๊ตฌ์„ฑ;
  • ๊ธฐ๋ฐ€ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•˜๋Š” ๋ฐฑ์—… ํŒŒ์ผ์˜ ์กด์žฌ(์†Œ์Šค ์ฝ”๋“œ ๊ณต๊ฐœ)
  • ์‰˜์‡ผํฌ;
  • ๋ฆฌ๋””๋ ‰์…˜ ์—ด๊ธฐ;
  • ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ๋น„ํ‘œ์ค€ HTTP ๋ฉ”์„œ๋“œ(PUT).

ํŠน์ง• :

  • HTTP, HTTPS ๋ฐ SOCKS5 ํ”„๋ก์‹œ ์ง€์›;
  • ๊ธฐ๋ณธ, ๋‹ค์ด์ œ์ŠคํŠธ, Kerberos ๋˜๋Š” NTLM ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ ์ธ์ฆ
  • ์Šค์บ” ์˜์—ญ(๋„๋ฉ”์ธ, ํด๋”, ํŽ˜์ด์ง€, URL)์„ ์ œํ•œํ•˜๋Š” ๊ธฐ๋Šฅ
  • URL์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ž๋™์œผ๋กœ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋์—†๋Š” ์Šค์บ” ๋ฃจํ”„์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ์˜ˆ๋ฐฉ ์กฐ์น˜(์˜ˆ: ifor, ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’ ์ œํ•œ)
  • URL ๊ฒ€์‚ฌ์— ๋Œ€ํ•œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ(๊ฒ€์‚ฌ ์˜์—ญ์— ์žˆ์ง€ ์•Š๋”๋ผ๋„)
  • ์Šค์บ” ๋ฐ ๊ณต๊ฒฉ์—์„œ ์ผ๋ถ€ URL์„ ์ œ์™ธํ•˜๋Š” ๊ธฐ๋Šฅ(์˜ˆ: URL ๋กœ๊ทธ์•„์›ƒ)
  • ์ฟ ํ‚ค ๊ฐ€์ ธ์˜ค๊ธฐ(wapiti-getcookie ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ ธ์˜ค๊ธฐ)
  • SSL ์ธ์ฆ์„œ ํ™•์ธ์„ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ;
  • JavaScript(๋งค์šฐ ๊ฐ„๋‹จํ•œ JS ์ธํ„ฐํ”„๋ฆฌํ„ฐ)์—์„œ URL์„ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ
  • HTML5์™€์˜ ์ƒํ˜ธ์ž‘์šฉ;
  • ํฌ๋กค๋Ÿฌ ๋™์ž‘ ๋ฐ ์ œํ•œ ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜
  • ์Šค์บ๋‹ ํ”„๋กœ์„ธ์Šค์˜ ์ตœ๋Œ€ ์‹œ๊ฐ„ ์„ค์ •;
  • ์‚ฌ์šฉ์ž ์ •์˜ HTTP ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž ์ •์˜ User-Agent๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ธฐ๋Šฅ :

  • ๋‹ค์–‘ํ•œ ํ˜•์‹(HTML, XML, JSON, TXT)์œผ๋กœ ์ทจ์•ฝ์  ๋ณด๊ณ ์„œ ์ž‘์„ฑ
  • ์Šค์บ” ๋˜๋Š” ๊ณต๊ฒฉ ์ผ์‹œ ์ค‘์ง€ ๋ฐ ์žฌ๊ฐœ(SQLite3 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„ธ์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜)
  • ์ทจ์•ฝ์ ์„ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•œ ํ„ฐ๋ฏธ๋„์˜ ๋ฐฑ๋ผ์ดํŠธ;
  • ๋‹ค์–‘ํ•œ ์ˆ˜์ค€์˜ ๋กœ๊น…;
  • ๊ณต๊ฒฉ ๋ชจ๋“ˆ์„ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋น ๋ฅด๊ณ  ์‰ฌ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์„ค์น˜

ํ˜„์žฌ ๋ฒ„์ „์˜ Wapiti๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ณต์‹์—์„œ ์†Œ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”. ัะฐะนั‚ะฐ ์ด์ „์— Python3์„ ์„ค์น˜ํ•œ ํ›„ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • pip3 install wapiti3 ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ํ›„์— Wapiti๋Š” ๊ฐˆ ์ค€๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋„๊ตฌ ์ž‘์—…

Wapiti์˜ ์ž‘์—…์„ ์‹œ์—ฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์ทจ์•ฝ์ (Injection, XSS, LFI/RFI) ๋ฐ ๊ธฐํƒ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‹จ์ ์„ ํฌํ•จํ•˜๋Š” ํŠน๋ณ„ํžˆ ์ค€๋น„๋œ ์Šคํƒ ๋“œ sites.vulns.pentestit.ru(๋‚ด๋ถ€ ๋ฆฌ์†Œ์Šค)๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น ์ •๋ณด๋Š” ์ •๋ณด ์ œ๊ณต์˜ ๋ชฉ์ ์œผ๋กœ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฒ•์„ ์–ด๊ธฐ์ง€ ๋งˆ์„ธ์š”!

์Šค์บ๋„ˆ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ธฐ๋ณธ ๋ช…๋ น:

# wapiti -u <target> <options>

๋™์‹œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜๋งŽ์€ ์‹œ์ž‘ ์˜ต์…˜์— ๋Œ€ํ•œ ๋งค์šฐ ์ž์„ธํ•œ ๋„์›€๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค.

--๋ฒ”์œ„ - ์ ์šฉ๋ถ„์•ผ
ํฌ๋กค๋ง URL๊ณผ ํ•จ๊ป˜ ๋ฒ”์œ„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋‹จ์ผ ํŽ˜์ด์ง€์™€ ์‚ฌ์ดํŠธ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์ดํŠธ์˜ ํฌ๋กค๋ง ์˜์—ญ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-s ะธ -x โ€” ํŠน์ • URL์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ํฌ๋กค๋ง ํ”„๋กœ์„ธ์Šค ์ค‘์— ํŠน์ • URL์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

--๊ฑด๋„ˆ๋›ฐ๋‹ค โ€” ์ด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฒ€์‚ฌํ•˜์ง€๋งŒ ๊ณต๊ฒฉ์„ ๋ฐ›์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์Šค์บ” ์ค‘์— ์ œ์™ธํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ์œ„ํ—˜ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

--verify-ssl โ€” ์ธ์ฆ์„œ ํ™•์ธ์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
Wapiti ์Šค์บ๋„ˆ๋Š” ๋ชจ๋“ˆ์‹์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์Šค์บ๋„ˆ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๋ชจ๋“ˆ์„ ํฌํ•จํ•˜์—ฌ ํŠน์ • ๋ชจ๋“ˆ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด -m ์Šค์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋‚˜์—ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋ชจ๋“ˆ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฒ„์ „์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# wapiti -u http://sites.vulns.pentestit.ru/ -m sql,xss,xxe

์ด ์‚ฌ์šฉ ์˜ˆ๋Š” ๋Œ€์ƒ์„ ์Šค์บ”ํ•  ๋•Œ SQL, XSS ๋ฐ XXE ๋ชจ๋“ˆ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์›ํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋ชจ๋“ˆ์˜ ์ž‘๋™์„ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด -m "xss: ๊ฐ€์ ธ์˜ค๊ธฐ, blindsql: ๊ฒŒ์‹œ, xxe: ๊ฒŒ์‹œ". ์ด ๊ฒฝ์šฐ ๋ชจ๋“ˆ์€ xss GET ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†ก๋œ ์š”์ฒญ์— ์ ์šฉ๋˜๋ฉฐ ๋ชจ๋“ˆ์€ blibdsql - POST ์š”์ฒญ ๋“ฑ ๊ทธ๋Ÿฐ๋ฐ ๋ชฉ๋ก์— ํฌํ•จ๋œ ์ผ๋ถ€ ๋ชจ๋“ˆ์ด ์Šค์บ” ์ค‘์— ํ•„์š”ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹œ๊ฐ„์ด ๋งค์šฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ Ctrl+C ์กฐํ•ฉ์„ ๋ˆ„๋ฅด๋ฉด ๋Œ€ํ™”ํ˜• ๋ฉ”๋‰ด์—์„œ ํ•ด๋‹น ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜์—ฌ ํ˜„์žฌ ๋ชจ๋“ˆ ์‚ฌ์šฉ์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Wapiti๋Š” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ์š”์ฒญ ์ „๋‹ฌ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. -p ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋Œ€์ƒ ์‚ฌ์ดํŠธ์—์„œ ์ธ์ฆ -a. ์ธ์ฆ ์œ ํ˜•์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ดˆ์ ์ธ, ์š”๋žŒ, Kerberos ะธ NTLM. ๋งˆ์ง€๋ง‰ ๋‘ ๊ฐœ์—๋Š” ์ถ”๊ฐ€ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์š”์ฒญ์— ์ž„์˜์˜ ํ—ค๋”๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ž„์˜์˜ ํ—ค๋” ํฌํ•จ). ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ) ๊ทธ๋ฆฌ๊ณ  ํ›จ์”ฌ ๋”.

์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์™€ํ”ผํ‹ฐ-getcookie. ๊ทธ๊ฒƒ์˜ ๋„์›€์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค ์ฟ ํ‚ค, Wapiti๊ฐ€ ์Šค์บ”ํ•  ๋•Œ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜•์„ฑ ์ฟ ํ‚ค ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

# wapiti-getcookie -u http://sites.vulns.pentestit.ru/login.php -c cookie.json

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

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

์ถœ๋ ฅ์€ JSON ํ˜•์‹์˜ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. -d:

# wapiti-getcookie - http://sites.vulns.pentestit.ru/login.php -c cookie.json -d "username=admin&password=admin&enter=submit"

๊ฒฐ๊ณผ๋Š” ๋น„์Šทํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค:

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

์Šค์บ๋„ˆ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•  ๋•Œ ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ข… ์š”์ฒญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# wapiti --level 1 -u http://sites.vulns.pentestit.ru/ -f html -o /tmp/vulns.html -m all --color -ั cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http://proxy.office.pentestit.ru:3128

์—ฌ๊ธฐ์„œ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

-f ะธ -o โ€” ๋ณด๊ณ ์„œ ์ €์žฅ ํ˜•์‹ ๋ฐ ๊ฒฝ๋กœ

-m โ€” ๋ชจ๋“  ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‹œ๊ฐ„๊ณผ ๋ณด๊ณ ์„œ ํฌ๊ธฐ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

--์ƒ‰์ƒ โ€” Wapiti ์ž์ฒด์— ๋”ฐ๋ผ ์‹ฌ๊ฐ๋„์— ๋”ฐ๋ผ ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

-c - ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฟ ํ‚ค, ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋จ ์™€ํ”ผํ‹ฐ-getcookie;

--๋ฒ”์œ„ โ€” ๊ณต๊ฒฉ ๋Œ€์ƒ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์˜ต์…˜ ์„ ํƒ ํด๋” ๊ธฐ๋ณธ URL๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋ชจ๋“  URL์ด ํฌ๋กค๋ง๋˜๊ณ  ๊ณต๊ฒฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ URL์—๋Š” ์Šฌ๋ž˜์‹œ(ํŒŒ์ผ ์ด๋ฆ„ ์—†์Œ)๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

--ํ”Œ๋Ÿฌ์‹œ ์„ธ์…˜ โ€” ์ด์ „ ๊ฒฐ๊ณผ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š” ๋ฐ˜๋ณต ๊ฒ€์ƒ‰์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

-A - ์†Œ์œ ํ•˜๋‹ค ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ;

-p โ€” ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ”„๋ก์‹œ ์„œ๋ฒ„ ์ฃผ์†Œ.

๋ณด๊ณ ์„œ์— ๋Œ€ํ•ด ์กฐ๊ธˆ

์Šค์บ” ๊ฒฐ๊ณผ๋Š” ๋ฐœ๊ฒฌ๋œ ๋ชจ๋“  ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ณด๊ณ ์„œ ํ˜•์‹์œผ๋กœ HTML ํŽ˜์ด์ง€ ํ˜•์‹์œผ๋กœ ๋ช…ํ™•ํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์—๋Š” ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์˜ ๋ฒ”์ฃผ์™€ ๊ฐœ์ˆ˜, ํ•ด๋‹น ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์„ค๋ช…, ์š”์ฒญ, ๋ช…๋ น์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ปฌ ๋‹ซ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํŒ. ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์นดํ…Œ๊ณ ๋ฆฌ ์ด๋ฆ„์— ๋งํฌ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉฐ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

๋ณด๊ณ ์„œ์˜ ์ค‘์š”ํ•œ ๋‹จ์ ์€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋งต์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งต์ด ์—†์œผ๋ฉด ๋ชจ๋“  ์ฃผ์†Œ์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋ถ„์„๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜คํƒ(false positive) ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ๋ณด๊ณ ์„œ์—๋Š” "๋ฐฑ์—… ํŒŒ์ผ"๊ณผ "์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ํŒŒ์ผ"์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ํ•ด๋‹น ํŒŒ์ผ์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ฒˆํ˜ธ๋Š” ํ˜„์‹ค๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

์•„๋งˆ๋„ ์ž˜๋ชป ์ž‘๋™ํ•˜๋Š” ๋ชจ๋“ˆ์€ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ˆ˜์ •๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์˜ ๋˜ ๋‹ค๋ฅธ ๋‹จ์ ์€ ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์˜ ์ƒ‰์ƒ์ด ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜(์ค‘์š”๋„์— ๋”ฐ๋ผ) ์ตœ์†Œํ•œ ๋ฒ”์ฃผ๋กœ ๊ตฌ๋ถ„๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์˜ ์ค‘์š”์„ฑ์„ ๊ฐ„์ ‘์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. --์ƒ‰์ƒ ์Šค์บ”ํ•˜๋Š” ๋™์•ˆ ๋ฐœ๊ฒฌ๋œ ์ทจ์•ฝ์ ์€ ๋‹ค๋ฅธ ์ƒ‰์ƒ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

๊ทธ๋Ÿฌ๋‚˜ ๋ณด๊ณ ์„œ ์ž์ฒด์—์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ์ƒ‰์ƒ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ทจ์•ฝ์ 

SQLi

์Šค์บ๋„ˆ๋Š” SQLi ๊ฒ€์ƒ‰์— ๋ถ€๋ถ„์ ์œผ๋กœ ๋Œ€์ฒ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€์—์„œ SQL ์ทจ์•ฝ์ ์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

์œ ํšจํ•œ ์ธ์ฆ์„ ์‚ฌ์šฉํ•ด๋„ ์ธ์ฆ ํ›„์—๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ํŽ˜์ด์ง€์—์„œ๋Š” ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ฟ ํ‚ค, ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด ์„ธ์…˜์ด "๋กœ๊ทธ์•„์›ƒ"๋˜๊ณ  ์ฟ ํ‚ค ๋ฌดํšจ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ณ„๋„์˜ ์Šคํฌ๋ฆฝํŠธ๋กœ ์Šน์ธ ์ทจ์†Œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค๋ฉด -x ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ด๋ฅผ ์™„์ „ํžˆ ์ œ์™ธํ•˜๊ณ  ์‹คํ–‰์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ์ฒ˜๋ฆฌ๋ฅผ ์ œ์™ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠน์ • ๋ชจ๋“ˆ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋„๊ตฌ ์ „์ฒด์˜ ๋ฌธ์ œ์ธ๋ฐ, ์ด๋Ÿฐ ๋‰˜์•™์Šค๋กœ ์ธํ•ด ํ์‡„๋œ ๋ฆฌ์†Œ์Šค ์˜์—ญ์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ์ธ์ ์…˜์„ ํƒ์ง€ํ•  ์ˆ˜๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

XSS

์Šค์บ๋„ˆ๋Š” ์ฃผ์–ด์ง„ ์ž‘์—…์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ์œผ๋ฉฐ ์ค€๋น„๋œ ๋ชจ๋“  ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

LFI/RFI

์Šค์บ๋„ˆ๊ฐ€ ๋ชจ๋“  ๊ธฐ๋ณธ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

Wapiti - ์‚ฌ์ดํŠธ์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ทจ์•ฝ์  ํ™•์ธ

์ผ๋ฐ˜์ ์œผ๋กœ ์˜คํƒ์ง€์™€ ๋ˆ„๋ฝ๋œ ์ทจ์•ฝ์ ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฌด๋ฃŒ ๋„๊ตฌ์ธ Wapiti๋Š” ๊ฝค ์ข‹์€ ์„ฑ๋Šฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์Šค์บ๋„ˆ๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์—ฐํ•˜๋ฉฐ ๋‹ค๊ธฐ๋Šฅ์ด๋ฉฐ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฌด๋ฃŒ์ด๋ฏ€๋กœ ๊ด€๋ฆฌ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์›น ๋ณด์•ˆ ์ƒํƒœ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์–ป๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์„ ์ธ์‹ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜.

๊ฑด๊ฐ•ํ•˜๊ณ  ๋ณดํ˜ธ๋ฐ›์œผ์„ธ์š”!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€