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

๊ฐœ์š”

subdomain takeover์ด๋ž€ ๋ง ๊ทธ๋Œ€๋กœ ํ•˜์œ„ ๋„๋ฉ”์ธ ํƒˆ์ทจ๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ์„œ๋ธŒ๋„๋ฉ”์ธ ์ค‘ ๊ด€๋ฆฌ๋˜์ง€ ์•Š์€ ์„œ๋ธŒ๋„๋ฉ”์ธ์ด ์กด์žฌํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ ํ•ด๋‹น ์„œ๋ธŒ๋„๋ฉ”์ธ์„ ์žฌ๋“ฑ๋กํ•˜์—ฌ ์„ ์  ํ›„ ๋„๋ฉ”์ธ์— ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ณ ์ • ์ฟ ํ‚ค๋ฅผ ํš๋“ํ•˜๊ฑฐ๋‚˜ CORS, CSP ๊ฐ™์€ ์ฝ˜ํ…์ธ  ๋ณด์•ˆ์ •์ฑ…์„ ์šฐํšŒํ•˜๊ฑฐ๋‚˜ Click Jacking์„ ์‹ฌ์–ด ๋‘๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ์•…์„ฑ ํ–‰์œ„๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๋˜ํ•œ ์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ์„ ๊ณต๊ฒฉ์ž๊ฐ€ ์„ ์ ํ•จ์œผ๋กœ์จ ํƒ€ ์‚ฌ์šฉ์ž๋“ค์„ ์œ ์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ด€๋ฆฌ๋˜์ง€ ์•Š์•˜๋˜ ํ•ฉ๋ฒ•์ ์ธ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”ผ์‹ฑ ํŽ˜์ด์ง€๋กœ ๊พธ๋ฉฐ ์•…์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ํŒŒ๊ธ‰ํšจ๊ณผ๋Š” ํฌ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Subdomain ์ด๋ž€

Subdomain ์ด๋ž€ ๋ง ๊ทธ๋Œ€๋กœ ๊ธฐ์กด ๋„๋ฉ”์ธ(naver.com)์˜ ํ•˜์œ„์— ์กด์žฌํ•˜๋Š” ๋„๋ฉ”์ธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด movie.naver.com / www.naver.com / comic.naver.com ๋“ฑ์˜ ๋„๋ฉ”์ธ๋“ค์€ naver.com ํ•˜์œ„์— ์กด์žฌํ•˜๋Š” ์„œ๋ธŒ๋„๋ฉ”์ธ๋“ค์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 CNAME ๊ณผ A Record

CNAME(Canonical Name)์ด๋ž€ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์— ๋‹ค๋ฅธ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋„๋ฉ”์ธ์„ ๋ถ€์—ฌํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์— ๋ณ„์นญ์„ ์ง€์ •ํ•ด์ฃผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

A Record๋ž€ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์— IP ์ฃผ์†Œ๋ฅผ ๋งคํ•‘ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‚ฌ์šฉ์ž๋“ค์ด IPv4 ํ˜•ํƒœ์˜ ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜๊ณ  ๊ธฐ์–ตํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๊ธฐ์— ๊ธฐ์–ตํ•˜๊ธฐ ์‰ฌ์šด ๋„๋ฉ”์ธ๋ช…์„ ์ง€์ •ํ•˜์—ฌ ์„œ๋กœ 1:1 ๋งค์นญ์ด ๋˜๊ฒŒ๋” ํ•ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ž‘๋™๋ฐฉ์‹์€ ๋‹ด์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

naver.com <-> 123.456.xxx.xxx # A Record ํ˜•์‹
www.naver.com -> naver.com # CNAME ํ˜•์‹

์‚ฌ์šฉ์ž๊ฐ€ www.naver.com์„ ์š”์ฒญํ•˜๋ฉด DNS ์„œ๋ฒ„์—์„œ๋Š” ๋ณ„์นญ์ด ๋ถ€์—ฌ๋œ naver.com์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ฅธ DNS ์„œ๋ฒ„์— ์ง€์ •๋œ 123.456.xxx.xxx ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์ ‘์†, ์ฆ‰ A๋ ˆ์ฝ”๋“œ์— ๋ถ€์—ฌ๋œ ์„œ๋ฒ„ IP ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ A Record ์ชฝ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋  ๋ฟ CNAME์€ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ์— ํŽธ๋ฆฌํ•จ

์ด์ฒ˜๋Ÿผ naver.com๊ณผ www.naver.com์˜ ์ •๋ณด๊ฐ€ ๋งคํ•‘๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ CNAME(Canonical Name) ํƒ€์ž…์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

Subdomian Takeover Test

hackerone Guide

ํ•ด๋‹น ์ทจ์•ฝ์ ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด์„  ์ง„๋‹จํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฉ”์ธ ๋„๋ฉ”์ธ์„ ๊ธฐ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ํ•˜์œ„ ๋„๋ฉ”์ธ๋“ค์˜ ์ •๋ณด๋ฅผ ๋ชจ๋‘ ์ˆ˜์ง‘ํ•ด์•ผ ๋ฉ๋‹ˆ๋‹ค.

 

์‚ฌ์šฉํ•˜๋Š” ํ˜ธ์ŠคํŒ… ์—…์ฒด์—์„œ DNS ํ•ญ๋ชฉ์€ ์œ ์ง€๋˜๊ณ  ์žˆ์ง€๋งŒ ์›น ํŽ˜์ด์ง€๋งŒ ์‚ญ์ œ, ์ฆ‰ ๋งŒ๋ฃŒ๋œ ํŽ˜์ด์ง€์ธ ๊ฒฝ์šฐ ๊ณต๊ฒฉ์ž๋Š” ๋Œ€์ƒ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ ์ค‘์ธ ํ˜ธ์ŠคํŒ… ์—…์ฒด๋ฅผ ํ†ตํ•ด ์‚ญ์ œ๋œ ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ๋‹ค์‹œ ์ ๋ นํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋Œ€ํ‘œ์ ์ธ ํ˜ธ์ŠคํŒ… ์—…์ฒด๋“ค ์ด์™ธ์—๋„ Amazon S3, github, Heroku, Shopify, Cargo ๋“ฑ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์œผ๋กœ ์ปค์Šคํ…€ ๋„๋ฉ”์ธ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฒฉ์— ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

 

subfinder

ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ์—ด๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์€ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ์ค‘ ๋Œ€ํ‘œ์ ์œผ๋กœ sublist3 r ๋˜๋Š” subfinder, subfuz ๊ฐ™์€ ์ž๋™ํ™” ๋„๊ตฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

*sublist3r๊ณผ subfinder ๋ชจ๋‘ ํผ์ €๋กœ์จ ํ›Œ๋ฅญํ•˜์ง€๋งŒ ๊ฐœ์ธ์ ์œผ๋ก  subfinder๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ด์œ ๋Š” waybackurl(Method Fuzzing)์ด๋‚˜ httpx(StatusCode) ๊ฐ„์— ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ์„œ๋กœ ์ƒํ™” ์ž‘์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํŽธํ•ฉ๋‹ˆ๋‹ค. 

 

ํ•˜์œ„ ๋„๋ฉ”์ธ๋“ค์— ๋Œ€ํ•œ ์ •๋ณด์ˆ˜์ง‘์ด ๋๋‚ฌ๋‹ค๋ฉด subzy / subover / subjack / autoSubTakeover / NtHIM ๋“ฑ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๊ณ  ์ž‡๋Š” ํ•˜์œ„ ๋„๋ฉ”์ธ๋“ค์„ ์ฐพ์•„์ฃผ๋Š” ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ํ‘œ๋ฉด ์Šค์บ”์„ ํ•ด๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

Subdomain Takeover์— ์ดˆ์ ์ด ๋งž์ถฐ์ง„ ๋„๊ตฌ๋“ค์˜ ๊ฒฝ์šฐ ์˜คํƒ์ด ๋‹ค์ˆ˜ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธ ํ›„ ์ž์‹ ์—๊ฒŒ ์ž˜ ๋งž๋Š” ๊ฑธ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.(์ €๋Š” subzy์™€ subover์„ ๋ณ‘ํ–‰ํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.)

 

subzy

์œ„์ฒ˜๋Ÿผ ์ทจ์•ฝํ•˜๋‹ค๊ณ  ์ถœ๋ ฅ๋˜๋Š” ๋„๋ฉ”์ธ์„ ๋”ฐ๋ผ ์ ‘๊ทผํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ 404 Error ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ๋Š” ์ˆ˜๋™์œผ๋กœ ์ง์ ‘ ๊ฐ€์ƒ์˜ ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ๋™์ผํ•˜๊ฒŒ ์ƒ์„ฑํ•˜์—ฌ ์žฅ์•…์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•ด๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ๋„๋ฉ”์ธ์„ ์ƒˆ๋กœ ๋‹ค์‹œ ์ง€์ •ํ›„ 404์˜€๋˜ ํŽ˜์ด์ง€๊ฐ€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ง€์ •ํ•ด๋‘” HTML ๋ฆฌ์†Œ์Šค๋ฅผ ๋„์›Œ์ฃผ๊ฒŒ ๋œ๋‹ค๋ฉด ์ทจ์•ฝํ•œ ๊ฑฐ๋ผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Github
aws

Github์˜ ๊ฒฝ์šฐ Custom ๋„๋ฉ”์ธ์œผ๋กœ ์ง€์ •ํ•  ๋•Œ ๋์ž๋ฆฌ ๋ฌธ์ž์—ด์ด github.com ๋˜๋Š” github.io๋กœ ๋œ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜์™€์„œ ์ง„ํ–‰์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค(ํ•ด๋‹น ์ด์Šˆ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ๋ณ„์นญ์„ ์„ค์ •ํ•ด๋‘” ๊ฑด์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค..)

 

๋˜ํ•œ ์ทจ์•ฝํ•˜๋‹ค๋Š” ์ฝ˜์†”์ด ๋‚˜์˜ค๊ณ  404 Error Page๊ฐ€ ๋‚˜์™”๋‹ค๊ณ  ์ „๋ถ€ ์ทจ์•ฝํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ทจ์•ฝํ•œ์ง€ ์•„๋‹Œ์ง€ ์œ ๋ฌด๋ฅผ 1์ฐจ์ ์œผ๋กœ ํŒ๋‹จํ•˜๊ธฐ ์ข‹์€ ๊นƒ ํ—™ ๋งํฌ ์˜ฌ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

github.com/EdOverflow/can-i-take-over-xyz

 

EdOverflow/can-i-take-over-xyz

"Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangling DNS records. - EdOverflow/can-i-take-over-xyz

github.com

404์— ๋‚˜ํƒ€๋‚œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋น„๊ตํ•ด๋ณด์‹œ๊ณ  Vulnerable๋กœ ํ™•์ธ๋˜๋ฉด ์ถ”๊ฐ€์ ์œผ๋กœ ์ง„ํ–‰ํ•ด๋ณด์‹œ๋ฉด ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜์‹ค ์ˆ˜ ์žˆ์œผ์‹ค ๊ฒ๋‹ˆ๋‹ค.

 

์•ˆ์ „ํ•œ Subdomain ๊ด€๋ฆฌ

Subdomain Takeover ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ข…๋ฃŒ๋œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ DNS ํ•ญ๋ชฉ๊นŒ์ง€ ๋ชจ๋‘ ์ œ๊ฑฐ, ์ฆ‰ CNAME์œผ๋กœ ๋งคํ•‘ํ•œ ๋„๋ฉ”์ธ ์ •๋ณด๊นŒ์ง€ ๋ชจ๋‘ ์ œ๊ฑฐํ•ด์ค˜์•ผ ๋ฉ๋‹ˆ๋‹ค. ๊ทœ๋ชจ๊ฐ€ ํฐ ๊ธฐ์—…์˜ ๊ฒฝ์šฐ ์ผ์‹œ์ ์ธ ํ•˜์œ„ ๋„๋ฉ”์ธ๋“ค์— ๋Œ€ํ•œ ๊ด€๋ฆฌ๊ฐ€ ๋ฏธํกํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์œผ๋ฏ€๋กœ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ ๊ฒ€ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ†ตํ•ด ๊ด€๋ฆฌํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

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