2019-12-10 10:06 (화)
[홍석범 특별기고] 서브 도메인 하이재킹 공격에 대비하자...(꿀팁 공개)
상태바
[홍석범 특별기고] 서브 도메인 하이재킹 공격에 대비하자...(꿀팁 공개)
  • 길민권 기자
  • 승인 2019.08.27 00:26
이 기사를 공유합니다

클라우드 서비스로 CNAME 설정한 하위 도메인이 대상
더 이상 사용하지 않으면 DNS 정보 삭제해야
sub-domain 하이캐킹을 활용한 공격에 당한 트럼프의 하위 도메인 홈페이지
sub-domain 하이재킹을 활용한 공격에 당한 트럼프의 하위 도메인 홈페이지

각 기관과 조직에서 자사의 하위(sub) 도메인네임을 이용한 클라우드(Cloud) 서비스 이용이 확산되면서 ‘sub-domain(서브 도메인) 하이재킹’ 공격의 위험성이 공유되고 있다. 이 공격의 원리와 대응 방안에 대해 살펴보도록 하자.

◇공격의 원리

쉬운 이해를 위해 예를 들어 설명해 보도록 하자. “example.com” 도메인을 소유한 회사에서 “cloud.example.com” 하위 도메인을 생성해 AWS나 MS Azure 또는 github등 클라우드 서비스 이용을 위해 CNAME 위임을 하여 사용을 하다가 더 이상 사용하지 않아 서비스를 중단하였다.

예) cloud.example.com CNAME cloud-example.com.azurewebsites.net.

이후 MS Azure(애저)등의 서비스에서는 이용 중단했지만, DNS CNAME 설정은 삭제하지 않아 여전히 위와 같이 CNAME은 설정되어 있는 상태인 것이다.

이 상황에서 MS Azure 계정을 갖고 있는 공격자가 이를 인지하고 “cloud.example.com” 도메인을 Azure에서 설정하게 되면 IP 주소가 생성되고, 결국 위 도메인으로 접속하게 되면 공격자가 설정한 콘텐츠가 브라우징 되는 것이다.

이는, 클라우드 서비스 사업자가 도메인과 계약자간 매칭을 하지 않고, 온라인에서 누구나 설정과 동시에 즉시 서비스 이용이 가능하도록 서비스하기 때문에 발생하는 것으로, 대부분의 클라우드 서비스 업체가 이러한 문제점을 가지고 있다.

현재까지 아래와 같은 서비스들이 취약한 것으로 알려져 있으며 추가적인 목록은 https://github.com/EdOverflow/can-i-take-over-xyz 에서 확인 가능하다.

-. AWS/S3, Cloudfront
-. BitBucket
-. Github
-. Wordpress
-. MS Azure
-. shopify 등

◇문제점

공격자가 이를 악용할 경우, 여러가지로 활용이 가능하다. 실제로 2017년에는 한 이라크 공격자가 도널드트럼프(secure2.donaldtrump.com)의 홈페이지를 변조하는 사건이 있었다. 사실은 실제 웹서버의 취약성을 이용해 서버에 침입하여 콘텐츠를 변조한 것이 아니라 이 서브 도메인 하이재킹을 활용한 것으로 확인되었다.

이외에도 여러가지로 활용이 가능하다. 해당 하위 도메인에 대해 악의적인 데이터를 업로드 한 후, 피싱 메일을 보내 개인 정보를 얻기 위한 피싱 사이트로 활용할 수도 있다. 또 설사 해당 사이트를 접속한 유저가 ID/PW와 같은 개인정보를 입력하지 않았다 하더라도 대부분 *.example.com의 Cookie(쿠키)를 공유하기 때문에 사이트를 접속한 유저의 Cookie 정보를 획득함으로써 로그인을 시도할 수도 있을 것이다.

또한 지금까지 CNAME의 경우에 대해 설명했지만 NS 위임을 한 경우도 동일한 문제점이 있으며 비단 웹뿐만 아니라 이메일의 경우도 유사한 문제가 발생할 수 있다. 즉 해당 CNAME을 활용해 경우에 따라 *@cloud.example.com 메일을 수신할 수도 있고, 이의 특성을 이용해 @*.example.com을 가진 유저만 접근 가능한 정보에 접근하거나, 피싱 메일을 발송할 수도 있다. 그리고 reset password 기능을 활용해 추가적인 정보에 접근도 가능할 수 있을 것이다.

◇대응방안

대응방안은 의외로 간단하다. 각 조직과 회사에서는 해당 도메인의 sub DNS 정보를 체크해 더 이상 사용하지 않는 레코드가 있다면 삭제하도록 하여야 한다. 또는 아래의 온라인 서비스를 이용해 취약성 여부를 쉽게 스캔해 볼 수도 있는데, 다만 무작위 대입이나 일부 알려진 하위 도메인 정보만을 근거로 체크하는 것이므로 일부만 확인할 수 있으며 해당 도메인을 사용하는 메일 주소가 있다면 상세한 정보를 메일로 받아 볼 수 있다.

1개의 하위 도메인 취약성이 발견된 경우
1개의 하위 도메인 취약성이 발견된 경우

-취약성 체크사이트 : https://takeover.cyberint.com/

이의 취약성과 관련한 보다 자세한 내용은 아래의 사이트를 참고하기 바란다.

-https://www.hackerone.com/blog/Guide-Subdomain-Takeovers

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

[글. 홍석범 / antihong@gmail.com / 보안전문가. 정보보안 칼럼리스트]

★정보보안 대표 미디어 데일리시큐!★


관련기사