Amass
Amass (OWASP) เป็นเครื่องมือ recon/subdomain enumeration ที่ครอบคลุมที่สุด — รวมหลายสิบ data source, passive+active, ASN/IP mapping, และ graph database บทนี้ลงลึก subcommand (enum/intel/viz), passive vs active, การ config API key, และ workflow (เนื้อหาเพื่อ recon ที่ได้รับอนุญาต)
1. Amass คืออะไร
Amass เป็นโปรเจกต์ OWASP สำหรับ attack surface mapping — จุดเด่นคือครอบคลุม: รวม data source หลายสิบแหล่ง (DNS, CT logs, search engine, API, ASN), ทำได้ทั้ง passive และ active, map ความสัมพันธ์ domain↔IP↔ASN, และเก็บผลใน graph database เป็นเครื่องมือ subdomain enumeration ที่ลึกที่สุดตัวหนึ่ง (แต่ช้ากว่า subfinder)
2. Subcommands
| subcommand | ทำอะไร |
|---|---|
| amass enum | subdomain enumeration (หลัก) |
| amass intel | หา domain/ASN ขององค์กร (recon เบื้องต้น) |
| amass viz | visualize ผลเป็นกราฟ |
| amass db | จัดการ/query graph database |
3. amass enum (passive + active)
# passive (เร็ว เงียบ — query source ไม่แตะ target)
amass enum -passive -d example.com -o subs.txt
# active (รวม DNS resolution + brute + zone transfer — ครบกว่า ดังกว่า)
amass enum -active -d example.com -o subs.txt
# brute-force subdomain (ใช้ wordlist)
amass enum -active -d example.com -brute -w wordlist.txt
# หลาย domain
amass enum -passive -df domains.txt -o subs.txt
# ระบุ resolver + config
amass enum -d example.com -r 8.8.8.8 -config config.ini4. amass intel (หา domain/ASN ขององค์กร)
# หา domain ขององค์กร (จากชื่อ)
amass intel -org "Example Inc"
# หา domain จาก ASN (ดู ASN Enumeration)
amass intel -asn 15169
# หา domain จาก IP range
amass intel -cidr 203.0.113.0/24
# reverse whois (domain ที่เกี่ยวข้อง)
amass intel -d example.com -whois5. API config + visualization
- API keys: ตั้งใน
config.ini(หรือ~/.config/amass/) — เพิ่ม source เช่น Shodan, Censys, VirusTotal, SecurityTrails ทำให้ผลครบขึ้นมาก - passive ที่ดีต้องมี API: source ฟรีบางตัวจำกัด — API key เปิด source เพิ่ม
- amass viz:
amass viz -d3 -d example.comสร้าง visualization (กราฟความสัมพันธ์) - graph db: ผลเก็บใน database — query ภายหลัง, ติดตามการเปลี่ยนแปลง
- amass ช้ากว่า subfinder — subfinder เร็วสำหรับ passive เร็วๆ, amass ลึก/ครบกว่าเมื่อต้องการครอบคลุม
# ~/.config/amass/config.ini
[data_sources.Shodan]
[data_sources.Shodan.Credentials]
apikey = YOUR_SHODAN_KEY
[data_sources.SecurityTrails]
[data_sources.SecurityTrails.Credentials]
apikey = YOUR_KEY
# ยิ่งใส่ API key มาก ผล passive ยิ่งครบ6. Quick Reference
- OWASP — subdomain enum ที่ครอบคลุมสุด (passive+active+ASN)
- amass enum -passive -d X (เร็ว/เงียบ)
- amass enum -active -d X -brute (ครบ/ดัง)
- amass intel -org/-asn/-cidr (หา domain ขององค์กร)
- config.ini ใส่ API key (Shodan/Censys/...) → ผลครบขึ้น
- amass viz (กราฟ); ช้ากว่า subfinder แต่ลึกกว่า
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเพิ่งเจอโจทย์ recon ที่ต้องขุด subdomain/asset ให้ลึกที่สุด มีแค่ Kali เปล่าๆ ไม่มี API key อะไรเลย ทำตามนี้ทีละขั้น — เริ่มจาก passive เงียบๆ ก่อน แล้วค่อยขยับไป active/brute เมื่อจำเป็น
- 1เช็คว่ามี amass: พิมพ์
amass -h— ถ้าไม่มี ติดตั้งด้วยsudo apt install amass -y - 2รัน passive ก่อนเสมอ (เงียบ ไม่แตะ target ตรงๆ):
amass enum -passive -d target.com -o passive.txt - 3เช็คผล:
wc -l passive.txt— ถ้าได้หลักสิบ/ร้อยรายการ = มีของ ไปขั้นต่อไป - 4ถ้าได้น้อยมาก (0-2 บรรทัด) เช็คว่า resolver ใช้งานได้ไหมก่อน:
cat /etc/resolv.confแล้วลองแหล่งอื่นเทียบ (crt.sh) - 5ยืนยัน scope แล้วค่อยลอง active (ครบกว่าแต่ดังกว่า):
amass enum -active -d target.com -o active.txt - 6ถ้าโจทย์อนุญาตให้ brute-force:
amass enum -active -d target.com -brute -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt - 7รวมผลทุกไฟล์:
cat passive.txt active.txt | sort -u > all_subs.txtแล้วดูจำนวนรวม - 8resolve ว่า subdomain ไหน live จริง:
cat all_subs.txt | dnsx -silent | httpx -silent -title -status-code - 9เจอ host ที่น่าสนใจ (admin/dev/staging/api) จดไว้ แล้วไป enum service/เว็บต่อ
- 10ถ้าตันจริงๆ ลอง amass intel หา ASN/org ก่อน:
amass intel -d target.com -whoisเพื่อขยาย scope ทาง IP range
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| passive subdomain enum | amass (มักติดตั้งแล้ว) | sudo apt install amass | crt.sh, securitytrails.com |
| resolve subdomain | dnsx (ถ้ามี Go) | go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest | dnsdumpster.com |
| probe web alive | httpx (ถ้ามี Go) | go install github.com/projectdiscovery/httpx/cmd/httpx@latest | hackertarget.com |
| หา ASN/org ของ target | amass intel, whois | sudo apt install whois | bgp.he.net, viewdns.info |
| เทียบผลกับแหล่งอื่น | - | - | shodan.io, censys.io |
| visualize ผล | amass viz | - | - |
| หา API key เพิ่ม coverage | nano/vim (แก้ config.ini) | - | shodan.io, securitytrails.com (สมัครฟรี) |
หัวข้อที่เชื่อมโยง
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้