상세 컨텐츠

본문 제목

DNS 정보를 수집하는 다양한 방법

Information Security

by mp.jamong 2020. 12. 11. 09:40

본문

 

DNS(Domain Name System)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 해줍니다. 특정 컴퓨터의 주소를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 IP 주소로 변환합니다. 따라서 IP 주소와 도메인 정보가 보관되어 있는 DNS의 정보를 알게 된다면 대상 서비스의 추가 정보를 알 수 있고, 서비스 구조를 추정할 수 있습니다. 본 포스팅에서는 특정 웹사이트의 정보를 수집하는 단계에서 DNS 정보 수집하는 방법에 대해 알아보겠습니다.

 

 

 

DNS는 무엇인가?

 

스마트폰이나 노트북부터 대규모 소매 웹 사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷 상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신합니다. 이런 숫자를 IP 주소라고 하며, 웹 브라우저를 열고 웹 사이트로 이동할 때 긴 숫자를 기억해 입력하지 않고 example.com 같은 도메인 이름을 입력해서 원하는 웹사이트로 이동 합니다.

 

▷ DNS 서비스는 전 세계에 배포된 서비스로 example.com과 같이 사람이 읽을 수 있는 이름을 192.0.2.1과 같은 숫자 IP 주소로 변환하여 컴퓨터가 서로 통신할 수 있도록 합니다. 인터넷의 DNS 시스템은 이름과 숫자 간의 매핑을 관리하여 마치 전화번호부와 같은 기능을 합니다. DNS 서버는 이름에 대한 요청을 IP 주소로 변환하여 최종 사용자가 도메인 이름을 웹 브라우저에 입력할 때 해당 사용자를 어떤 서버에 연결할 것인지를 제어합니다. 이 요청을 쿼리라고 부릅니다.

 

▷ 아래 그림은 일반 사용자가 웹사이트를 방문할 때 DNS 쿼리가 진행되는 과정을 한눈에 쉽게 볼 수 있게 도식화한 것입니다.

 

 

 A Record

 → 호스트에 대한 IPv4 주소를 알려줍니다. 도메인 이름을 해당하는 IP 주소로 변환하는 데 사용됩니다.

 

 AAAA Record

 → 호스트에 대해 IPv6 주소를 알려줍니다. 도메인 이름을 해당하는 IP 주소로 변환하는 데 사용됩니다.

 

CNAME Record

 → 도메인 이름의 별칭을 만드는 데 사용됩니다. 도메인을 외부 도메인으로 별칭을 지정하려는 경우 사용됩니다.

 

MX Record

 → DNS 도메인 이름에 대한 메일 교환 서버를 알려줍니다.

 

NS Record

 → 호스트에 대한 공식적인 이름 서버를 알려줍니다.

 

PTR Record

 → IP 주소를 기반으로 도메인 이름을 찾는 데 사용됩니다.

 

SOA Record

 → 기본 이름 서버, 도메인 관리자의 전자 메일, 도메인 일련 번호 및 영역 새로 고침과 관련된 여러 타이머를 포함하여 DNS 영역에 대한 핵심 정보를 지정합니다.

 

TXT Record

 → 형식이 지정되지 않은 임의의 텍스트 문자열을 저장할 수 있습니다. 도메인 확인 또는 전자 메일 등록을 위한 SPF 확인을 위해 사용 됩니다.

 

 

DNS 정보를 수집할 때 사용하는 다양한 도구들

 

DNS 정보를 수집할 때 사용하는 다양한 도구들이 있는데, 본 포스팅에서는 아래의 도구들을 이용하여 정보를 수집해보겠습니다.

 → host, nslookup, dnsenum

 

▷ DNS 정보 수집 테스트를 할 때 사용하는 테스트 웹사이트를 이용하여 정보 수집을 하겠습니다. 테스트 웹사이트 정보는 아래와 같습니다.

 → 테스트 웹사이트 URL : zonetransfer.me

 

 

host 명령어를 이용한 DNS 정보 수집

 

▷ host 를 가장 쉽게 사용하는 방법은 host 명령어 다음에 도메인 주소를 입력하면 됩니다.

 → 명령어 : host zonetransfer.me

 

 

▷ host 명령어의 사용 방법은 host -h 명령어를 통해 각각의 옵션 확인이 가능합니다.

 → 명령어 : host -h

 

 

DNS 레코드별 조회가 가능한데, -t 옵션을 이용하여 각각의 레코드별 조회가 가능합니다.

 명령어 : host -t a zonetransfer.me (A 레코드 조회)

 명령어 : host -t aaaa zonetransfer.me (AAAA 레코드 조회)

 명령어 : host -t mx zonetransfer.me  (MX 레코드 조회)

 명령어 : host -t cname zonetransfer.me (CNAME 레코드 조회)

 명령어 : host -t ns zonetransfer.me (NS 레코드 조회)

 명령어 : host -t txt zonetransfer.me (TXT 레코드 조회)

 

 

 

▷ -l 옵션을 이용하여 도메인의 모든 호스트를 조회할 수 있습니다.

 → 명령어 : host -l zonetransfer.me nsztm1.digi.ninja

 

 

▷ 특정 DNS를 사용하여 도메인 정보 확인하는 방법은 아래 그림과 같습니다. host 도메인 특정DNS 순으로 입력하면 특정 DNS를 이용하여 도메인 정보를 확인할 수 있습니다. 참고로 아래 그림은 KT DNS를 이용하여 zonetransfer.me 도메인을 질의한 내용입니다.

 → 명령어 : host zonetransfer.me 168.126.63.1

 

 

 

nslookup 명령어를 이용한 DNS 정보 수집

 

▷ nslookup 를 가장 쉽게 사용하는 방법은 nslookup 명령어 다음에 도메인 주소를 입력하면 됩니다.

 → 명령어 : nslookup zonetransfer.me

 

 

▷ nslookup 명령어의 사용 방법은 nslookup help 명령어를 통해 각각의 옵션 확인이 가능합니다.

 → 명령어 : nslookup help

 

 

 

▷ DNS 레코드별 조회가 가능한데, -type 옵션을 이용하여 각각의 레코드별 조회가 가능합니다.

→ 명령어 : nslookup -type=a zonetransfer.me (A 레코드 조회)

→ 명령어 : nslookup -type=aaaa zonetransfer.me (AAAA 레코드 조회)

→ 명령어 : nslookup -type=mx zonetransfer.me  (MX 레코드 조회)

→ 명령어 : nslookup -type=cname zonetransfer.me (CNAME 레코드 조회)

→ 명령어 : nslookup -type=ns zonetransfer.me (NS 레코드 조회)

→ 명령어 : nslookup -type=txt zonetransfer.me (TXT 레코드 조회)

 

 

특정 DNS를 사용하여 도메인 정보 확인하는 방법은 아래 그림과 같습니다. nslookup 도메인 특정DNS 순으로 입력하면 특정 DNS를 이용하여 도메인 정보를 확인할 수 있습니다. 참고로 아래 그림은 LG DNS를 이용하여 zonetransfer.me 도메인을 질의한 내용입니다.

 → 명령어 : nslookup zonetransfer.me ns.lgtelecom.com

 

 

 

dnsenum 명령어를 이용한 DNS 정보 수집

 

host, nslookup 는 확인하고자 하는 DNS 레코드 정보를 개별적으로 조회해야 했지만, dnsenum 은 한번에 모든 정보를 쉽게 확인할 수 있습니다.

 

▷ dnsenum 을 가장 쉽게 사용하는 방법은 dnsenum 명령어 다음에 도메인 주소를 입력하면 됩니다. 아래 그림과 같이 DNS 정보를 일괄적으로 조회하여 가져옵니다.

 → 명령어 : dnsenum zonetransfer.me

 

 

▷ dnsenum 명령어의 사용 방법은 dnsenum -h 명령어를 통해 각각의 옵션 확인이 가능합니다.

 → 명령어 : dnsenum -h

 

 

 

 

▽ 같이 보면 더 좋은 블로그 글 

 

recon-ng 를 이용한 패시브 정보수집

패시브 정보수집 도구인 recon-ng에 대해 소개하고자 합니다. 패시브 정보수집은 인터넷에서 확인할 수 있는 정보를 수집하는 방법을 의미하며 OSINT 툴 중에 하나인 recon-ng를 사용하는 방법에 대해

mpjamong.tistory.com

 

theharvester를 이용한 이메일 정보 수집

이전 포스팅에서 설치한 Kali Linux에 내장된 theharvester 도구를 이용하여 이메일과 기타 정보를 수집하는 방법에 대해 알아보고, 수집된 정보를 이용하여 보안 또는 시스템 담당자 입장에서 활용할

mpjamong.tistory.com

관련글 더보기

댓글 영역