ฉันจะรับรายการโดเมนย่อยทั้งหมดของโดเมนได้อย่างไร [ปิด]


233

ฉันต้องการค้นหาโดเมนย่อยทั้งหมดของโดเมนที่กำหนด ฉันพบคำใบ้ที่บอกให้ฉันขุด Nameserver ที่มีสิทธิ์ด้วยตัวเลือกต่อไปนี้:

dig @ns1.foo.bar some_domain.com axfr

แต่มันก็ไม่ได้ผล มีความคิด / วิธีการที่ดีกว่า


10
ดูที่นี่สำหรับรายการเครื่องมือที่อัปเดตแล้ว: security.stackexchange.com/q/35078/18541
NULLZ

2
คุณสามารถถามgoogle ได้ด้วย !
F. Hauri

14
เว็บไซต์: *. meteor.com/ -site: www.meteor.com
Dipesh KC

6
ฉันหวังว่าจะมีการแลกเปลี่ยนสแต็คเพียงเพื่อเรียนรู้จากกันและกันวิธีที่ดีที่สุดในการรับข้อมูลจากอินเทอร์เน็ตขอบคุณ @DipeshKc
Jason D.

3
http://archive.is/*.example.comอาจช่วยคุณได้
phil294

คำตอบ:


144

คำใบ้ (โดยใช้ axfr) จะทำงานเฉพาะในกรณีที่ NS ที่คุณกำลังสอบถาม (ns1.foo.bar ในตัวอย่างของคุณ) ได้รับการกำหนดค่าให้อนุญาตการร้องขอ AXFR จาก IP ที่คุณใช้ สิ่งนี้ไม่น่าเป็นไปได้เว้นแต่ว่าคุณได้กำหนดค่า IP ของคุณเป็นโดเมนรองสำหรับโดเมนที่เป็นปัญหา

โดยทั่วไปไม่มีวิธีที่ง่ายที่จะทำถ้าคุณไม่ได้รับอนุญาตให้ใช้ axfr นี่คือเจตนาดังนั้นวิธีเดียวที่รอบ ๆ มันจะผ่านแรงเดรัจฉาน (เช่นdig a.some_domain.com, dig b.some_domain.com, ... ) ซึ่งผมไม่สามารถแนะนำขณะที่มันอาจจะถูกมองว่าเป็นปฏิเสธการโจมตีบริการ


8
@TimB ฉันค่อนข้างแน่ใจว่าไม่อนุญาตให้ขีดเส้นใต้ในชื่อโดเมนเช่นกันแม้ว่าจะเป็นชื่อตัวยึดตำแหน่งแน่นอน
Anorov

2
คำสั่งที่ถูกต้องควรเป็น: dig @ 123.456.789.123 DOMAIN.COM -t axfr
Superbiji

7
วิธีแก้ปัญหา Netcraft: searchdns.netcraft.com/…
warfish

20
ฉันพยายามทุกคำตอบในหน้านี้และไม่มีอะไรทำงาน คำถามได้รับการปกป้องดังนั้นฉันจึงไม่สามารถเพิ่มคำตอบอื่นได้ แต่เครื่องมือบนไซต์นี้เป็นสิ่งเดียวที่ทำงานได้สำหรับฉัน: pentest-tools.com/reconnaissance/find-subdomains-of-domain
ACK_stoverflow

2
@ACK_stoverflow - นั่นบอกฉันว่าฉันมี 4 โดเมนย่อยเมื่อฉันรู้ว่ามีมากกว่า 100
Tom Stickel

106

ถ้าคุณไม่สามารถได้รับข้อมูลนี้จาก DNS (เช่นคุณไม่ได้รับอนุญาต) แล้วทางเลือกหนึ่งคือการใช้Wolfram Alpha

  1. ป้อนโดเมนลงในช่องค้นหาและเรียกใช้การค้นหา (เช่นstackexchange.com)

Wolfram - โฮมเพจ

  1. ในส่วนที่ 3 จากด้านบน (ชื่อ "สถิติเว็บสำหรับ stackexchange.com ทั้งหมด") คลิกSubdomains

ปุ่ม Wolfram - โดเมนย่อย

  1. ในส่วนโดเมนย่อยคลิกเพิ่มเติม

Wolfram - ปุ่มโดเมนย่อยเพิ่มเติม

คุณจะสามารถดูรายการของโดเมนย่อยที่นั่น แม้ว่าฉันสงสัยว่ามันจะไม่แสดงโดเมนย่อยทั้งหมด


32
ดูเหมือนว่ามันจะไม่ทำงานอีกต่อไปอย่างน้อยก็ไม่ได้อธิบาย
Nicholas Pickering

4
สิ่งนี้ใช้ได้กับฉันในวันนี้โดยระบุ 6 โดเมนย่อยของโดเมนที่ฉันสนใจ
Liam

9
ดูเหมือนว่าข้อมูลโดเมนย่อยของพวกเขาจะถูกนำมาจาก Alexa.com เช่นalexa.com/siteinfo/stackoverflow.com
Rob W

11
หรือคุณสามารถใช้เว็บไซต์นี้: pentest-tools.com/reconnaissance/find-subdomains-of-domain#
Abd Ul Aziz

18
เพียงใช้ google "site:" ค้นหาและเพิ่มโดเมนที่รู้จักเป็นรายการจับคู่เชิงลบจนกว่าจะหยุดค้นหาโดเมนใหม่ เช่นหลังจากใช้กลยุทธ์นี้สองสามครั้งสำหรับโดเมนการrealtimerendering.comค้นหา google ของฉันจะเป็นดังนี้: site:realtimerendering.com -"www.realtimerendering.com" -"kesen.realtimerendering.com" -"erich.realtimerendering.com" -"advances.realtimerendering.com"
ahcox

39

คุณสามารถใช้ได้:

$ host -l domain.com

ภายใต้ประทุนนี้จะใช้AXFRแบบสอบถามที่กล่าวถึงข้างต้น คุณอาจไม่ได้รับอนุญาตให้ทำเช่นนี้ ในกรณีนี้คุณจะได้รับtransfer failedข้อความ


สำหรับผู้ใช้ Windows nslookup domain.comคุณสามารถลอง ( hostคือไม่สามารถใช้งานบน Windows )
Stevoisiak

27
  1. dig somedomain.com soa
  2. dig @ns.SOA.com somedomain.com axfr

12
ข้อเสนอแนะใด ๆ หากการถ่ายโอนล้มเหลว?
คริส

14
ซึ่งแน่นอนว่าใช้งานไม่ได้หากปิดการใช้งาน axfr
Al-Punk

8

เครื่องมือของโรบอตเน็กซ์ที่ให้บริการฟรีจะช่วยให้คุณทำสิ่งนี้ได้ แต่พวกมันจะทำให้คุณป้อน IP ของโดเมนก่อน:

  1. หาไอพี (มีปลั๊กอิน ff ที่ดีซึ่งทำสิ่งนี้ แต่ฉันไม่สามารถโพสต์ลิงก์เพราะนี่เป็นโพสต์แรกของฉันที่นี่!)
  2. ค้นหา ip บน robotex: http://www.robtex.com/ip/
  3. ในหน้าผลลัพธ์ที่ตามมาคลิกที่โดเมนที่คุณสนใจ>
  4. คุณจะถูกนำไปยังหน้าที่แสดงรายการโดเมนย่อยทั้งหมด + ข้อมูลอื่น ๆ เช่นข้อมูลเซิร์ฟเวอร์อีเมล

7

ใน Windows nslookupคำสั่งคือ

ls -d somedomain.com > outfile.txt

ซึ่งเก็บรายการโดเมนย่อยใน outfile.txt

ไม่กี่โดเมนในวันนี้อนุญาตนี้


6
LS? นั่นไม่ใช่คำสั่ง * nix ใช่ไหม ไม่ควรเป็น nslookup -d somedomain.com> outfile.txt
Alex KeySmith

12
"ls" เป็นคำสั่งที่ถูกต้องจากพรอมต์ nslookup จากพรอมต์ CMD ป้อน nslookup ก่อนจากนั้นคุณสามารถป้อน ls -d ...... ตามที่แนะนำ
Paul Walker

ฉันnslookupใช้ Windows 10 PowerShell ในฐานะผู้ดูแลระบบจากนั้นls -d somedomain.com > outfile.txtและได้รับ "คำสั่งที่ไม่รู้จัก"
Ryan

6

คุณสามารถทำได้ถ้าคุณเชื่อมต่อกับเซิร์ฟเวอร์ DNS สำหรับโดเมน - และ - AXFR เปิดใช้งานสำหรับที่อยู่ IP ของคุณ นี่คือกลไกที่ระบบรองใช้เพื่อโหลดโซนจากหลัก ในสมัยก่อนสิ่งนี้ไม่ได้ถูก จำกัด แต่เนื่องจากความกังวลด้านความปลอดภัยเซิร์ฟเวอร์ชื่อหลักส่วนใหญ่มีรายการที่อนุญาตของ: เซิร์ฟเวอร์ชื่อรอง + ระบบพิเศษสองระบบ

หาก nameserver ที่คุณใช้อยู่อนุญาตให้ทำสิ่งนี้คุณสามารถใช้ dig หรือ nslookup

ตัวอย่างเช่น:

#nslookup

>ls domain.com

หมายเหตุ: เนื่องจาก nslookup ถูกเลิกใช้สำหรับการขุดและเครื่องมือใหม่อื่น ๆ nslookup บางรุ่นจึงไม่รองรับ "ls" ซึ่งเป็นเวอร์ชั่นรวมของ Mac OS X ที่สะดุดตาที่สุด



4

หากมีการกำหนดค่าเซิร์ฟเวอร์ DNS อย่างถูกต้องคุณจะไม่สามารถรับทั้งโดเมนได้ ถ้าด้วยเหตุผลบางอย่างทำให้การถ่ายโอนโซนจากโฮสต์ใด ๆ คุณจะต้องส่งแพ็กเก็ตที่ถูกต้องเพื่อให้คำขอนั้น ฉันสงสัยว่าเป็นสิ่งที่คำสั่งขุดรวมอยู่ด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.