ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ฐ์
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
ํด๋น ์ทจ์ฝ์ ์ ํ ์คํธํ๊ธฐ ์ํด์ ์ง๋จํ๊ณ ์ ํ๋ ๋ฉ์ธ ๋๋ฉ์ธ์ ๊ธฐ์ ์ผ๋ก ์กด์ฌํ๋ ํ์ ๋๋ฉ์ธ๋ค์ ์ ๋ณด๋ฅผ ๋ชจ๋ ์์งํด์ผ ๋ฉ๋๋ค.
์ฌ์ฉํ๋ ํธ์คํ ์ ์ฒด์์ DNS ํญ๋ชฉ์ ์ ์ง๋๊ณ ์์ง๋ง ์น ํ์ด์ง๋ง ์ญ์ , ์ฆ ๋ง๋ฃ๋ ํ์ด์ง์ธ ๊ฒฝ์ฐ ๊ณต๊ฒฉ์๋ ๋์ ์๋ฒ์์ ์ฌ์ฉ ์ค์ธ ํธ์คํ ์ ์ฒด๋ฅผ ํตํด ์ญ์ ๋ ํ์ ๋๋ฉ์ธ์ ๋ค์ ์ ๋ นํ์ฌ ๋ค์ํ ์ฝํ ์ธ ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
๋ํ์ ์ธ ํธ์คํ ์ ์ฒด๋ค ์ด์ธ์๋ Amazon S3, github, Heroku, Shopify, Cargo ๋ฑ ์ฌ์ฉ์์ ๊ถํ์ผ๋ก ์ปค์คํ ๋๋ฉ์ธ์ ์ง์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฒฉ์ ์ฌ์ฉ๋๊ธฐ๋ ํฉ๋๋ค.
ํ์ ๋๋ฉ์ธ์ ์ด๊ฑฐํ๋ ๋ฐฉ๋ฒ๋ค์ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค. ๊ทธ์ค ๋ํ์ ์ผ๋ก sublist3 r ๋๋ subfinder, subfuz ๊ฐ์ ์๋ํ ๋๊ตฌ๊ฐ ์กด์ฌํฉ๋๋ค.
*sublist3r๊ณผ subfinder ๋ชจ๋ ํผ์ ๋ก์จ ํ๋ฅญํ์ง๋ง ๊ฐ์ธ์ ์ผ๋ก subfinder๋ฅผ ์ ํธํฉ๋๋ค. ์ด์ ๋ waybackurl(Method Fuzzing)์ด๋ httpx(StatusCode) ๊ฐ์ ํ์ดํ๋ผ์ธ์ผ๋ก ์๋ก ์ํ ์์ฉํ์ฌ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ํธํฉ๋๋ค.
ํ์ ๋๋ฉ์ธ๋ค์ ๋ํ ์ ๋ณด์์ง์ด ๋๋ฌ๋ค๋ฉด subzy / subover / subjack / autoSubTakeover / NtHIM ๋ฑ ๊ด๋ฆฌ๋์ง ์๊ณ ์๋ ํ์ ๋๋ฉ์ธ๋ค์ ์ฐพ์์ฃผ๋ ๋๊ตฌ๋ฅผ ํตํด ํ๋ฉด ์ค์บ์ ํด๋ณด๋ฉด ๋ฉ๋๋ค.
Subdomain Takeover์ ์ด์ ์ด ๋ง์ถฐ์ง ๋๊ตฌ๋ค์ ๊ฒฝ์ฐ ์คํ์ด ๋ค์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ค์ํ๊ฒ ํ ์คํธ ํ ์์ ์๊ฒ ์ ๋ง๋ ๊ฑธ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.(์ ๋ subzy์ subover์ ๋ณํํ์ฌ ์ฌ์ฉํฉ๋๋ค.)
์์ฒ๋ผ ์ทจ์ฝํ๋ค๊ณ ์ถ๋ ฅ๋๋ ๋๋ฉ์ธ์ ๋ฐ๋ผ ์ ๊ทผํ๋ฉด ์๋์ ๊ฐ์ 404 Error ํ์ด์ง๊ฐ ๋ํ๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ถํฐ๋ ์๋์ผ๋ก ์ง์ ๊ฐ์์ ํ์ ๋๋ฉ์ธ์ ๋์ผํ๊ฒ ์์ฑํ์ฌ ์ฅ์ ์ด ๊ฐ๋ฅํ์ง ํ์ธํด๋ณด์๋ฉด ๋ฉ๋๋ค.
๋ง์ฝ ๋๋ฉ์ธ์ ์๋ก ๋ค์ ์ง์ ํ 404์๋ ํ์ด์ง๊ฐ ๊ณต๊ฒฉ์๊ฐ ์ง์ ํด๋ HTML ๋ฆฌ์์ค๋ฅผ ๋์์ฃผ๊ฒ ๋๋ค๋ฉด ์ทจ์ฝํ ๊ฑฐ๋ผ ๋ณผ ์ ์์ต๋๋ค.
Github์ ๊ฒฝ์ฐ Custom ๋๋ฉ์ธ์ผ๋ก ์ง์ ํ ๋ ๋์๋ฆฌ ๋ฌธ์์ด์ด github.com ๋๋ github.io๋ก ๋ ๋ณ์นญ์ ์ฌ์ฉํ ์ ์๋ค๋ ๋ฌธ๊ตฌ๊ฐ ๋์์ ์งํ์ด ๋ถ๊ฐ๋ฅํ์ต๋๋ค(ํด๋น ์ด์๋ฅผ ๋๋นํ์ฌ ๋ธ๋๋ฆฌ์คํธ ๋ณ์นญ์ ์ค์ ํด๋ ๊ฑด์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค..)
๋ํ ์ทจ์ฝํ๋ค๋ ์ฝ์์ด ๋์ค๊ณ 404 Error Page๊ฐ ๋์๋ค๊ณ ์ ๋ถ ์ทจ์ฝํ ๊ฒ์ ์๋๋๋ค. ์ทจ์ฝํ์ง ์๋์ง ์ ๋ฌด๋ฅผ 1์ฐจ์ ์ผ๋ก ํ๋จํ๊ธฐ ์ข์ ๊น ํ ๋งํฌ ์ฌ๋ ค๋๋ฆฝ๋๋ค.
github.com/EdOverflow/can-i-take-over-xyz
404์ ๋ํ๋ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ฐธ๊ณ ํ์ฌ ๋น๊ตํด๋ณด์๊ณ Vulnerable๋ก ํ์ธ๋๋ฉด ์ถ๊ฐ์ ์ผ๋ก ์งํํด๋ณด์๋ฉด ์๊ฐ์ ๋จ์ถํ์ค ์ ์์ผ์ค ๊ฒ๋๋ค.
์์ ํ Subdomain ๊ด๋ฆฌ
Subdomain Takeover ์ทจ์ฝ์ ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ์ง ์๊ฑฐ๋ ์ข ๋ฃ๋ ์๋น์ค์ ๋ํ DNS ํญ๋ชฉ๊น์ง ๋ชจ๋ ์ ๊ฑฐ, ์ฆ CNAME์ผ๋ก ๋งคํํ ๋๋ฉ์ธ ์ ๋ณด๊น์ง ๋ชจ๋ ์ ๊ฑฐํด์ค์ผ ๋ฉ๋๋ค. ๊ท๋ชจ๊ฐ ํฐ ๊ธฐ์ ์ ๊ฒฝ์ฐ ์ผ์์ ์ธ ํ์ ๋๋ฉ์ธ๋ค์ ๋ํ ๊ด๋ฆฌ๊ฐ ๋ฏธํกํ๋ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์์ผ๋ฏ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฒ ๋ฐ ๋ชจ๋ํฐ๋ง์ ํตํด ๊ด๋ฆฌํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Atlassian XSS ์ทจ์ฝ์ (0) | 2021.09.10 |
---|---|
phpMyAdmin ์ทจ์ฝ์ ์ ์ฉ (0) | 2021.08.23 |
HTTP Request Smuggling(HTTP Desync Attack) ์ทจ์ฝ์ (1) | 2021.04.17 |
๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ (CORS) ์ทจ์ฝ์ (3) | 2021.04.16 |
SSRF(Server Side Request Forgery) ์ทจ์ฝ์ (1) | 2021.02.25 |