본문 바로가기

Computer Science/정보보호

DNS를 활용한 정보수집

도메인 네임에 대한 매핑정보를 가지고 있는 시스템이다.

 

이름을 물어보면 ip를 가져다가 줍니다.

 

dns서버는 매핑정보를 가지고 있을겁니다.

 

 

DNS의 계층구조

DNS서버는 각 기관마다 있습니다.

트리처럼 연결되어 있습니다.

 

루트서버는 전 세계에 13개가 있다고 합니다.

 

2번째 계층에서는 마지막문구 (com) 같은거 입니다.

 

ac.kr에서 ac는 아카데미(=edu) 입니다.

www.hknu.ac.kr  

은 kr 밑에 ac가 있고 hknu가 있습니다.

그 밑에 웹서버를 뜻하는 www를 찾았습니다.

 

 

forward zone은 이름을 주고 ip를 받을 때 

이름을 가지고 구조를 찾아 나갈때 뒤에서 부터 찾아나갑니다.

 

reverse zone은 ip를 주고 쿼리를 했을 때

arpa라는 엔트리를 따라 ip를 찾게되어 있습니다.

 

운영체제별 DNS 서버 등록

이 머신에서 사용하는 dns서버를 지정할 수 있습니다.

 

만약 내용이 없다면 dhpc를 써서 사용하는 프라이머리 정보를 가져오기도 합니다.

정적으로 항상 이 dns서버를 쓰겠다고 지정하는 것입니다.

 

 

윈도우에서는 사설 ip를 할당받아서 씁니다.

바로 dhpc가 머신이 살아나자마자 dns를 할당합니다.

 

 

네트워크 어뎁터 정보를 보면 

preferred 를 먼저보고

alternate를 2번째로 봅니다.

 

접미사 부분을 자세하게 지정할 수 있습니다.

지정을 하면 dns쿼리를 할때 뒷부분을 생략하더라도 알아서 붙혀주는 기능입니다.

 

ex) 주접미사가dev.wcoast.microsft.com 인 경우 , ping xyz 라고 입력하면 xyz. dev.wcoast.microsft.com 를 쿼리

도메인 이름을 xyz로 적으면 알아서 지정한 접미사를 덧붙혀서 사용합니다.

 

현제 운영 중인 DNS 서버 확인

 

 

dns서버의 이름 해석 순서

. 을 기준으로 하나씩 dns서버입니다.

 

트리 구조를 가지고 처리를 합니다.

 

윗 구조는 자식노드들에 대한 이름과 ip를 관리합니다.

 

자주 사용하는 dns정보를 캐쉬메모리에 올려놓습니다.

확인하는 법은 ipconfig /displaydns입니다.

 

ttl값인데 이 정보가 캐시에 남아있을 수 있는 값입니다.

캐시의 dns정보를 없에버릴 수 있습니다.

 

 

메인 서버와 세컨더리 서버가 있습니다.

메인이 제 역활을 못하면 부 dns서버가 역할을 합니다.

 

속보를 빨리하기 위해서 캐시 서버를 두기도 합니다.

 

이러한 구조를 가지고 있습니다.

 

자식노드에 대한 데이터베이스를 관리합니다.

kr입장에서 ac에 대한 ip도 있고 co에 대한 ip도 있습니다.

 

zonfile이란 ac 는 west, seoul같은 주소의 ip를 가지고 있는 파일입니다.

 

Authoritative DNS서버: zone 파일교환 할 수 있는 가능한 공인서버 Primary S나 Secondary S 가 zonefile을 공유합니다.

 

 

 

DNS 서버를 이용한 정보 습득 

DNS서버가 보안에 취약한 측면이 있습니다!

DNS서버가 문제가 생기면 인터넷이 안되는 효과가 나타납니다!

 

해커가 정보를 마음대로 받을 수 있었습니다.

예를 보면

wishfree.com 이라는 이름을 가지고 있습니다.

파일명은 db.wishfree.com입니다.

10.10.10.1(=세컨드 dns서버)에만 전달을 허용합니다.

 

property = 설정정보

 

zonfile을 전동하는대 to anyserver으로 설정된게 문제가 되었습니다.

공격자가 zonfile을 가져가는게 문제였습니다.

 

 

 

실습 3 - 3 DNS 서버 검색으로 정보 습득하기

 

새로운 zonefile을 만듭니다.

wishfree.com이라는 zone영역을 생성하고 안에 file을 생성할 수 있습니다.

SOA, NS는 기본으로 생성됩니다.

web서버는 A라는 엔트리로 됩니다.

 

만든 Dns서버에 쿼리를 합니다.

서버를 192.168.0.1은 윈도우2012서버를 의미합니다.

 

즉, 192.168.0.1은 우리가 만든 dns서버의 ip입니다.

우리가 만든 dns서버에 쿼리를 하겠다고 server를 설정합니다.

 

wishfree.com의 zone을 모두 보여주라는 set type=all을 사용해봅니다.

윈도우2012서버는 모든 사용자에게 보여주게 설정되어 있습니다.

 

Refresh: 주서버의 존파일 수정여부를 부서버가 검사하기 위한 주기
Retry: 부서버가 주서버로 접속 안되면 재접속 요구 주기
Expire: 부서버가 주서버에 이 시간동안 접속 안되면 해당 도메인이 유효하지 않다 판단
TTL: 이 시간동안 존파일 캐싱

 

기본적으로 영역전송(zone)을 허용하지 않기 때문에 ls을 해서 해당 내용이 안나옵니다.

공격자가 zonfile을 가져갈 수 없을 것입니다.

특정서버로만 전송할 수 있게 해야합니다.

 

만약에 dns 매니저에서 영역전송을 어느 서버에도 허락한다면

ls wishfree.com을 하면 사이트의 zone정보를 알 수 있습니다.

 

엔트리3가지를 볼 수 있습니다.

공격자가 엔트리를 다 가져갈 수 있습니다. 위험합니다.

 

부 서버에게만 영역을 전송할 수 있게 하는 것이 중요합니다.

728x90

'Computer Science > 정보보호' 카테고리의 다른 글

04 IP주소 추적  (0) 2021.09.29
Windows2012Server Install & DNS 구동  (0) 2021.09.29
Whois 와 DNS 조사  (0) 2021.09.15
네트워크에 대한 이해 - 2  (0) 2021.09.15
네트워크에 대한 이해  (0) 2021.09.08