Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
subjack — Concurrent DNS takeover scanner detecting CNAME, NS, AXFR, SPF, MX, SRV, and stale A record vulnerabilities across cloud providers, with multi-level chain analysis. | Kitploit
도구/GitHubGitHub/haccer/subjack
Vulnerability ScannersWeb SecurityPenetration TestingSubdomain EnumerationDNS Analysis
GitHubhaccer/subjack

subjack

Concurrent DNS takeover scanner detecting CNAME, NS, AXFR, SPF, MX, SRV, and stale A record vulnerabilities across cloud providers, with multi-level chain analysis.

저장소 보기
2.1k349368일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

subjack

CI Go Reference GitHub license

subjack logo
DNS Takeover Scanner

Subjack은 Go로 작성된 DNS 탈취 스캐너로, 도메인 목록을 동시에 스캔하여 탈취 가능한 도메인을 식별하도록 설계되었습니다. Go의 속도와 효율성 덕분에 이 도구는 대량 테스트에서 특히 두각을 나타냅니다. 오탐을 배제하기 위해 항상 결과를 수동으로 다시 확인하세요.

Subjack이 탐지하는 항목:

  • CNAME 탈취 — 소유되지 않은 서드파티 서비스를 가리키는 dangling CNAME
  • NS 위임 탈취 — 만료된 네임서버 도메인 및 dangling 클라우드 DNS 존 (Route 53, Google Cloud DNS, Azure DNS, DigitalOcean, Vultr, Linode)
  • 오래된 A 레코드 — 클라우드 제공업체(AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle)의 죽은 IP를 가리키는 A 레코드
  • 존 전송 (AXFR) — 전체 존 파일을 유출하는 잘못 구성된 네임서버, NS 호스트명 브루트포싱 포함
  • SPF include 탈취 — 이메일 스푸핑을 가능하게 하는 SPF include: 지시문 내 만료된 도메인
  • MX 레코드 탈취 — 이메일 가로채기를 가능하게 하는 만료된 메일 서버 도메인
  • CNAME 체인 탈취 — 중간 대상이 소유 가능한 다단계 CNAME 체인
  • SRV 레코드 탈취 — 만료되었거나 등록 가능한 도메인을 가리키는 SRV 레코드
  • NXDOMAIN 등록 — 존재하지 않아 등록 가능한 도메인 (available을 통한 RDAP로 확인)

설치

Go가 필요합니다.

go install github.com/haccer/subjack@latest

Linux, macOS, Windows용 사전 빌드된 바이너리도 릴리스 페이지에서 사용할 수 있습니다 — 컴파일이 느린 소규모 VPS에 유용합니다.

사용법

subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl
플래그설명기본값
-d확인할 단일 도메인
-w서브도메인 워드리스트 경로
-t동시 스레드 수10
-timeout연결 타임아웃 전 대기할 초10
-o결과를 파일로 출력 (JSON 출력은 .json 확장자 사용)
-sslHTTPS 연결 강제 (정확도가 높아질 수 있음)false
-a식별된 CNAME이 있는 URL뿐만 아니라 모든 URL에 요청 전송 (권장)false
-m도메인이 등록 가능하지 않더라도 죽은 CNAME 레코드로 표시false
-rDNS 리졸버 목록 경로 (줄당 하나의 IP 또는 host:port, 실패 시 8.8.8.8로 폴백)
-nsNS 탈취 확인 (만료된 NS 도메인 + dangling 클라우드 DNS 위임)false
-ar죽은 IP를 가리키는 오래된 A 레코드 확인 (ICMP에 root 권한이 필요할 수 있음)false
-axfr존 전송 (AXFR) 확인, NS 브루트포스 포함false
-mailSPF include 및 MX 레코드 탈취 확인false
-srvSRV 레코드 탈취 확인 (도메인당 약 28개의 DNS 쿼리 추가)false
-v요청당 더 많은 정보 표시false

Stdin 지원

Subjack은 stdin에서 도메인을 읽을 수 있어 다른 도구의 출력을 파이프로 연결하기 쉽습니다:

subfinder -d example.com | subjack -ssl -o results.json
cat domains.txt | subjack -t 20 -o results.txt

네임서버 탈취

-ns 플래그를 사용하면 subjack은 두 가지 유형의 네임서버 탈취 검사를 수행합니다:

만료된 NS 도메인: 도메인의 네임서버 중 만료되어 구매 가능한 것이 있는지 확인합니다. 만료된 네임서버를 등록한 공격자는 해당 도메인의 모든 DNS를 완전히 제어할 수 있습니다 — 모든 레코드를 어디든 가리키게 하고, 이메일을 가로채고, 인증서를 발급하는 등의 행위가 가능합니다.

Dangling NS 위임: 도메인의 NS 레코드가 클라우드 DNS 제공업체를 가리키지만 호스팅된 존이 삭제된 경우를 탐지합니다. Subjack은 각 네임서버에 직접 SOA 레코드를 질의합니다 — 모두 SERVFAIL 또는 REFUSED를 반환하면 존이 사라진 것이며 잠재적으로 소유 가능합니다. 지원 제공업체:

  • AWS Route 53 (ns-*.awsdns-*)
  • Google Cloud DNS (ns-cloud-*.googledomains.com)
  • Azure DNS (ns*-*.azure-dns.*)
  • DigitalOcean DNS (ns*.digitalocean.com)
  • Vultr DNS (ns*.vultr.com)
  • Linode DNS (ns*.linode.com)
subjack -w subdomains.txt -ns -o results.json

오래된 A 레코드 탐지

-ar 플래그를 사용하면 subjack은 A 레코드를 확인하고 IP 주소가 실제로 살아있는지 검사합니다. 회사가 클라우드 서버를 종료하면서 DNS A 레코드를 제거하는 것을 잊으면, 해당 IP는 제공업체의 풀에 반환됩니다. 공격자는 해당 제공업체에서 새 인스턴스를 생성하여 동일한 IP를 할당받을 때까지 시도함으로써 서브도메인의 제어권을 얻을 수 있습니다.

Subjack은 가능한 경우 클라우드 제공업체(AWS, GCP, Azure, DigitalOcean, Linode, Vultr, Oracle)를 식별하여 올바른 플랫폼을 대상으로 삼기 쉽게 합니다. 탐지는 ICMP ping(root 필요)을 사용하며 포트 80/443에서 TCP 폴백을 사용합니다.

sudo subjack -w subdomains.txt -ar -o results.json

결과는 STALE A RECORD로 표시되며 수동으로 확인해야 합니다 — 응답하지 않는 IP가 항상 재획득 가능하다는 의미는 아닙니다.

존 전송 탐지

-axfr 플래그를 사용하면 subjack은 전체 도메인의 DNS 레코드를 노출할 수 있는 DNS 존 전송 (AXFR)을 시도합니다. Subjack은 도메인의 공식 네임서버를 테스트하는 것에 그치지 않고 일반적인 네임서버 호스트명(ns1, dns-0, ns-backup 등)도 브루트포싱합니다. 숨겨지거나 잊힌 네임서버는 기본 네임서버가 잠긴 후에도 보안이 설정되지 않은 채로 남아 있는 경우가 많기 때문입니다.

subjack -d example.com -axfr -o results.json
subjack -w domains.txt -axfr -o results.json

결과는 취약한 네임서버와 노출된 레코드 수와 함께 ZONE TRANSFER로 표시됩니다.

이메일 탈취 탐지

-mail 플래그를 사용하면 subjack은 두 가지 이메일 기반 탈취 벡터를 확인합니다:

SPF include 탈취: SPF TXT 레코드를 파싱하고 include: 도메인 중 만료되어 등록 가능한 것이 있는지 확인합니다. include된 도메인을 등록한 공격자는 SPF와 DMARC를 우회하여 대상으로 완전히 인증된 이메일을 보낼 수 있습니다.

MX 레코드 탈취: MX 레코드 대상 중 만료되어 등록 가능한 것이 있는지 확인합니다. 메일 서버를 제어하는 공격자는 모든 수신 이메일을 가로챌 수 있습니다 — 비밀번호 재설정, 2FA 코드 등.

subjack -w domains.txt -mail -o results.json

CNAME 체인 및 SRV 탐지

CNAME 체인 탈취는 모든 스캔에서 자동으로 실행됩니다: 다단계 CNAME 체인(최대 10단계 깊이)을 따라가며 중간 대상이 소유 가능한지 확인합니다. 표준 CNAME 탐지는 첫 번째 홉만 확인합니다 — 체인은 더 깊은 탈취 기회를 잡아냅니다.

SRV 레코드 탈취는 -srv 플래그로 선택적으로 활성화됩니다. 일반적인 SRV 위치(SIP, XMPP, LDAP, Kerberos, IMAP, CalDAV 등)를 탐색하면 도메인당 약 28개의 DNS 쿼리가 추가되기 때문입니다:

subjack -w domains.txt -srv -o results.json

실전 활용

Rapid7의 Project Sonar 결과를 사용하여 취약한 서브도메인을 대량으로 찾아내는 일종의 PoC 스크립트인 scanio.sh를 사용할 수 있습니다. 이 스크립트는 덤프를 파싱하고 grep하여 원하는 CNAME 레코드를 찾아내고, 적대적 서브도메인 탈취에 취약한지 subjack으로 확인할 대규모 서브도메인 목록을 만듭니다. 책임감 있게 사용하세요.

워드리스트 형식

워드리스트에는 서브도메인 목록이 한 줄에 하나씩 포함되어야 합니다:

assets.xen.world
assets.github.com
b.xen.world
big.example.com
cdn.xen.world
dev.xen.world
dev2.twitter.com

테스트

테스트 스위트는 폐쇄적입니다 — 로컬 DNS 및 HTTP 픽스처에 대해 실행되며 네트워크가 필요하지 않습니다:

go test -race ./...

참고 자료

DNS 탈취에 관한 추가 정보:

  • Can I take over XYZ?
  • Hostile Subdomain Takeover using Heroku/GitHub/Desk + More
  • Can I take over DNS?

라이선스

subjack은 MIT 라이선스에 따라 배포됩니다.

도구 다운로드