728x90
host 명령을 이용한 DNS 스캔
모든 서브 도메인을 앞서의 방법으로 찾을 수는 없다. host 명령을 통해 이를 찾는 방법을 알아보자. 전체를 대상으로 검색하는 경우에는 -a 플래그를, 그리고 특정 타겟만 검색하는 경우에는 -t 플래그를 붙인다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | root@kali:~# host -a google.com Trying "google.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45075 ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;google.com. IN ANY ;; ANSWER SECTION: google.com. 90 IN AAAA 2404:6800:4004:801::200e google.com. 80 IN A 216.58.197.174 google.com. 165378 IN NS ns2.google.com. google.com. 165378 IN NS ns3.google.com. google.com. 165378 IN NS ns4.google.com. google.com. 165378 IN NS ns1.google.com. ;; AUTHORITY SECTION: google.com. 165378 IN NS ns4.google.com. google.com. 165378 IN NS ns1.google.com. google.com. 165378 IN NS ns3.google.com. google.com. 165378 IN NS ns2.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 338375 IN A 216.239.32.10 ns2.google.com. 341300 IN A 216.239.34.10 ns3.google.com. 338758 IN A 216.239.36.10 ns4.google.com. 338811 IN A 216.239.38.10 Received 264 bytes from 202.86.8.100#53 in 6 ms root@kali:~# host -t ns google.com google.com name server ns2.google.com. google.com name server ns1.google.com. google.com name server ns4.google.com. google.com name server ns3.google.com. | cs |
해당 도메인의 메일 서버에 대한 상세 내용 검색
1 2 3 4 5 6 | root@kali:~# host -t mx google.com google.com mail is handled by 40 alt3.aspmx.l.google.com. google.com mail is handled by 30 alt2.aspmx.l.google.com. google.com mail is handled by 10 aspmx.l.google.com. google.com mail is handled by 50 alt4.aspmx.l.google.com. google.com mail is handled by 20 alt1.aspmx.l.google.com. | cs |
google.com 도메인과 연관된 정보를 더 보고 싶다면
1 2 3 4 5 6 7 8 | root@kali:~# host google.com google.com has address 216.58.197.174 google.com has IPv6 address 2404:6800:4004:818::200e google.com mail is handled by 50 alt4.aspmx.l.google.com. google.com mail is handled by 40 alt3.aspmx.l.google.com. google.com mail is handled by 20 alt1.aspmx.l.google.com. google.com mail is handled by 10 aspmx.l.google.com. google.com mail is handled by 30 alt2.aspmx.l.google.com. | cs |
만약 존재하지 않는 정보를 요청하면 다음과 같은 메시지가 출력된다. 해당 서브도메인은 존재하지 않는다는 에러가 발생한다. 서브도메인 존재 유무를 확인할 때 유용하다.
1 2 | root@kali:~# host made.google.com Host made.google.com not found: 3(NXDOMAIN) | cs |
host 명령을 통해 zone transfers 도 가능하다. 네임서버 주소와 분석 대상 도메인이 필요하다. 일반적으로 DNS 는 트랜서퍼가 불가능하게 구성된다는 것을 유념해야한다. 앞서 찾은 네임서버 ns1.google.com 을 이용하여 google.com 트랜서퍼를 실행해보자.
1 2 3 4 5 6 7 | root@kali:~# host -l google.com ns1.google.com Using domain server: Name: ns1.google.com Address: 216.239.32.10#53 Aliases: ; Transfer failed. | cs |
다수의 네임서버를 가지고 있는 경우도 있다. 이 경우, 해당 프로세스를 자동화하는 것이 현명하다.
아래의 bash 스크립트를 통해서, 주어진 도메인의 네임서버 리스트를 생성한다. 그리고나서 각각의 네임서버에 대해 트랜서퍼 작업을 반복한다.
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash if [ ! $1 ]; then echo "Usage: #./dns-find-transfer.sh <domain>"; exit; fi for server in $(host -t ns $1 |cut -d" " -f4);do printf $server | sed 's/.$//' host -l $1 $server |grep "Address: " | cut -d: -f2 | sed 's/...$//' done | cs |
다음과 같이 위에서 만든 파일을 실행한다.
1 2 3 4 5 6 7 8 | root@kali:~# chmod 755 dns-find-transfer.sh root@kali:~# ./dns-find-transfer.sh Usage: #./dns-find-transfer.sh <domain> root@kali:~# ./dns-find-transfer.sh google.com ns2.google.com 216.239.34.10 ns3.google.com 216.239.36.10 ns4.google.com 216.239.38.10 ns1.google.com 216.239.32.10 | cs |
728x90