Có ba cách để thực hiện subdomain enumeration:

  • OSINT (Open-Source Intelligence)
  • Brute force
  • Virtual host

Chỉ có OSINT là phương pháp thu thập thông tin thụ động (passive reconnaissance).

OSINT

SSL/TLS Certificates

Các Certificate Authorities (CA) lưu trữ danh sách các chứng chỉ đã cấp cho một domain. Chúng ta có thể sử dụng danh sách này để tìm các subdomain.

Search Engines

Sử dụng Google Dorking để tìm các subdomain, ví dụ: site:*.domain.com -site:www.domain.com

DNS

DNS Dumpster

Các công cụ như nslookupdig không liệt kê các subdomain. DNS Dumpster là một công cụ hữu ích để tìm subdomain, phân giải IP và xác định vị trí địa lý.

Shodan.io

Shodan.io là một công cụ tìm kiếm các thiết bị kết nối internet. Chúng ta có thể tìm kiếm thông tin về hosting, vị trí, loại server, và các lỗ hổng đã biết.

  • product:Apache
  • hostname:tryhackme.com
  • vuln:CVE-2014-0160

Sublist3r

Sublist3r là một công cụ tự động hóa việc tìm kiếm subdomain từ nhiều nguồn khác nhau. ./sublist3r.py -d acmeitsupport.thm

Subfinder

Subfinder là một công cụ OSINT khác để tìm kiếm subdomain. subfinder -d DOMAIN

Brute Force

Brute force là một phương pháp thu thập thông tin chủ động (active reconnaissance). Thay vì brute force hoàn toàn, chúng ta nên sử dụng wordlist để tránh bị phát hiện.

DNS Recon

Sử dụng dnsrecon: dnsrecon -d acmeitsupport.thm -t brt -t brt chỉ định kiểu quét là brute force.

Knockpy

Knockpy cũng là một công cụ quét subdomain sử dụng wordlist. python3 knockpy.py domain.com

Virtual Host

Web server có thể host nhiều trang web trên cùng một IP. Server sẽ dựa vào header Host để xác định trang web cần trả về. Bằng cách thay đổi header này, chúng ta có thể khám phá các subdomain khác.

Công cụ Ffuf có thể tự động hóa quá trình này: ffuf -w /path/to/wordlist.txt -H "Host: FUZZ.domain.com" -u <URL>

  • FUZZ là placeholder cho các từ trong wordlist.
  • -fs có thể được dùng để lọc các response có kích thước nhỏ.

Kiểm tra Domains

Không phải tất cả các subdomain đều là web service. Chúng ta có thể dùng HTTPX để kiểm tra: cat hosts.txt | httpx Lệnh này sẽ trả về các URL của các domain đang chạy web service.

Liên quan

list
from outgoing([[Subdomain Enumeration]])
sort file.ctime asc

Resources