DNS Server & DNS 정보 수집 (BIND, DNSMAP)

Casper·2023년 8월 9일
0
post-thumbnail

(간단한 개념 숙지를 위한 과거 포스팅 내용입니다.)

UNIX/LINUX에서 Name Server를 운용하기위한 패키지인 BIND(Berkeley Internet Name Domain)을 설치합니다.
BIND패키지를 사용하면 도메인을 IP로 변환시켜 주는 DNS Server구축이 가능합니다.

설치 후 패키지내 /etc/bind에서 목록을 확인합니다.

zone 파일의 기본형식인 db.local파일을 복하사여 db.zone파일로 설정합니다.

  • zone file?
    도메인 네임과 IP를 매핑한 정보들이 들어 있는 중요한 파일.
    DNS 서버는 ZONE파일을 읽어 도메인 주소를 IP주소로 변환한다.

웹서버,ftp서버,메일 서버를 humanist.hum.kr라는 도메인으로 묶어주기 위해 db.zone파일의 정보를 위와 같이 수정합니다.
각 레코드의 정보는 아래와 같습니다.

  • TTL(Time To Live) : DNS 캐시를 저장하는 기간을 초단위로 나타냄. ZONE파일에서 가장 먼저 선언되어야 합니다.
  • @ : $ORIGIN 지시어라고 하며 도메인 주소 원형을 뜻한다. named.conf.local에 설정해 줄 도메인인데, 여기서는 humanist.hum.kr.로 설정했습니다.
  • IN : 클래스로서 iNTERNET을 나타낸다.
  • SOA(Start Of Authority) : zone파일의 시작을 알리며 네임 서버 주소(ns.humanist.hum.kr.)와 관리자 메일 주소(root.humanist.hum.kr.)를 정의하고 소괄호를 이용하여 몇 가지 설정을 해줍니다.
    도메인 끝에 오는 '.'는 최상위 root도메인을 의미합니다.
    브라우저에서는 자동으로 최상위 도메인을 처리하기 때문에 표시하지 않아도 되지만 zone파일에서는 표기해줘야 합니다.
  • NS : 네임서버의 도메인 주소(localhost.으로 매핑). localhost.는 SOA레코드에서 설정한 ns.humanist.hum.kr.과 같습니다.
  • MX : 메일 서버의 라우팅 경로. MX 다음의 숫자는 Priority number로서 우선순위를 나타냅니다.
  • A : 도메인 주소에 IPV4를 매핑합니다.
  • AAAA :** 도메인 주소에 IPV6를 매핑합니다.

#vi named.conf.local

위와 같이 zone파일의 형식과 경로를 지정해줍니다.

bind데몬을 재시작한 후

#vi /etc/resolv.conf

에서 

nameserver 192.168.1.130 (서버주소)
nameserver 168.126.63.1 (한국통신 DNS 서버 주소)

를 설정한 후 Ping을 통해 확인합니다.

네임 서버가 등록된 공격자 PC에서

#dnsmap humanist.hum.kr

을 실행하여 dns정보 수집을 시작합니다.
위 경우는 8개의 도메인 네임과 8개의 ip를 찾았다는 메세지가 출력됩니다.

희생자 PC에서 wireshark를 통해 확인합니다.
Filter창에 dns를 입력하연 목록 창에 dns관련 패킷만 표시되며

dns.flags.response == 0이면 DNS조회 목록이
dns.flags.response == 1을 입력하면 DNS 응답 목록이 출력됩니다.

dns.flags.rcode != 0을 입력하면 DNS응답 중에 에러만 필터링해서 출력합니다.

위와 같이 [Analize] > [Display Filter]에서 필터를 저장하여 사용이 가능합니다.

profile
Emotional Developer

0개의 댓글