[칼럼] DNS Cache Poisoning

리눅스/DNS|2015. 1. 26. 17:31
반응형

안녕하세요^^ DNS Cache Poisoning에 대해 궁금해서 질문 올립니다.

DNS Cache를 잘못된 주소로 바꿔서 사용자가 DNS Query를 했을 때

잘못된 IP 주소로 응답하여 실제 원하는 웹 사이트가 아닌 공격자가 의도

하는 잘못된 웹사이트가 나오게 하는 것이라고 읽었습니다.

 

여기서 궁금한 점이

 

질문1)희생자 DNS Server가 공격자 DNS Server에게 Query를

하게 하느냐입니다. 설명이 나오긴 했었는데 이해하기 어려워서요 ^^

 

질문2)공격자 DNS Server가 잘못된 IP 주소를 응답한다고 하는데

단순히 DNS Server 안에 있는 레코드를 공격자가 원하는 IP 주소를

적어주면 되는 건가요?

 

안녕하세요. SecurityPlus입니다.

 

DNS Cache Poisoning은 recursion(순환질의)이 허용하도록 잘못된 구성된 DNS 혹은 취약한 버젼의 DNS에 대해 가능한 공격입니다.

 

먼저, 첫번째 질문은 희생자 DNS Server가 공격자 DNS Server에게 Query를 어떻게 하는가라는 질문은 상세한 공격 방식에 대한

설명으로 대신하도록 하겠습니다.

 

먼저, 공격자는 DNS Server를 준비하고, 주로 메일 시스템을 이용하여

공격할 목표 DNS 서버(vul.dns.com)에 속한 시스템 내의 존재하지 않는 사용자에게 공격자의 도메인(crack.dns.com)이

포함된 사용자 메일 계정(test@crack.dns.com)으로 메일을 보내거나,

공격자 도메인 상의 이미지 링크가 포함된 메일을 공격할 목표 DNS 서버에 속한 시스템

내의 사용자에게 메일을 보냅니다.

 

이러한 시도를 통해 메일을 받은 시스템이 해당 DNS의 캐쉬 서버에 공격자의 도메인(crack.dns.com)을

질의하도록 합니다.

 

그러나, 희생자의 DNS 캐쉬 서버 내에는 공격자의 도메인 정보가 없으므로 공격자의 도메인을 공격자의

DNS Server에게 질의를 하게 됩니다.

 

그럼, 공격자의 DNS Server에서는 공격자의 도메인과 IP 정보(crack.dns.com|211.211.24.240)를 주면서

Additional Resolution Record, 즉 추가적인 다른 도메인과 IP 정보(물론, 악의적인)를 제공(www.microsoft.com:211.211.24.239)합니다.

 

이때, 희생자의 DNS 캐쉬 서버는 공격자의 DNS Server가 추가적으로 전해준 악의적인 정보(www.microsoft.com:211.211.24.239)

TTL 시간동안 캐싱하고 있으며, TTL 시간 동안 해당 DNS 캐쉬 서버를 바라 보고 있는 사용자가

www.microsoft.com 을 질의하면 정상적인 IP 대신 악의적인 IP로 응답하고, 사용자는 잘못된 IP로

접속하게 됩니다.

 

두 번째 질문은 공격자 DNS Server가 잘못된 IP 주소를 응답한다고 하는데 단순히 DNS Server 안에 있는 레코드를 공격자가 원하는 IP 주소를 적어주면 되는 건가요? 라는 질문에 대해 답변 드리도록 하겠습니다.

 

두 번째 질문은 위에서 설명드린 공격 방식으로도 이해가 되겠으나, DNS 패킷을 조작해서 공격하는 방식으로 셜명 드리겠습니다.

위 공격법 이외에 DNS 패킷을 조작하여 공격하는 방식을 이용할 때에는 위의 복잡한 과정 없이 희생자 DNS 서버에 악의적인 도메인과

IP 정보를 마치 응답한 것처럼 속여서 응답 패킷을 보내는 것으로

 

이 때,  관건은 DNS 응답 패킷에 있어서, 질의에 대한 응답을 식별하기 위한 16bit의 ID를 사용하고 있어, 응답 Port와 해당 ID를 추측

해야 하는 어려움이 있습니다.

 

그러나, 이를 이용하여 직접적인 악의적 DNS 응답으로 공격이 이뤄질 수도 있습니다.

 

따라서, 단순히 DNS 서버 안에 공격자가 원하는 IP 주소를 적기는 만만치 않죠....^^a

 

그럼, 참고하시기 바랍니다.

 

안녕히 계세요.

 

 

[출처] PowerComputing OF BlueStorm | BlueStorm ( http://blog.naver.com/lemonaroma98/60022468542 )

반응형

댓글()