본문 바로가기

Learning/└◆Network Hacking

DNS 정보 수집


정보 수집 과정의 종류

        □ 검색 엔진을 사용하는 경우(EX: 구글링) 

                □ 인터넷(정보보안사이트)을 통해 정보를 확인하는 방법(EX: exploit-db.com) 

                □ 구글 검색을 통해 정보를 확인하는 방법(EX: 구글해킹)

        □ DNS 서버를 사용하는 경우(EX: dnsenum CMD)

        □ 사회공학적인 기법(Social Engineering)을 사용하는 경우(EX: SET)

        □ 스캐너를 사용하는 방법 

                □ 일반 스캐너를 사용하는 방법(EX: nmap/zenmap) 

                □ 취약점 스캐너를 사용하는 방법(EX: Nessus/OpenVAS/Nexpose)

 

 

정보 수집(Data Gathering)에 대한 체계

 

 

어떤 방법을 통해 정보를 수집할 것인가?

 

 

DNS 정보 수집

네트워크 정보 수집

호스트 정보 수집

OS 정보 수집

 

 

서비스 목록화

네트워크 범위 파악

활성화된 머신 식별

개방 포트 탐색

운영체제 식별

서비스 식별

'말테고(Matego)'를 이용한 위협 평가

네트워크 매핑

 

모의 해킹을 할 때 가장 중요한 단계 중 하나는 정보 수집이다. 공격을 실행하기 위해서는 공격 대상에 대한 기본 지식을 수집해야 한다. 따라서 더 먾은 정보를 수집할수록 공격 가능성이 높아진다.




[실습] DNS 정보 수집

 

NS(Name Server) 사용하여 정보를 수집하는 대표적인 명령어

dnsenum CMD

dnsmap CMD

dnswalk CMD

 

 

[실습1] 구글맵(google map) + 후이즈(Whois) 데이터베이스

 

(원본 운영체제) Windows 7

C:\>nslookup www.soldesk.com

서버: ns.dacom.co.kr

Address: 164.124.101.2

 

권한 없는 응답:

이름: www.soldesk.com

Address: 183.111.174.9

 

아래 사이트에 접속하여

http://whois.kisa.or.kr/kor/        한국인터넷진흥원

-> 검색: "183.111.174.9"      <--검색결과 KT,kornet 

ISP업체까지만 알 수 있고, 종단까지는 확인할 수 없다.(hwo is data)

 

[참고] IP 주소 추적에 대한 오해

한국인터넷진흥원은 ISP(인터넷서비스 제공자) 등에게 IP 주소를 할당하고 관리하는 인터넷주소자원관리기관 입니다. IP 주소는 할당 체계에 따라 한국인터넷진흥원이 ISP에게 할당하며 ISP는 가입자에게 재 할당 합니다.

 

WHOIS 서비스를 통해 제공되는 IP주소 할당 정보는 ISP가 직접 등록한 정보로, 한국인터넷진흥원은 WHOIS 서비스에서 제공되는 범위 이상의 정보(IP주소 추적 정보 등)를 보유하고 있지 않습니다. 따라서, IP주소 최종 사용자에 대한 정보는 해당 IP주소를 서비스하는 ISP에서만 확인 가능하며, WHOIS 서비스를 통해서는 확인이 불가능합니다.

 

IP주소 추적은 수사기관 등이 법원의 허가를 받아 ISP 등에 통신자료 제공을 요청할 경우에만 가능하며, 수사기관이 아닌 일반인이 IP주소를 추적하는 것은 사실상 불가능 합니다.

 

아래 사이트에 접속하여

http://www.ipconfig.kr/

-> 검색: "183.111.174.9"

-> 상대 IP 위치를 확인한다.

-> 자신 IP 위치 및 정보를 확인한다.

 

 

 




[실습2] dnsenum CMD

 

구글 검색 엔진을 이용해 네임과 서브도메인(하위 도메인)을 추가적으로 검색한다.

사전파일(사전공격)에 나온 네임을 브루트포스 방식으로 시도하면서 서브도메인 네임을 알아낸다. 백트랙의 dnsenum에는 95개의 서브도메인 네임이 포함된 dns.txt파일이 제공된다.

C 클래스 도메인 네트워크 범위에서 후이즈 질의를 수행한 후 타겟의 네트워크 범위를 계산한다.

네트워크 범위를 대상으로 리버스 검색을 수행한다.

여러 개의 질의를 수행하기 위해 쓰레드를 사용한다.

 

 

소스코드 다운로드

https://github.com/fwaeytens/dnsenum

 

(KaliLinux)

 dns 검색

# dnsenum google.com

dnsenum.pl VERSION:1.2.3

 

----- google.com -----

 

 

Host's addresses:

__________________

 

google.com.                               5         IN     A         216.58.221.238

 

 

Name Servers:

______________

 

ns1.google.com.                           5         IN     A         216.239.32.10

ns2.google.com.                           5         IN     A         216.239.34.10

ns3.google.com.                           5         IN     A         216.239.36.10

ns4.google.com.                           5         IN     A         216.239.38.10

 

 

Mail (MX) Servers:

___________________

 

aspmx.l.google.com.                       5         IN     A         64.233.189.26

alt1.aspmx.l.google.com.                  5         IN     A         74.125.25.27

alt2.aspmx.l.google.com.                  5         IN     A         64.233.169.27

alt3.aspmx.l.google.com.                  5         IN     A         74.125.135.27

alt4.aspmx.l.google.com.                  5         IN     A         173.194.219.26

 

 

Trying Zone Transfers and getting Bind Versions:

_________________________________________________

 

 

Trying Zone Transfer for google.com on ns4.google.com ...

AXFR record query failed: RCODE from server: REFUSED

 

Trying Zone Transfer for google.com on ns3.google.com ...

AXFR record query failed: RCODE from server: REFUSED

 

Trying Zone Transfer for google.com on ns1.google.com ...

AXFR record query failed: RCODE from server: REFUSED

 

Trying Zone Transfer for google.com on ns2.google.com ...

AXFR record query failed: RCODE from server: REFUSED

 

brute force file not specified, bay.

 



# dnsenum --dnsserver 8.8.8.8 --enum --noreverse -f /usr/share/dnsenum/dns.txt google.com

dnsenum.pl VERSION:1.2.3

Warning: can't load Net::Whois::IP module, whois queries disabled.

 

----- google.com -----

 

 

Host's addresses:

__________________

 

google.com.                               299       IN     A         59.18.49.172

google.com.                               299       IN     A         59.18.49.153

google.com.                               299       IN     A         59.18.49.178

google.com.                               299       IN     A         59.18.49.148

google.com.                               299       IN     A         59.18.49.163

google.com.                               299       IN     A         59.18.49.187

google.com.                               299       IN     A         59.18.49.152

google.com.                               299       IN     A         59.18.49.173

google.com.                               299       IN     A         59.18.49.162

google.com.                               299       IN     A         59.18.49.183

google.com.                               299       IN     A         59.18.49.168

google.com.                               299       IN     A         59.18.49.157

google.com.                               299       IN     A         59.18.49.182

google.com.                               299       IN     A         59.18.49.167

google.com.                               299       IN     A         59.18.49.177

google.com.                               299       IN     A         59.18.49.158

 

 

Name Servers:

______________

 

ns2.google.com.                           21599     IN     A         216.239.34.10

..... (중략) .....

-> 많은 정보가 출력된다.

 

# dnsenum --dnsserver 8.8.8.8 --enum --noreverse -f /usr/share/dnsenum/dns.txt soldesk.com

dnsenum.pl VERSION:1.2.3

Warning: can't load Net::Whois::IP module, whois queries disabled.

 

----- soldesk.com -----

 

 

Host's addresses:

__________________

 

soldesk.com. 3599 IN A 183.111.174.9

 

 

Wildcard detection using: dqfemjhcfxgl

_______________________________________

 

dqfemjhcfxgl.soldesk.com. 3599 IN A 183.111.174.9

 

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Wildcards detected, all subdomains will point to the same IP address

Omitting results containing 183.111.174.9.

Maybe you are using OpenDNS servers.

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

Name Servers:

______________

 

ns1.doregi.com. 1683 IN A 58.76.184.11

ns2.doregi.com. 1058 IN A 58.76.184.12

ns3.doregi.com. 2643 IN A 1.214.210.186

..... (중략) .....

 

[참고] subfile 지정하는 방법

# dnsenum --dnsserver 8.8.8.8 \

--enum --noreverse \

-f /usr/share/dnsenum/dns.txt \

--subfile ~/Desktop/dns2.txt soldesk.com

 

 

[과제] 여러가지 도메인에 대해서 dnsenum 명령어를 수행해 보자.(3)

google.com

example.com

kornet.net

soldesk.com

seoul.ac.kr(대학교)

 

# dig @8.8.8.8 soldesk.com ANY    가독성이 좋은 명령어

; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> @8.8.8.8 soldesk.com ANY

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35479

;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 1

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 512

;; QUESTION SECTION:

;soldesk.com.      IN ANY

 

;; ANSWER SECTION:

soldesk.com.   3599   IN   MX   10 soldesk-com.mail.protection.outlook.com.

soldesk.com.   3599   IN   TXT  "v=spf1         include:spf.protection.outlook.com ~all"

soldesk.com.   3599   IN   A    183.111.174.9

soldesk.com.   3599   IN   SOA  ns1.doregi.com. root.doregi.com. 8 3600 600 604800 3600

soldesk.com.   3599   IN   NS   ns2.doregi.com.

soldesk.com.   3599   IN   NS   ns3.doregi.com.

soldesk.com.   3599   IN   NS   ns1.doregi.com.

..... (중략) .....

 

[참고] dig CMD 사용법 예제

# dig @168.126.63.1 kornet.net ANY

# dig @168.126.63.1 kornet.net MX

# dig @168.126.63.1 kornet.net NS

# dig @168.126.63.1 kornet.net A

# dig @168.126.63.1 kornet.net PTR

 

 

[과제] 여러가지 도메인에 대해서 dig 명령어를 수행해 보자.(3)

google.com

example.com

kornet.net

soldesk.com

seoul.ac.kr(대학교dig @8.8.8.8 seoul.ac.kr ANY





[실습3] dnsmap CMD  


 

사전 파일을 이용해 하위 도메인의 존재를 확인한다.

하위 도메인를 빠른 속도로 수집하기 때문에 매우 적합한 도구이다.

dnsenum, dnswalk 같은 툴도 유사한 방식으로 하위 도메인 정보를 획득한다.

 

KaliLinux > Information Gathering > DNS Anlysis > dnsmap

 

소스코드 다운로드

http://code.google.com/p/dnsmap/

 

(KaliLInux)

 

dnsenum 명령어 사용법 확인

# dnsmap

dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)

 

usage: dnsmap <target-domain> [options]

options:

-w <wordlist-file>

-r <regular-results-file>

-c <csv-results-file>

-d <delay-millisecs>

-i <ips-to-ignore> (useful if you're obtaining false positives)

 

e.g.:

dnsmap target-domain.foo

dnsmap target-domain.foo -w yourwordlist.txt -r /tmp/domainbf_results.txt

dnsmap target-fomain.foo -r /tmp/ -d 3000

dnsmap target-fomain.foo -r ./domainbf_results.txt

 

# dnsmap google.com

dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)

 

[+] searching (sub)domains for google.com using built-in wordlist

[+] using maximum random delay of 10 millisecond(s) between requests

 

accounts.google.com

IPv6 address #1: 2404:6800:4004:813::200d

 

accounts.google.com

IP address #1: 216.58.220.173

 

admin.google.com

IPv6 address #1: 2404:6800:4008:c05::64

 

admin.google.com

IP address #1: 59.18.44.54

IP address #2: 59.18.44.55

IP address #3: 59.18.44.59

IP address #4: 59.18.44.20

IP address #5: 59.18.44.24

IP address #6: 59.18.44.25

IP address #7: 59.18.44.29

IP address #8: 59.18.44.30

IP address #9: 59.18.44.34

IP address #10: 59.18.44.35

IP address #11: 59.18.44.39

IP address #12: 59.18.44.40

IP address #13: 59.18.44.44

IP address #14: 59.18.44.45

IP address #15: 59.18.44.49

IP address #16: 59.18.44.50

 

ap.google.com

IPv6 address #1: 2404:6800:400a:805::2004

 

..... (중략) .....

 

yp.google.com

IP address #1: 59.18.44.34

IP address #2: 59.18.44.35

IP address #3: 59.18.44.39

IP address #4: 59.18.44.40

IP address #5: 59.18.44.44

IP address #6: 59.18.44.45

IP address #7: 59.18.44.49

IP address #8: 59.18.44.50

IP address #9: 59.18.44.54

IP address #10: 59.18.44.55

IP address #11: 59.18.44.59

IP address #12: 59.18.44.20

IP address #13: 59.18.44.24

IP address #14: 59.18.44.25

IP address #15: 59.18.44.29

IP address #16: 59.18.44.30

 

[+] 114 (sub)domains and 770 IP address(es) found

[+] completion time: 612 second(s)

-> dnsmap을 실행하면 사전 파일에 있는 문자열과 도메인을 비교한다.

-> 비교한 결과 내용은 순서대로 DNS 쿼리를 요청하여 응답이 오는 내용에 대해서만 IP와 같이 출력

한다.

-> 출력된 결과는 현재 등록된 도메인과 하위 도메인이다.

-> (주의) 검색할 도메인의 종류에 따라 오랜 시간이 걸린다.

 

[과제] 여러가지 도메인에 대해서 dnsmap 명령어를 수행해 보자.(3)

google.com

example.com

kornet.net

soldesk.com

seoul.ac.kr(대학교)

 

 

[과제] dnsenum/dnsmap/dig 명령어의 출력 내용에 traceroute 명령어를 사용하여 대상 시스템의 

DMZ 네트워크 맵을 그려보자.(10)

 

용어: Open DNS server(EX: kns.kornet.net)

 

-> 상용사이트(작은 사이트) 하나를 선정한다.

-> traceroute(visualroute) 사용하여 대상 시스템의 DMZ 네트워크 맵을 그린다.

-> !!!! 반드시 수동으로 작업해 주세요. !!!!

 

 

[참고] 네트워크 토폴로지를 그려주는 툴

(사용) SolarWins

http://www.solarwinds.com/network-topology-mapper (동영상 확인)





[실습4] theharvester CMD

 

theharvester 개요

theHarvester is a tool for gathering e-mail accounts, subdomain names, virtual hosts, open ports/ banners, and employee names from different public sources (search engines, pgp key servers).

 

Is a really simple tool, but very effective for the early stages of a penetration test or just to know the visibility of your company in the Internet.

 

 

소스코드 다운로드

http://code.google.com/p/dnsmap/

 

 

[실습] theharvester 명령어 사용법

 

(KaliLinux)

 

# theharvester

 

[참고] -d <data source> 대해서

 

# theharvester -d soldesk.com -l 500 -b google

 

# theharvester -d soldesk.com -l 500 -b all

 

-> 약간 시간이 걸린다.(검색 대상에 따라 5~ 10정도)

 

 

[참고] 이메일 정보 확인

(TUI) Theharvester

(GUI) 말테고



'Learning > └◆Network Hacking' 카테고리의 다른 글

nmap 스캐닝  (0) 2016.12.29
스캐닝(Scanning)  (0) 2016.12.29
배시쉘 버그(bash shell bug, shellsock)  (0) 2016.12.28
정보 수집 단계(Data Gathering)  (0) 2016.12.28