본문 바로가기
1. 최신 보안동향 기술 분석

[위험도 상] 요즘 뜨고있는 Subdomain Takeover 공격기법 (서브도메인 테이크오버)

by Robert8478 2025. 4. 22.
728x90

Subdomain은 많이들 들어봤을 듯한데, Takeover는 또 뭘까?

Subdomain은 blog.example.com처럼 도메인 앞에 붙는 확장 주소로, 많은 웹 서비스에서 사용되는 구조다. 그런데 이 서브도메인이 잘못된 설정이나 관리 부주의로 인해 외부에서 탈취될 수 있다면 어떨까?
이러한 취약점을 노리는 기법이 바로 **Subdomain Takeover(서브도메인 탈취)**이다.

최근에 각광받고 있는 이 Subdomain Takeover 기술은 무엇인지, 실제 공격이 어떤 방식으로 이루어지는지, 그리고 이에 대한 대응방안까지 살펴보자


1. Subdomain Takeover이란?

Subdomain Takeover은 DNS에 등록되어 있지만 실제 서비스가 존재하지 않는 서브도메인을 공격자가 가로채는 보안 취약점이다.

주로 다음과 같은 상황에서 발생한다:

  • 서브도메인이 특정 클라우드 서비스(S3, GitHub Pages, Heroku 등)에 연결돼 있었지만, 해당 리소스가 삭제된 경우, 서브도메인 접근 후 404에러 페이지 발생 시, Subdomain Takeover 공격 가능성을 열어볼 수 있다.
  • DNS에는 여전히 해당 서브도메인의 CNAME 레코드가 남아 있는 경우
  • 공격자가 해당 서브도메인을 구매해서 악성 사이트를 삽입했을 경우

이 경우 서브도메인은 공격자가 통제하는 악성 사이트로 연결되며, 사용자들은 아무런 경고 없이 악의적인 콘텐츠에 노출될 수 있다.


2. POC (Proof of Concept)

간단한 예제를 통해 Subdomain Takeover이 어떻게 이뤄지는지 살펴본다.

시나리오 예시:

  1. 기업이 마케팅 페이지로 promo.example.com을 사용하고, 이를 Heroku 앱 example-promo.herokuapp.com에 연결했다.
  2. 캠페인 종료 후 해당 Heroku 앱을 삭제했지만, DNS에는 여전히 CNAME 레코드가 남아 있다.
  3. 공격자가 Heroku에 접속하여 example-promo라는 동일한 이름의 앱을 생성한다.
  4. DNS는 여전히 해당 주소를 가리키고 있기 때문에, promo.example.com은 이제 공격자의 앱으로 연결된다.

이러한 방식으로 정상적인 서브도메인이 공격자의 서버로 연결될 수 있으며, heroku 뿐만 아니라, 도메인을 구입하는 방식으로도 이루어질 수 있다. 이를 통해 악성코드 유포, 피싱, 세션 탈취 등 다양한 공격이 가능해진다.


3. 대응방안

Subdomain Takeover을 방지하기 위해서는 다음과 같은 대응 전략이 필요하다:

  • DNS 레코드 관리 철저히 하기
    더 이상 사용하지 않는 CNAME, A 레코드는 즉시 삭제하여 외부 노출을 막는다.
  • 자동화된 탐지 도구 사용
    subjack, tko-subs, takeover 등의 오픈소스 도구를 활용하여 주기적으로 취약 서브도메인을 스캔한다.
  • 운영 정책 수립
    외부 서비스 리소스를 제거할 때, 관련 DNS 설정도 함께 정리하도록 내부 프로세스를 구성한다.
  • 서브도메인 관리 체계 확립
    서비스 규모가 커질수록 서브도메인의 수가 많아지므로, 서브도메인 등록 및 해제 절차를 체계화할 필요가 있다.

결론

Subdomain Takeover은 비교적 단순한 구성 오류로 인해 심각한 피해로 이어질 수 있는 취약점이다. 특히 대규모 서비스를 운영하는 조직일수록 이슈가 발생할 가능성이 높아지므로, 사전 예방과 정기적인 점검이 필수적이다.

취약점을 악용한 공격은 실제 사례도 꾸준히 보고되고 있으며, 공격 난이도에 비해 피해 규모가 클 수 있어 더욱 주의가 필요하다.
보안은 디테일에서 갈리는 법이다. Subdomain Takeover도 예외는 아니다.

728x90