
http://code.google.com/p/dnsmap/source/checkout의 포크
소개
dnsmap는 2006년에 처음 출시되었으며, Paul Craig의 소설 "The Thief No One Saw"에서 영감을 받았습니다. 이 소설은 "Stealing the Network - How to 0wn the Box"라는 책에서 찾을 수 있습니다.
dnsmap는 주로 침투 테스터가 인프라 보안 평가의 정보 수집/열거 단계에서 사용하기 위해 만들어졌습니다. 열거 단계에서 보안 컨설턴트는 일반적으로 대상 회사의 IP 네트블록, 도메인 이름, 전화번호 등을 발견합니다.
서브도메인 무차별 대입(brute-forcing)은 열거 단계에서 사용해야 하는 또 다른 기술입니다. 특히 영역 전송(zone transfer)과 같은 다른 도메인 열거 기술이 작동하지 않을 때 유용합니다 (요즘에는 영역 전송이 공개적으로 허용되는 경우를 거의 보지 못했습니다).
은밀한 컴퓨터 침입 기술에 관심이 있다면, 웹에서 무료로 찾을 수 있는 다음의 훌륭하고 재미있는 장을 읽어보시길 권장합니다:
http://www.ethicalhacker.net/content/view/45/2/
dnsmap가 Backtrack 2, 3, 4에 포함되어 커뮤니티의 검토를 받았다는 점을 기쁘게 알려드립니다:
http://backtrack.offensive-security.com/index.php?title=Tools http://www.networkworld.com/community/node/57543 http://forums.remote-exploit.org/tutorials-guides/12746-dnsmap-tutorial.html http://www.linuxhaxor.net/2007/07/14/backtrack-2-information-gathering-all-dnsmap/ http://www.darknet.org.uk/2009/03/dnsmap-022-released-subdomain-bruteforcing-tool/
컴파일
컴파일은 간단합니다:
$ make
또는:
$ gcc -Wall dnsmap.c -o dnsmap
설치
또는:
여러 대상 도메인을 대량으로 무차별 대입(bruteforce)하려면 포함된 dnsmap-bulk.sh 스크립트를 사용할 수 있습니다. 스크립트를 /usr/local/bin/에 복사하면 어디서든 호출할 수 있습니다. 예:
그리고 실행 권한을 설정합니다. 예:
제한사항
멀티스레딩 부재. 이 속도 문제는 향후 버전에서 해결되기를 바랍니다.
일어날 수 있는 재미있는 일들
흥미로운 원격 액세스 서버 발견 (예: https://extranet.targetdomain.com)
잘못 구성되었거나 패치되지 않은 서버 발견 (예: test.targetdomain.com)
대상 조직의 명확하지 않거나 찾기 어려운 네트블록을 매핑할 수 있는 새로운 도메인 이름 발견 (레지스트리 조회 - whois는 여러분의 친구입니다)
때로는 무차별 대입된 일부 서브도메인이 내부 IP 주소(RFC 1918)로 확인되는 경우가 있습니다. 이는 훌륭합니다. 때로는 실제 최신 "A" 레코드이므로, 표준 DNS 확인만으로도 인터넷에서 대상 조직의 내부 서버를 열거할 수 있습니다 (예를 들어 영역 전송과는 반대로).
Dynamic DNS 서비스를 사용하여 구성된 임베디드 장치 발견 (예: linksys-cam.com). 이 방법은 Google 해킹 기술을 통해 장치를 찾는 대안입니다.
사용법
무차별 대입은 dnsmap의 내장 워드리스트 또는 사용자가 제공한 워드리스트를 사용하여 수행할 수 있습니다. 결과는 추가 처리를 위해 CSV 및 사람이 읽을 수 있는 형식으로 저장할 수 있습니다. dnsmap는 루트 권한이 필요하지 않으며, 보안상의 이유로 루트 권한으로 실행해서는 안 됩니다.
사용법 구문은 매개변수 없이 dnsmap를 실행하면 볼 수 있습니다:
$ ./dnsmap
dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)
usage: dnsmap [options] options: -w -r -c -d -i (useful if you're obtaining false positives)
참고: delay 값은 최대 무작위 값입니다. 예를 들어 1000을 입력하면 각 DNS 요청이 최대 1초 지연됩니다. 기본적으로 dnsmap는 DNS 조회 사이에 최대 10밀리초의 지연 값을 사용합니다.
예제 dnsmap의 내장 워드리스트를 사용한 서브도메인 무차별 대입:
$ ./dnsmap targetdomain.foo
사용자 제공 워드리스트를 사용한 서브도메인 무차별 대입:
$ ./dnsmap targetdomain.foo -w wordlist.txt
내장 워드리스트를 사용하고 결과를 /tmp/에 저장하는 서브도메인 무차별 대입:
$ ./dnsmap targetdomain.foo -r /tmp/
이전 예제에서는 파일 이름 대신 경로만 제공했으므로, dnsmap는 현재 타임스탬프를 포함한 고유한 파일 이름을 생성합니다. 예: /tmp/dnsmap_targetdomain_foo_2009_12_15_234953.txt
내장 워드리스트를 사용하고 결과를 /tmp/에 저장하며 각 요청 사이에 최대 3밀리초의 무작위 대기 시간을 두는 서브도메인 무차별 대입 예제:
$ ./dnsmap targetdomain.foo -r /tmp/ -d 300
dnsmap가 온라인 경험에 방해가 되는 경우 (즉, 대역폭을 소모하는 경우) -d (밀리초 단위 지연) 옵션을 사용하는 것이 좋습니다.
0.8초 지연으로 서브도메인 무차별 대입, 일반 형식과 CSV 형식으로 결과 저장, 사용자 제공 IP 2개 필터링, 사용자 제공 워드리스트 사용:
$ ./dnsmap targetdomain.foo -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w ./wordlist_TLAs.txt
대상 도메인 목록을 대량으로 무차별 대입하려면 제공된 bash 스크립트를 사용하십시오. 예:
$ ./dnsmap-bulk.sh domains.txt /tmp/results/
워드리스트
http://packetstormsecurity.org/Crackers/wordlists/dictionaries/ http://www.cotse.com/tools/wordlists1.htm http://wordlist.sourceforge.net/
기타 유사 도구 - 선택은 자유!
WS-DNS-BFX http://ws.hackaholic.org/tools/WS-DNS-BFX.tgz
DNSDigger http://www.ernw.de/download/dnsdigger.zip
Fierce Domain Scan http://ha.ckers.org/fierce/
Desperate http://www.sensepost.com/research_misc.html
DNSenum http://dnsenum.googlecode.com/files/dnsenum1.2.tar.gz
ReverseRaider http://complemento.sourceforge.net/
Knock http://knock.gianniamato.it/
-- pagvac | GNUCITIZEN.org 2010년 2월