본문 바로가기
칼리리눅스와 백트랙을 활용한 모의해킹

[정보수집단계]1.호스트 확인 과정

by 6unoh 2015. 8. 27.

백트랙 설치 및 칼리리눅스 설치의 경우 일반적인 리눅스와 설치가 같기 때문에 넘어가서 정보수집부터 하도록 하겠습니다.

칼리리눅스의 경우 2.0으로 넘어오면서 툴들이 많이 바뀌였습니다.

DNS운영과 실무에 대한 문서입니다.

DNS.pdf

책에서는 DNS에 관해서 서버의 구성과 레코드만 나와 있기 때문에 제가 추가적으로 DNS에 관한 문서를 올렸습니다.

DNS란 Domain Name System으로 도메인의 이름과 IP주소를 매핑시켜주는 시스템을 말합니다.



DNS의 구성

1.주 네임 서버

 - 영역 내의 모든 정보를 관리

2.마스터 네임 서버

 - 보조 네임 서버가 복사할 정보를 갖고 있는 서버

3.보조 네임 서버

 - 주 네임 서버의 정보를 복사하는 서버

4.캐시 전용 서버

 - 최상위 네임 서버에 대한 정보를 갖고 있는 서버


DNS 리소스 레코드의 종류의 경우 

https://msdn.microsoft.com/ko-kr/library/Cc758321(v=WS.10).aspx

MICROSOFT에서 설명과 실제로 사용되는 예를 들어 표로 잘 설명이 되어있습니다.


1.dnsdict6 : IPv6 정보 확인

dnsdict6는 문자열이 저장돼 있는 사용자 정의 사전파일을 사용하거나 내장돼 있는 사전파일을 사용하여 DNS 레코드 정보를 찾습니다.

- 경로

백트랙 : /usr/local/bin/dnsdict6

(버전에 따라서는 경로가 다르기 때문에 locate명령을 사용하면 됩니다.)

- 메뉴위치

백트랙 : information gathering -> network analysis -> DNS analysis -> dnsdict6

칼리리눅스 : information gathering ->DNS analysis -> dnsdict6

(칼리리눅스도 2.0으로 넘어오면서 dnsdict6가 사라졌습니다.

따라서 1.1이전 버전으로 해야됩니다.)

명령어 : dnsdict6 [option] [domain]

- 주요 옵션

-4 : 해당 도메인에 대한 IPv4 주소 확인

-t : 스레드의 수를 지정(기본값 8, 최대값 32)

-D : 내장하고 있는 wordlist를 표시

-d : NS와 MX항목에 대한 IPv6 주소를 표시

-s,m,l,x : 내장하고 있는 문자열 개수 선택(s : 50, m : 798, l : 1418, x : 3213)


2.dnsmap : DNS 정보 수집

dnsenum,dnswalk 툴도 유사한 방식으로 하위 도메인을 획득합니다.

- 경로

백트랙 : /pentest/enumeration/dns/dnsmap

(버전에 따라서는 경로가 다르기 때문에 locate명령을 사용하면 됩니다.)

-메뉴 경로

백트랙 : information gathering -> network analysis -> DNS analysis -> dnsmap

칼리리눅스1.1 : information gathering ->DNS analysis -> dnsmap

칼리리눅스2.0 : information gathering ->DNS analysis -> dnsmap


- 명령어 : dnsmap [domain] [option]

- 주요 옵션

-w : 사전 파일(Dictionary files) 이용하기

-r : 결과를 정규식으로 저장

-c : 결과를 csv 형식으로 저장

-d : milliseconds 단위로 보기

-i : IPS 무시


3.dnsrecon : 차별화된 DNS 정보 수집

- dnsrecon만의 기능

- 리버스 범위 검색

- 최상위 도메인 확장

- 단어 목록을 이용한 DNS 호스트와 도메인 브루트포스, 1896개의 호스트 텍스트 파일을 브루트포스용으로 제공

- SN, SOA, MX 레코드 질의

- 발견된 각 NS 서버를 대상으로 영역 전송 실행

- 해당 도메인에서 널리 쓰이는 SRV 레코드 탐색

- 경로

백트랙 : /pentest/enumeration/dns/dnsrecon

-메뉴경로

백트랙 : information gathering -> network analysis -> DNS analysis -> dnsrecon

칼리리눅스1.1 :  information gathering ->DNS analysis -> dnsrecon

칼리리눅스2.0 :  information gathering ->DNS analysis -> dnsrecon

- 명령어  

백트랙 : python dnsrecon.py [option] [대상 IP or  대상 도메인]

칼리리눅스 (1.1, 2.0) : dnsrecon [option] [대상IP or 대상 도메인 ]

- 주요 옵션

-h : 도움말

-d [domain]: DNS 정보를 얻고자 하는 도메인

-r [IP 범위] : Reverse Look-up 브로트포스에 사용될 IP 범위 지정

-n [name]: SOA 정보가 제공되지 않을 경우 DNS 서버 사용

-D [file] : 브루트포스에 사용될 사전 파일

--threads [number] : 스레드 수 지정

--lifetime [number] : 쿼리에 대한 서버의 응답시간 설정

- 매개변수

std : 일반 레코드 유형으로 열기

rvl : 주어진 CIDR IP에 대해 Reverse Look-up 실행

brt : 도메인과 호스트에 주어진 사전 파일을 사용해 브루트포스

srv : 주어진 도메인에 대해 일반적인 SRV 레코드 열거

axfr : 잘못된 설정의 영역 전송을 찾기 위해 도메인의 모든 NS 서버 테스트

goo : 하위 도메인과 호스트에 대한 구글 검색

snoop : 특정 도메인의 모든 NS 서버에 대한 캐시 스누핑을 수행

- 추가 옵션

-a : AXFR(전체 영역 전송) 을 수행

-s : 지정한 IPv4 범위의 SPF Record에 대해 Reverse Look-up 수행

-g : 구글에서 표준 열거

-w : 표준 쿼리를 수행할 때 Whois 기록 분석과 Reverse Look-up 수행

-z : DNSSEC Walk 수행

- 출력 옵션

--db : SQLite 3 파일로 저장

--xml : xml 파일로 저장

-c, --csv : csc 파일로 저장


4.fierce : DNS 정찰

해당 도메인이 사용 중인 여러 ip를 확인하는 과정에서 사전파일로 bruteforce를 합니다. 만약 fierce폴더에 hosts.tct파일이 없는 경우 에 fierce를 사용하게 되면 해당 파일이 없다고 경고 메세지를 보여주게 됩니다.

- 경로

백트랙 : /pentest/enumeration/dns/fierce

-메뉴경로

백트랙 : information gathering -> network analysis -> DNS analysis -> fierce

칼리리눅스1.1 :  information gathering ->DNS analysis -> fierce

칼리리눅스2.0 :  information gathering ->DNS analysis -> fierce

- 명령어 

백트랙 : fierce.pl -dns [도메인] [option]

칼리리눅스(1.1, 2.0) : fierce -dns [도메인] [option]

- 주요 옵션

- delay : 지정한 숫자만큼 Look-up을 진행하지 않고 대기

- dns : 도메인 지정

- dnsfile : Reverse Look-up에 사전파일 사용

- dnsserver : Reverse Look-up에 DNS 서버 사용

- fulloutput : 웹서버에 연결되면 http 헤더를 포함해 모든 내용 출력

- nopattern : 인근 호스트를 찾을 때 검색패턴을 사용하지 않음

- range : 내부 IP 범위 스캔

- search : TTY(인쇄용 화면)를 출력하지 않음

- tcptimeout : 타임아웃 시간 설정

- threads : 스레드 수 지정

- wide : C 클래스 전체를 스캔하여 일치하는 호스트 검색

- wordlist : 별도의 wordlist 사전파일 사용


5.lbd : 네트워크 로드밸런싱 정보 확인

DNS/HTTP 서버가 로드밸런싱으로 구성돼 있는지 확인하는 도구입니다.

- 경로

백트랙 : /pentest/enumeration/web/lbd/

-메뉴경로

백트랙 : information gathering -> network analysis -> DNS analysis -> lbd

칼리리눅스1.1 :  information gathering ->IDP/IPS Identifications -> lbd

칼리리눅스2.0 :  information gathering ->IDP/IPS Identifications -> lbd

- 명령어 : lbd.sh [domain]


6.reverseraider : 하위 도메인 정보 확인

칼리리눅스로 넘어오면서 사라졋습니다. reverseraider는 지정한 범위 내에 하위 도메인을 스캔하거나 하나의 도메인에 wordlist에 포함된 문자열을 가지고 bruteforce공격을 합니다.

- 경로

백트랙 : /pentest/eumeration/reverseraider/

-메뉴경로

백트랙 : information gathering -> network analysis -> DNS analysis -> fierce

칼리리눅스1.1 :  information gathering ->DNS analysis -> fierce

칼리리눅스2.0 :  information gathering ->DNS analysis -> fierce

- 명령어 : reverseraider [option] [domain]

- 주요 옵션

-r : Reverse Scanning을 위한 IP 주소 범위 지정

-f : IP 주소목록이 저장된 파일을 이용해 리버스 스캐닝

-d : 문자열이 저장된 파일을 이용해 지정한 도메인에 대한 하위 도메인을 찾기 위해 브루트포스

-w : 문자열지 지정된 파일 지정

-t : 타임아웃 시간 지정

-P : 문자열이 저장된 파일의 내용을 숫자로 치환해 사용

-D : 기본적으로 사용하는 DNS 서버를 지정

-T : TCP 쿼리 대신 UDP 쿼리 사용

-R : 쿼리 전송시 재귀 비트 설정


댓글