
빠른 DNS 테이크오버 스캐너로, 네임서버를 쿼리하고 제공자를 핑거프린팅하여 누락된 호스팅 영역을 확인함으로써 취약한 하위 도메인을 식별합니다.
누락된 호스팅 DNS 영역을 확인하여 서브도메인 탈취로 이어질 수 있는 빠른 도구입니다.
DNS 탈취 취약점은 서브도메인(subdomain.example.com) 또는 도메인의 권위 있는 네임서버가 특정 제공업체(예: AWS Route 53, Akamai, Microsoft Azure 등)로 설정되어 있지만 호스팅 영역이 제거되거나 삭제된 경우 발생합니다. 결과적으로 DNS 레코드 요청 시 서버가 SERVFAIL 오류로 응답합니다. 이로 인해 공격자는 사용 중이던 서비스에 누락된 호스팅 영역을 생성하고 해당 (서브)도메인의 모든 DNS 레코드를 제어할 수 있게 됩니다.¹
가장 쉬운 방법입니다! 릴리즈 페이지에서 미리 빌드된 바이너리를 다운로드하여 압축 해제 후 실행하세요!
| 참고: Go 1.16+ 컴파일러가 설치 및 구성되어 있어야 합니다! |
매우 빠르고 깔끔합니다!
▶ go install github.com/pwnesia/dnstake/cmd/dnstake@latest
소스 코드에서 직접 실행 파일 빌드:
▶ git clone https://github.com/pwnesia/dnstake
▶ cd dnstake/cmd/dnstake
▶ go build .
▶ (sudo) mv dnstake /usr/local/bin
$ dnstake -h
·▄▄▄▄ ▐ ▄ .▄▄ ·▄▄▄▄▄ ▄▄▄· ▄ •▄ ▄▄▄ .
██▪ ██ •█▌▐█▐█ ▀.•██ ▐█ ▀█ █▌▄▌▪▀▄.▀·
▐█· ▐█▌▐█▐▐▌▄▀▀▀█▄▐█.▪▄█▀▀█ ▐▀▀▄·▐▀▀▪▄
██. ██ ██▐█▌▐█▄▪▐█▐█▌·▐█ ▪▐▌▐█.█▌▐█▄▄▌
▀▀▀▀▀• ▀▀ █▪ ▀▀▀▀ ▀▀▀ ▀ ▀ ·▀ ▀ ▀▀▀
(c) pwnesia.org — v0.0.1
Usage:
[stdin] | dnstake [options]
dnstake -t HOSTNAME [options]
Options:
-t, --target <HOST/FILE> Define single target host/list to check
-c, --concurrent <i> Set the concurrency level (default: 25)
-s, --silent Suppress errors and/or clean output
-o, --output <FILE> Save vulnerable hosts to FILE
-h, --help Display its help
Examples:
dnstake -t (sub.)domain.tld
dnstake -t hosts.txt
dnstake -t hosts.txt -o ./dnstake.out
cat hosts.txt | dnstake
subfinder -silent -d domain.tld | dnstake
DNSTake는 RetryableDNS 클라이언트 라이브러리를 사용하여 DNS 쿼리를 전송합니다. 초기 연결은 Google 및 Cloudflare DNS를 리졸버로 사용하고, 대상 호스트의 네임서버를 확인 및 핑거프린팅합니다. 만약 네임서버가 있다면, 해당 네임서버 IP를 리졸버로 다시 대상 호스트를 조회합니다. 이때 DNS 상태 응답이 NOERROR/NXDOMAIN이 아닌 다른 이상한 응답이 오면, 탈취에 취약한 것으로 판단합니다. 개략적인 흐름은 이 다이어그램과 같습니다.
현재 지원되는 DNS 제공업체 목록은 여기에서 확인하세요.
DNSTake는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE를 참조하세요.