Jednou z věcí, které občas musím udělat, je například najít subdomény webu.

Počínaje example.com

  • sub1. example.com
  • other.example.com
  • another.example.com

Hledám další způsoby, jak provést průzkum těchto cílů, a chci získat seznam všech subdomén domény.

V současné době dělám spoustu věcí, včetně

  • procházení informací pomocí maltego
  • vyhledávání vyhledávacích subdomén pomocí vyhledávačů,
  • procházení odkazů na stránky,
  • zkoumání záznamů DNS,
  • Zkoumání nesprávně nakonfigurovaných certifikátů SSL
  • Hádání věcí jako „vpn.example.com“

Domnívám se, že jich je víc než ty, které jsem zatím našel, ale teď jsem bez nápadů.

Komentáře

  • Existuje další po st on stackoverflow that ‚ s celkem dobrý: [Seznam subdomén] [1] [1]: stackoverflow.com/questions/ 131989 / …
  • pak existuje jen jeden způsob – udělejte to jako maltego: učte se hádat …
  • Zkusil bych to s klepáním ( code.google.com/p/knock ), ale pozor: existuje riziko, že se ocitnu na černé listině.
  • Existuje ‚ sa pythonovský skript s názvem subdomainer.py, který by měl být schopen vám pomoci … Hledejte na google
  • FYI najdete ho na webu edge-security.com , ale starý odkaz byl zveřejněn na SecurityTube wiki stránce je mrtvý (i když má příklad použití, který je samozřejmě definován v usage()). Soudě podle zdrojového kódu to, co dělá, je to, že shromažďuje data ze tří hlavních vyhledávačů (yahoo, msn, google) a pro mě nejasný web pgp.rediris.es, který se zdá být šrotem e-mailu.

Odpověď

Často se objevuje pentester, který dokáže najít subdomény webu. Napsal jsem tedy nástroj SubBrute , který to dělá celkem dobře, když to řeknu já. Stručně řečeno, je to lepší než jiné nástroje (fierce2) v tom, že je mnohem rychlejší, přesnější a snazší pracovat s . Tento nástroj je dodáván se seznamem skutečných subdomén získaných z pavučiny. Tento seznam subdomén je více než 16krát větší než fierce2 a subbrute bude trvat asi 15 minut, než se tento seznam vyčerpá při domácím připojení. Výstupem je čistý seznam oddělených novými řádky, který lze snadno použít jako vstup pro další nástroje, jako je nmap nebo skener zranitelnosti webových aplikací.

Komentáře

  • Úžasné, zkontroluji to ‚. Napadá vás, jak dobře je to v porovnání s ‚ knock ‚?
  • @ D3C4FF knock je svinstvo.
  • Veškerá sláva Rookovi. Nástroj jsem dnes použil při živém testu a fungoval jako kouzlo. Chyběla mu pouze jedna ze dvou desítek subdomén, která byla pojmenována mywebreading
  • @ D3C4FF sakra jo, jsem ‚ rád, že to udělal trik;)
  • @ Prohlédněte si jen krátkou představu o subbrute, přidejte možnost vyřešit (a vytisknout) také IP adresu z nalezených názvů hostitelů. Udělal jsem tuto změnu a pomohlo to s několika testy, kde určité rozsahy byly mimo rozsah, přestože to byly subdomény. Ještě jednou děkujeme!

Odpověď

1. Přenos zón

Některé servery jmen umožňují zónový přenos DNS komukoli na internetu, obvykle neúmyslně. V této otázce je vysvětleno dále: útok na přenos zón DNS .

Nástroje pro přenos zón

The druhá odpověď na tuto otázku uvádí, jak ji otestovat pro Windows i Linux:

Windows:

nslookup > server <DNS you are querying> > set type=any > ls -d <target> 

Unix (nslookup je v Unixu zastaralý):

dig -t axfr @<DNS you are querying> <target> 

(Upravil jsem unixový, protože -axfr nefunguje. Potřeboval jsem specifikovat -t axfr.)

2. Procházka zónou DNSSEC

DNSSEC podepisuje záznamy DNS, takže si můžete být jisti, že obdržíte správnou odpověď (vzhledem k některým kořenům důvěry a zprostředkovatelům). Jak ale dokázat, že něco neexistuje, např. jak při hledání nonexistentsub.example.com jak dokáže nameserver example.com neexistenci subdomény? Nemá na sobě podpisový klíč (podpis se provádí po aktualizaci zóny administrátory).

V odpovědi na Jak DNSSec funguje? Existují známá omezení nebo problémy?, / u / tylerl vysvětluje:

Je zřejmé, že odpověď vyžaduje být podepsán, ale samotný server DNS obvykle nemá přístup k vašemu podpisovému klíči a nemůže podepisovat odpověď za běhu; všechny podpisy jsou předem vytvořeny “ offline „. Tím zabráníte tomu, aby byl váš klíč odhalen, pokud dojde k ohrožení vašeho serveru DNS.

Takže místo toho abecedujete své subdomény a pro každé jméno mezi mail.example řeknete „. com a pop.example.com, neexistují žádné další subdomény “ a podepište toto tvrzení. Když pak někdo požádá o nachos.example.com, můžete mu dát odpověď (která již byla podepsána) a klient to ví, protože nachos.example.com spadá abecedně mezi mail.example.com a pop.example.com, pak je “ tato doména neexistuje “ odpověď je považována za správně podepsanou a skutečně pochází od vás.

Místo, kde se to stává problematickým, je to, že když máte sadu těchto negativních odpovědí, které výslovně uvádějí, že “ mezi X a Y neexistují žádné odpovědi, můžete snadno přesně mapovat, které domény existují pro celou zónu. Víte, že “ X “ existuje a víte, že “ Y “ existuje a víte, že mezi nimi není nic jiného. Stačí jen trochu náhodně poklepat a budete rychle schopni sestavit seznam všech záznamů které existují.

Záznam, který specifikuje “ do pop.example.com neexistuje nic “ NSEC (další záznam SECure).

Bylo navrženo řešení: NSEC3. Obsahuje hash jmen, takže mail se změní na b83a88... a pop se změní na b21afc.... Představte si, že jsou to pouze dvě subdomény, poté podepsaná odpověď řekne “ mezi b21afc... a „. Opět to funguje abecedně a můžete je získat všechny, ale tentokrát budete muset rozluštit každý hash, než se naučíte, jaké jsou subdomény.

Podle mých zkušeností má většina povoleno rozšíření NSEC3.

Nástroje pro procházení zón

NSEC3Walker provádí výčet i crackování. Nemohu zaručit, jak efektivní je cracking, ale je to rozhodně pouze na CPU. Jelikož NSEC3 používá SHA1 (alespoň původně), pravděpodobně existují lepší crackovací programy.

se také zdá být schopen to udělat: dnsrecon -z -d example.com. Nevím, jestli existuje oficiální web s informacemi, ale v Debian Stretch, Buster a Bullseye mohu apt install dnsrecon.

3. Zpětné vyhledávání v podsíti

Když uhodnete několik, často najdete odpovědi v podobném rozsahu. Pokud víte, že www. existuje a existuje mail. a oba se rozhodnou 192.168.3.x, existuje může být víc. Zkuste provést zpětné vyhledávání všech adres v rozsahu 192.168.3.0-255 (/24) a pravděpodobně najdete další subdomény. Můžete také vyzkoušet WHOIS dotaz na IP adresu, abyste našli hranice rozsahu (pokud mají svůj vlastní blok).

Nástroje pro zpětné vyhledávání

dnsrecon to může udělat:

dnsrecon -t rvl -r 192.168.1.0/24 

Kde -t rvl znamená “ zadejte zpětné vyhledávání “ a -r předá rozsah IP v notaci CIDR. Nevím pokud existuje oficiální web s informacemi, ale v Debianu Stretch, Buster a Bullseye mohu apt install dnsrecon.

4. Záznamy služby DNS

Lze nastavit záznamy SRV (služby) pro zjišťování služeb, například _sip._tcp.example.com může ukazovat na sipserver.example.com na portu 5060. Protože názvy služeb (“ sip “ v příkladu) jsou obvykle ty standardní registrované u IANA, můžeme je iterovat.

Nástroje pro dotazování záznamů srv

dnsrecon to může udělat:

dnsrecon -t srv -d example.com 

Bude to trvat podmnožinu existujících názvů služeb vybraných neznámým metoda, jak je uvedeno na její manuálové stránce (man dnsrecon).

5. Další metody

Některé z nich jste již zmínili.Nebudu zacházet do podrobností, protože jsou zcela vysvětlující a buď závisí na aplikaci běžící na cíli (například FTP), závisí na třetí straně, nebo o nich opravdu není moc co říct .

  • Výsledky vyhledávání mohou odhalit subdomény. dnsrecon to může opět udělat pomocí možnosti -t goo (používá konkrétně Google).

  • Kontrola dalších TLD se stejným názvem může odhalit některé další varianty nebo IP adresy. Např. pokud example.com existuje, může také existovat example.org. dnsrecon to lze provést také pomocí dnsrecon -t tld -d example.com.

  • Procházení webu nebo hledání odkazů jinde by mohly dávat rady. (Hledáme pomoc: jaký nástroj použít?)

  • Pohled na certifikáty TLS často přináší výsledky. Nezapomeňte zkontrolovat porty na HTTPS, SMTP (S), FTP (S) atd. A použít STARTTLS.

  • Existují nástroje třetích stran, které mohou vypisovat subdomény v doména. Jejich metody jsou méně jasné, ale procházení internetu a historické záznamy (možná byl někdy možný přenos domény?) K tomu často patří. (Hledaná pomoc: nějaká doporučení? Pamatuji si jen, že jsem viděl, že existuje.)

6. Hádání.

Poslední možností je pouze hádání, buď slovníkem (doporučuji to), nebo hrubou silou. Zástupné znaky to ztěžují, ačkoli mnoho nástrojů se to pokusí zjistit a vyřešit.

Nástroje pro hádání / brute-forcing

K tomu bylo vytvořeno divoké: https://github.com/mschwager/fierce
Ve výchozím nastavení je nainstalován v systému Kali Linux.

Jako / u / rook zmíněné v jiné odpovědi v tomto vlákně , pro tento účel napsali Subbrute: https://github.com/TheRook/subbrute

dnsrecon to lze provést pomocí dnsrecon -t brt -d example.com. Použijte -f to “ Odfiltrovat záznamy vyhledávání domén Brute Force, které se při ukládání záznamů “ odfiltrují z adresy IP definované zástupným znakem jeho manuálová stránka). Pro soubor slovníku můžete předat -D.

Dodatek: dict ionaries

Stále hledám dobré slovníky (pro hádání / hrubé vynucování), ale tady jsou některé, o kterých vím. Pomozte mi prosím doplnit tento seznam! Čím větší, tím lépe, pokud jsou tříděny podle pravděpodobnosti.

odpověď

napsal Jason Haddix můj oblíbený nástroj pro zjišťování subdomény / názvu hostitele, který závisí na velmi nedávné verzi rekonfigurace – k dispozici zde –

https://github.com/jhaddix/domain

subbrute je slušné, fierce -dns <domain> funguje skvěle, dnsmap <domain> -r file.txt je také platný a nevidím žádný důvod, proč bych neměl rád knock -wc <domain> (i když ostatní vlastnosti klepání mohou být tušit). Všechny tyto nástroje však používají techniky, které ukazují jejich věk. Trik pro některá z těchto vylepšení útoku spočívá v tom, přijít s přizpůsobeným souborem s názvy hostitelů, které jsou zaměřeny speciálně pro cíl.

Řetězová pila pro zjišťování DNS je však dnsrecon. Dělá všechno.

Můžete také zvážit komerční nabídku, jako je RiskIQ, která dokáže mnohem víc než všechny tyto nástroje. Jejich techniky zahrnují spoustu průzkumů, na které by většina z vás nemyslela.

[UPDATE] Další oblíbená položka (pro jména hostitelů, nikoli primárně subdomény – zajímá se OP o oba?) – https://github.com/tomsteele/blacksheepwall

odpověď

Zkusil bych to s zaklepáním , ale pozor: existuje riziko, že se ocitnete na černé listině.

Bohužel neexistuje žádná cesta kolem bruteforcing, pokud přenos zóny nefunguje.

Komentáře

  • Tento nástroj má nízkou kvalitu; SubBrute je mnohem lepší.

Odpověď

Over on Stack Overflow , navrhl Paul Melici pomocí WolframAlpha .(Screenshoty sám)

  1. Zadejte doménu do vyhledávacího pole a spusťte vyhledávání. (Např. stackexchange.com )

    Wolfram - domovská stránka

  2. Ve 3. části shora (s názvem „Statistika webu pro všechny stackexchange. com „) click Subdomény

    Wolfram - tlačítko Subdomény

  3. V sekci Subdomény klikněte na více

    Wolfram - tlačítko Další subdomény

Uvidíte zde seznam subdomén. I když mám podezření, že nezobrazuje VŠECHNY subdomény.

Komentáře

  • toto je zmíněno v prvním komentáři

Odpověď

Podívejte se na http://ha.ckers.org/fierce/ . Může to trvat soubor slovníku i hrubou silou. Je také součástí Kali.

Odpověď

Zpočátku často používám pasivní databázi dns k vyhledání subdomén pro web. Nevýhodou této metody je, že můžete najít pouze weby uvedené v databázi. Výhodou však je, že najdete weby, které nejsou uvedeny v žádných seznamech slov.

Některé databáze pro referenci:

https://www.virustotal.com/en/domain/stackexchange.com/information/

http://www.nonexiste.net/?q=stackexchange.com

Odpověď

Snadné. Napište adresu webu na wolframalpha. A klikněte na tlačítko „subdominy“.

Příklad; https://www.wolframalpha.com/input/?i=www.imdb.com

Kliknutím na „Subdomény“ zobrazíte subdomény webu.

Také wolfram alpha má api, pokud jej chcete dosáhnout a používat. Doufám, že to pomůže …

Komentáře

  • Ztraceno – pokud to můžete rozšířit vysvětlením toho, co dělá Wolfram, může tato odpověď získat hlasy.
  • Odkaz “ subdomény “ se zdá být k dispozici pouze pro některé domény?

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *