Jak uzyskać listę wszystkich subdomen domeny? [Zamknięte]

233

Chcę znaleźć wszystkie subdomeny danej domeny. Znalazłem podpowiedź, która każe mi wykopać autorytatywny serwer nazw z następującą opcją:

dig @ns1.foo.bar some_domain.com axfr

Ale to nigdy nie działa. Ma ktoś lepszy pomysł / podejście

cgicgi
źródło
10
Zobacz także zaktualizowaną listę narzędzi: security.stackexchange.com/q/35078/18541
NULLZ
2
Możesz nawet zapytać google !
F. Hauri
14
strona: *. meteor.com/-strona: www.meteor.com
Dipesh KC
6
Żałuję, że nie było wymiany stosów tylko po to, aby uczyć się od siebie najlepszych sposobów na uzyskanie informacji z Internetu. Dzięki @DipeshKc
Jason D.
3
http://archive.is/*.example.com może ci pomóc.
phil294

Odpowiedzi:

144

Podpowiedź (przy użyciu axfr) działa tylko wtedy, gdy zapytanie NS (ns1.foo.bar w twoim przykładzie) jest skonfigurowane tak, aby zezwalać na żądania AXFR z używanego adresu IP; jest to mało prawdopodobne, chyba że adres IP jest skonfigurowany jako pomocniczy dla danej domeny.

Zasadniczo nie ma łatwego sposobu na zrobienie tego, jeśli nie możesz używać axfr. Jest to zamierzone, więc jedynym sposobem wokół byłoby poprzez brutalnej siły (czyli dig a.some_domain.com, dig b.some_domain.com...), które nie mogę polecić, ponieważ może to być postrzegane jako atak Denial of Service.

TimB
źródło
8
@TimB Jestem pewien, że podkreślenia nie są również dozwolone w nazwach domen, choć jest to oczywiście nazwa zastępcza.
Anorov
2
Prawidłowe polecenie powinno brzmieć: dig @ 123.456.789.123 DOMAIN.COM -t axfr
Superbiji
7
Rozwiązanie Netcraft: searchdns.netcraft.com/…
warfish
20
Próbowałem wszystkich odpowiedzi na tej stronie i nic nie działało. Pytanie jest chronione, więc nie mogę dodać kolejnej odpowiedzi, ale narzędzie na tej stronie było jedyną rzeczą, która działała dla mnie: pentest-tools.com/reconnaissance/find-subdomains-of-domain
ACK_stoverflow
2
@ACK_stoverflow - To mówi mi, że mam 4 subdomeny, gdy wiem, że jest ich ponad 100
Tom Stickel
106

Jeśli nie możesz uzyskać tych informacji z DNS (np. Nie masz uprawnień), jedną z możliwości jest użycie Wolfram Alpha .

  1. Wprowadź domenę w polu wyszukiwania i uruchom wyszukiwanie. (Np. stackexchange.com)

Wolfram - Strona główna

  1. W trzeciej sekcji od góry (o nazwie „Statystyki internetowe dla wszystkich stackexchange.com”) kliknij Subdomeny

Wolfram - przycisk Subdomen

  1. W sekcji Subdomeny kliknij Więcej

Wolfram - przycisk Więcej subdomen

Zobaczysz tam listę subdomen. Chociaż podejrzewam, że nie wyświetla WSZYSTKICH subdomen.

Paul Melici
źródło
32
Wygląda na to, że to już nie działa, a przynajmniej nie tak, jak opisano.
Nicholas Pickering,
4
To zadziałało dla mnie dzisiaj, wymieniono 6 subdomen domeny, którą byłem zainteresowany.
Liam
9
Wydaje się, że informacje o ich subdomenach pochodzą z Alexa.com, np. Alexa.com/siteinfo/stackoverflow.com
Rob W
11
lub możesz skorzystać z tej strony: pentest-tools.com/reconnaissance/find-subdomains-of-domain#
Abd Ul Aziz
18
Wystarczy użyć „witryny:” Google, aby wyszukiwać i dodawać znane domeny jako wykluczające dopasowania, dopóki nie przestanie znajdować nowych domen. Np. Po kilkukrotnym zastosowaniu tej strategii dla domeny realtimerendering.commoje wyszukiwanie w Google wygląda następująco: site:realtimerendering.com -"www.realtimerendering.com" -"kesen.realtimerendering.com" -"erich.realtimerendering.com" -"advances.realtimerendering.com"
ahcox
39

Możesz użyć:

$ host -l domain.com

Pod maską wykorzystuje powyższe AXFRzapytanie. Możesz jednak nie mieć takiej możliwości. W takim przypadku otrzymasz transfer failedwiadomość.

Victor Klos
źródło
W przypadku użytkowników systemu Windows możesz spróbować nslookup domain.com. ( niehost jest dostępny w systemie Windows )
Stevoisiak
27
  1. dig somedomain.com soa
  2. dig @ns.SOA.com somedomain.com axfr
Miroslav Mirkov
źródło
12
Wszelkie sugestie, jeśli transfer się nie powiedzie?
Chris,
14
Co oczywiście nie działa, jeśli axfr jest wyłączony.
Al-Punk
8

Narzędzia robotex, które są darmowe, pozwolą ci to zrobić, ale najpierw pozwolą ci wprowadzić adres IP domeny:

  1. dowiedz się, jaki jest ip (jest dobra wtyczka ff, która to robi, ale nie mogę opublikować linku, ponieważ jest to mój pierwszy post tutaj!)
  2. przeprowadź wyszukiwanie ip na robotex: http://www.robtex.com/ip/
  3. na stronie wyników poniżej kliknij domenę, którą jesteś zainteresowany>
  4. przejdziesz na stronę z listą wszystkich subdomen + mnóstwo innych informacji, takich jak informacje o serwerze pocztowym
techjacker
źródło
7

W systemie Windows nslookuppolecenie to

ls -d somedomain.com > outfile.txt

która przechowuje listę subdomen w outfile.txt

na to pozwala kilka domen

Midhat
źródło
6
co? Czy to nie jest polecenie * nix? Czy nie powinien to być nslookup -d somedomain.com> outfile.txt
Alex KeySmith
12
„ls” to poprawne polecenie z monitu nslookup. W wierszu CMD najpierw wpisz nslookup, a następnie ls -d ...... zgodnie z sugestią
Paul Walker,
Uruchomiłem nslookupWindows 10 PowerShell jako Administrator, a potem ls -d somedomain.com > outfile.txtdostałem „Nierozpoznane polecenie”.
Ryan
6

Możesz to zrobić tylko wtedy, gdy łączysz się z serwerem DNS dla domeny - i AXFR jest włączony dla twojego adresu IP. Jest to mechanizm wykorzystywany przez systemy wtórne do ładowania strefy z pierwotnego. W dawnych czasach nie było to ograniczone, ale ze względów bezpieczeństwa większość głównych serwerów nazw ma białą listę: dodatkowe serwery nazw + kilka specjalnych systemów.

Jeśli używany serwer nazw pozwala na to, możesz użyć dig lub nslookup.

Na przykład:

#nslookup

>ls domain.com

UWAGA: ponieważ nslookup jest przestarzałe dla dig i innych nowych narzędzi, niektóre wersje nslookup nie obsługują „ls”, w szczególności dołączonej wersji Mac OS X.

benc
źródło
5

Możesz użyć tej strony do znalezienia poddomen Znajdź subdomeny

To narzędzie spróbuje przenieść strefę, a także zapytać wyszukiwarki o listę poddomen.

AleX
źródło
7
nie działa .....
4

Jeśli serwer DNS jest poprawnie skonfigurowany, nie będziesz w stanie uzyskać całej domeny. Jeśli z jakiegoś powodu zezwala na transfery stref z dowolnego hosta, musisz wysłać mu poprawny pakiet, aby wysłać żądanie. Podejrzewam, że właśnie to zawiera zawarte w nim oświadczenie.

Steve Moyer
źródło