Notice
Recent Posts
Recent Comments
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
07-17 03:23
Today
Total
관리 메뉴

해킹공주의 일상

Subdomain Takeover 취약점 본문

모의해킹/WEB

Subdomain Takeover 취약점

7.3.7 2022. 11. 4. 01:52

1. Subdomain Takeover 란?

하위 도메인 탈취 라는 의미로, 사이트내 존재하는 하위도메인 중에서 관리되지 않은 서브 도메인을 재등록하여 선점한 후 선점한 사이트를 이용하여 악성 행위를 수행하는 취약점을 의미한다.

 

파급효과는 다음과 같다

  1. 알려진 도메인이라는 점을 악용하여 피싱사이트로 유인하여 개인정보 탈취
  2. 도메인에 설정 되어있는 고정 쿠기값을 획득
  3. CORS, CSP 와 같은 콘텐츠 보안 정책 우회
  4. Click Jacking 삽입 가능
Click Jacking
웹 사용자가 자신이 클릭하고 있다고 인지하는 것과 다른 어떤 것을 클릭하게 속이는 악의적인 기법으로써 잠재적으로 공격자는 비밀 정보를 유출시키거나 그들의 컴퓨터에 대한 제어를 획득할 수 있게 된다

 

Subdomain
기존 도메인의 하위 도메인을 의미한다.하위 도메인은 보통 URL의 시작 부분에 포함된다,예를 들어 'support.google.com'이 'google.com'의 하위 도메인이다.

 

 

2. 상세 분석

2.1 도메인 작동방식(CNAME과 A Record)

상세분석을 시작하기 전, 도메인 작동방식과 단어들에 대해 이해할 필요가 있다.

 

CNAME 
도메인주소를 또다른 도메인주소로 매핑시키는 DNS 레코드 타입이다. 어떤 도메인에 별명을 붙여주는 것과 같은의미이다.  예를 들면 다음과 같다.

www.naver.com -> naver.com

 

A Record
도메인에 IP주소를 매핑하여 사용하는 방식이다. 사람들이 IP 주소로 기억하기 어렵기때문에 기억하기 쉬운 도메인 주소로 보내게 된다

naver.com -> 111.222.xxx.xxx

 

만약 사용자가 네이버에 접속한다고 하면, 보통 다음과 같은 방식으로 작동한다.

 

www.naver.com --(CNAME)>> naver.com --(A Record)>> 111.222.xxx.xxx

 

CNAME을 사용하게 되면, IP 주소가 변경되어도 A Record만 변경해도 되기때문에 편리하다는 장점이 있고, A Record만 사용하게 되면 빠르다는 장점이 있다.

 

2.2 공격 시나리오

  • 공격 대상 URL : example.com
  • 발견한 subdomain URL : subdomain.example.com
  • 연결된 서비스 : Github 사이트
$ host subdomain.example.com
subdomain.example.com의 주소는 192.30.252.153입니다.
subdomain.example.com의 주소는 192.30.252.154입니다.
$ whois 192.30.252.153 | grep "OrgName"
조직 이름: GitHub, Inc.

서비스 확인 결과, Github와 연결되어있음을 확인하였고 접속했을때 다음과 같이 없는 페이지라고 뜬다고 하자.

 

subdomain.example.com  접속 시 현재 연결된 사이트가 삭제되어 가리키는 사이트가 없기 때문에 404페이지가 노출된다.

이렇게 404 에러페이지가 뜬다고 모두 해당 공격이 가능한 것은 아니므로 다음 사이트를 참고하길 바란다.

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

 

GitHub - EdOverflow/can-i-take-over-xyz: "Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangli

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

github.com

 

공격자는 다음과 같이 Github 개인 페이지에서 도메인을 등록할 수 있다.

 

위와 같이 간단한 사진을 블로그에 올렸을 때 그대로 해당 도메인에 노출되는 것을 확인할 수 있다.

 

 

3. 테스트 툴

subfinder 라는 툴을 사용하면 하위 도메인을 파악할 수 있고, 이를 활용하여 테스트해볼 수 있다.

자세한 사용방법 및 다운로드는 다음 링크를 참고하길 바란다.

 

https://www.youtube.com/watch?v=NgY6HICHtFY
https://github.com/projectdiscovery/subfinder

 

GitHub - projectdiscovery/subfinder: Subfinder is a subdomain discovery tool that discovers valid subdomains for websites. Desig

Subfinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing. - GitHub - proj...

github.com

 

4. 대응방안

안쓰는 도메인이나 서비스 제거 시 CNAME 도 함께 제거 처리해주면 된다.

 

 

참고 :

https://www.hackerone.com/application-security/guide-subdomain-takeovers
https://guleum-zone.tistory.com/171
https://www.hahwul.com/2018/06/26/about-subdomain-takeover-and-how-to-test/

Comments