본문 바로가기

전공 공부/네트워크 해킹과 보안 : 정보보안 개론과 실습

ch03 - Whois와 DNS 조사 / 연습문제 3장

728x90

part 02 네트워크 정보 수집(ch3,4,5)

01 Whois 서버와 hosts 파일

02 DNS

 

01 Whois 서버와 hosts 파일

 1. Whois 서버에 대한 이해

 - 도메인을 확인하고 도메인과 관련된 사람과 인터넷 자원을 찾아보고 관리하기 위한 프로토콜로 만들어졌다.

(ICANN에서 관리)

#서버에서 얻는 정보(사회공학적 공격에 사용될 수 있음)

  • 도메인 등록 및 관리 기관 정보
  • 도메인 이름과 관련된 인터넷 자원 정보
  • 목표 사이트의 네트워크 주소와 IP 주소
  • 등록자, 관리자, 기술 관리자의 이름, 연락처, 이메일 계정
  • 레코드의 생성 시기와 갱신 시기
  • 주 DNS 서버와 보조 DNS 서버
  • IP 주소의 할당 지역 위치

 

 2. hosts 파일에 대한 이해

 - host 파일은 각자가 임의로 정한 별명을 사용해서 다른 명칭으로 부를 수 있다.]

DNS는 이러한 별명을 하나의 공통된 명칭으로 바꿨는데 도메인 이름이라고 한다.

 

#hosts 파일의 위치

윈도우 : 윈도우 os 설치 dir/system32/drivers/etc/hosts

리눅스 : /etc/hosts

 - hosts 파일은 특정 IP에 명칭을 붙여놓은 것으로 각 행 앞에 #으로 표시된 것은 주석이다.

 보통 hosts 파일은 비어있고 DNS 서버가 작동하지 않을 때, 별도의 네트워크를 구성하여 임의로 사용하고자 할 때, 다른 IP 주소를 가진 여러 대의 서버가 같은 도메인으로 클러스터링(clustering) 되어 운용되는 상태에서 특정 서버에 접속할 때 유용하다.

 

#실습 : hosts 파일을 이용해 이름 해석하기

 

  • 1) 도메인 등록

ping 명령으로 해당 도메인의 IP 주소를 확인 가능

hosts 파일을 열어 도메인 등록

 

  • 2) hosts 파일 동작 확인하기

hanbit.co.kr에 ping을 보냈을 때처럼 218.237.65.4로 ping이 보내진다. 웹에서 http://habit을 입력하면 접속된다.

ping -a 218.38.58.195를 하면 해당 이름을 hosts 파일에서 조회해 첫 번째로 등록된 도메인 이름을 사용한다.

 

  • 3) 잘못된 주소를 등록하여 사이트 접속 차단하기

hosts 파일은 정상적인 연결을 위해 사용할 수도 있지만 악용될 수도 있다.

hosts 파일에 잘못된 주소를 입력해둬 사용자를 엉뚱한 사이트로 유도하는 피싱과 같은 공격을 수행할 수도 있고 해당 사이트의 접속을 차단할 수도 있다.

 

02 DNS

 1. DNS에 대한 이해

 : 숫자로 구성된 네트워크 주소인 IP 주소를 사람이 이해하기 쉬운 명칭인 도메인 이름으로 상호 매칭 시켜주는 시스템

 

DNS에서 가장 상위 개체를 '.'으로 루트이고 두 번째 개체가 국가 이름, 세 번째 개체가 조직의 특성이 된다.

보통 맨 앞에 자신의 dns 서버에서 지정해놓은 www, ftp와 같은 특정 서버의 이름이 온다.

이렇게 완성된 이름을 FQDN(Fully Qualified Donmain Name)이라 한다.

 

 2. DNS의 동작 원리

 - DNS를 사용하려면 클라이언트에서 사용할 DNS 서버를 직접 입력하거나 DHCP를 통해 자동으로 할당받아 설정할 수 있다. [리눅스에서는 /etc/resolv.conf 파일에 DNS 서버를 입력]

윈도우 -> 제어판 -> 네트워크 및 공유센터 -> 어댑터 설정 변경의 로컬 속성에서 DNS 서버를 변경할 수 있다.

 

  현재 이용 중인 서버는 cmd에 ipconfig /all로 확인

 

 # 클라이언트가 DNS 서버로부터 해당 도메인 이름에 대한 IP 주소를 얻는 과정

1. hosts 파일에 정보가 없으면 시스템에 설정된 DNS 서버인 로컬 DNS 서버에 질의한다.

2. 로컬 DNS 서버에도 해당 정보가 없으면 루트 DNS 서버에 질의를 보낸다.

3. 루트 DNS 서버에 www.wishfree.com 에 대한 정보가 없으면 com을 관리하는 DNS 서버에 대한 정보를 보내준다.

4. 로컬 DNS 서버는 com DNS 서버에 www.wishfree.com 에 대해 다시 질의한다.

5. 해당 정보가 없을 경우, com DNS 서버는 다시 wishfree.com에 질의하도록 로컬 DNS 서버에 보낸다.

6. 로컬 DNS 서버는 마지막으로 wishfree.com의 DNS 서버에 질의한다.

7. wishfree.com의 DNS 서버로부터 www.wishfree.com 에 대한 IP 주소를 얻는다.

8. 해당 IP 주소를 클라이언트에 전달한다.

 

 ->위의 과정이 형식적이지만 대부분 자신이 설정한 로컬 DNS 서버에서 최초 요청한 도메인의 IP 주소를 바로 얻을 수있다.(윈도우에선 이미 조회한 DNS 정보를 메모리에 저장하는 데 시스템에 캐시 된 DNS 정보는 ipconfig /displaydns로 확인 가능)

- 캐시된 DNS 정보를 모두 지우려면 ipconfig /flushdns 

 

#DNS 서버 종류

  • 주 DNS서버 : 도메인의 중심 DNS 서버
  • 부 DNS 서버 : 주 DNS 서버의 백업 서버
  • 캐시 DNS 서버 : 주 DNS와 부 DNS 서버에 대한 접속이 불가능할 때를 대비한 임시 DNS 서버

 

 3. DNS를 이용한 정보 습득

 - 다른 사용자가 hosts 파일을 얻었을 때 사용자가 각 시스템에 접근하는데 도움을 줬던 만큼 다른 사용자에게도 주기 때문에 큰 문제가 된다.

DNS에서도 비슷한 DNS영역 정보의 접근 허용이 있다. [주 DNS 서버에서 관리하는 도메인 영역을 존(zone)이라 한다.]

부 DNS 서버는 주 DNS 서버로부터 영역에 대한 정보를 전송받아 도메인에 대한 정보를 유지하며 영역이 전송되는 대상을 부 DNS 서버로 제한하지 않은 데서 문제가 발생

 

#실습 : DNS 서버 검색으로 정보 습득하기

  • 1) nslookup 실행하고 DNS 설정하기

 ns(name server)는 DNS 서버를 가리키는 일반 표현이고 nslookup 명령으로 현재 기본으로 설정된 DNS 서버와 연결되는 것을 확인할 수 있다. 

 

  • 2) 도메인 정보 수집하기

특정 도메인에 관한 정보를 알고 싶을 때 해당 도메인 이름을 입력한다.

ex) > www.naver.com(보안 때문에 막혀있다)

 

 - 검색하고자 하는 서버의 종류를 설정할 때 set type 명령을 이용한다.

ex) > set type=ns

> www.naver.com

하면 운영되는 서버가 보인다.

 

set type으로 출력되는 DNS 정보를 DNS 레코드라고 한다.

 

  • 3) DNS 영역 전송

nslookup 실행 뒤 서버를 설정한 DNS 서버로 바꾸면 된다.

ex) server IP 주소[해당 IP 주소로 바뀐다]

 

연습문제

1. Whois 정보를 관리하는 기관은 어디인가? 3 ICANN

 

2. whois에서 알 수 있는 내용이 아닌 것은 무엇인가? 4 위치는 알 수 없다.

 

3. DNS의 역할이 아닌것은 무엇인가? 2

 

4. DNS 레코드 중에서 메일 서버에 해당하는 것은 무엇인가? 4

 

5. 다음 중 DNS 서버가 아닌 것은 무엇인가? 4 프록시 DNS 서버

 

6. 윈도우와 리눅스에서 호스트(hosts)파일의 위치는 어디인가? 

윈도우 - 윈도우 os 설치 dir\system32\drivers\etc/hosts
리눅스 - /etc/hosts

7. DNS 이름의 해석과정을 설명하시오.

위쪽

 

8. DNS의 레코드에는 어떤 것들이 있는지 나열하시오.

위쪽


9. DNS 서버의 존(zone) 전송 범위의 제한은 어떻게 해결할지 설명하시오.

리눅스에서

zone "도메인"{

type ;

file ""

allow-transfer(ip주소)

};

 

10. 윈도우에서 시스템의 캐시에 저장된 DNS 정보를 보기 위한 명령과 삭제하기 위한 명령은 각각 무엇인지 설명하시오.
시스템에 캐시 된 DNS 정보는 ipconfig /displaydns
캐시된 DNS 정보를 모두 지우려면 ipconfig /flushdns