DNS Enumeration
DNS Enumeration เก็บข้อมูล DNS ของ target — record ทุกชนิด (A/MX/NS/TXT/...), zone transfer, reverse DNS เผยโครงสร้าง infrastructure บทนี้ลงลึก record types, การ query ด้วย dig, zone transfer (AXFR), reverse lookup, และ DNS automation tools (เนื้อหาเพื่อ recon ที่ได้รับอนุญาต)
1. ทำไม DNS สำคัญ
DNS map ชื่อ↔IP และเก็บ record หลายชนิดที่เผยข้อมูล infrastructure: server อะไรอยู่ที่ไหน (A/AAAA), mail server (MX), name server (NS), ข้อมูล text/SPF/DKIM (TXT), service (SRV) DNS enumeration เป็นpassive reconหลักที่เผย attack surface — subdomain, mail, hosting, third-party service
2. Record types + dig
| record | เก็บอะไร |
|---|---|
| A / AAAA | IPv4 / IPv6 ของ host |
| MX | mail server (+ priority) |
| NS | name server ของ domain |
| TXT | ข้อความ (SPF, DKIM, verification) — มักมีข้อมูลดี |
| CNAME | alias → ชี้ไปชื่ออื่น (เผย third-party) |
| SOA | Start of Authority (admin email, serial) |
| SRV | service location (เช่น _ldap, _kerberos → AD!) |
| PTR | reverse (IP → ชื่อ) |
dig example.com A # A record
dig example.com MX # mail servers
dig example.com NS # name servers
dig example.com TXT # TXT (SPF/DKIM/verification)
dig example.com ANY # ทุก record (มัก rate-limited)
dig example.com SOA
# query ผ่าน DNS server เฉพาะ
dig @8.8.8.8 example.com
# short output
dig +short example.com A
# SRV (เผย service เช่น AD)
dig _ldap._tcp.example.com SRV
dig _kerberos._tcp.example.com SRV3. Zone Transfer (AXFR) — jackpot
Zone transfer (AXFR) คือการ copy zone ทั้งหมดจาก name server (ออกแบบให้ secondary NS sync) ถ้า NS ตั้งค่าผิดให้ใครก็ขอได้ เราจะได้ record ทั้งหมด รวมทุก subdomain ทันที — เป็น misconfiguration ที่ให้ข้อมูลมหาศาล
# 1. หา name server ก่อน
dig example.com NS +short
# 2. ลอง AXFR กับแต่ละ NS
dig @ns1.example.com example.com AXFR
host -l example.com ns1.example.com
# ถ้าสำเร็จ = ได้ทุก record/subdomain (jackpot!)
# ถ้า "Transfer failed" = ปิดถูกต้อง (ปกติ)
# automation
dnsenum example.com # รวม AXFR + brute + recon
fierce --domain example.com4. Reverse DNS + automation
# reverse DNS (IP → hostname)
dig -x 8.8.8.8 +short
host 8.8.8.8
# reverse ทั้ง range (หา host ใน subnet)
for i in $(seq 1 254); do host 192.168.1.$i; done | grep -v "not found"
# automation tools (รวม brute subdomain + record + AXFR)
dnsenum example.com
fierce --domain example.com
dnsrecon -d example.com -t std # standard enum
dnsrecon -d example.com -t axfr # zone transfer5. Quick Reference
- DNS เผย infrastructure — passive recon หลัก
- dig example.com A/MX/NS/TXT/ANY; +short สำหรับผลสั้น
- SRV _ldap/_kerberos → ใบ้ Active Directory
- zone transfer: dig @ns example.com AXFR (สำเร็จ=ทุก record!)
- reverse: dig -x IP; loop ทั้ง range
- automation: dnsenum/dnsrecon/fierce
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเจอโจทย์ให้แค่ชื่อ domain มีแค่ Kali เปล่าๆ อยากรู้โครงสร้าง DNS ทั้งหมดของ target ทำตามนี้ทีละขั้น
- 1หา name server ก่อน:
dig target.com NS +short - 2ดึง record หลักทีละชนิด:
dig target.com A,dig target.com MX,dig target.com TXT - 3เช็ค TXT ให้ละเอียด — มักมี SPF/DKIM/verification token ที่ใบ้ service ที่ใช้ (Google Workspace, AWS, ...)
- 4ลอง zone transfer กับทุก name server ที่เจอ:
dig @ns1.target.com target.com AXFR - 5ถ้า AXFR สำเร็จ (ไม่ขึ้น Transfer failed) = ได้ record ทั้งหมดทันที ข้ามไปเก็บผลได้เลย
- 6ถ้า AXFR ล้มเหลว (ปกติ 99% ของ target) ไปทาง automation แทน:
dnsenum target.com - 7รันเสริมด้วย dnsrecon:
dnsrecon -d target.com -t std - 8ลอง reverse DNS บน IP ที่เจอ:
dig -x+short - 9เจอ SRV record เช่น
_ldap._tcp/_kerberos._tcp= ใบ้ Active Directory ให้ปรับ methodology - 10รวบรวม subdomain ที่เจอทั้งหมดจากขั้นตอนนี้ → ส่งต่อไปทำ subdomain enumeration แบบเต็ม
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| query record พื้นฐาน | dig, host, nslookup | - | dnsdumpster.com |
| ลอง zone transfer | dig, host | - | - |
| automation enum เต็มรูปแบบ | dnsenum, dnsrecon, fierce | sudo apt install dnsenum fierce | hackertarget.com |
| reverse DNS | dig -x, host | - | viewdns.info/reverseiplookup |
| ดู DNS history | - | - | securitytrails.com |
| ตรวจ NS/MX แบบ visual | - | - | dnsdumpster.com |
หัวข้อที่เชื่อมโยง
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้