En av tingene jeg trenger å gjøre av og til er å finne underdomener på et nettsted for eksempel.

Starter med eksempel.com

  • sub1. eksempel.no
  • annet.eksempel.no
  • et annet.eksempel.no

Jeg ser etter flere måter å utføre rekonstruksjon på disse målene på, og jeg vil ha en liste over alle underdomenene til et domene.

Jeg gjør for øyeblikket en rekke ting inkludert

  • bruker maltego for å gjennomsøke info
  • Bruk av søkemotorer til å søke etter underdomener
  • gjennomsøke nettstedslinker
  • Undersøk DNS-poster
  • Undersøk feil konfigurerte SSL-sertifikater
  • Gjett ting som «vpn.example.com»

Jeg tror det er flere enn de jeg har funnet så langt, men nå er jeg tom for ideer.

Kommentarer

  • Det er en annen po st på stackoverflow som ‘ er ganske bra: [Liste over underdomener] [1] [1]: stackoverflow.com/questions/ 131989 / …
  • Da er det bare en måte – gjør det som maltego: lag utdannede gjetninger …
  • Jeg vil prøve det med banke ( code.google.com/p/knock ), men pass opp: det er en risiko for å bli svartelistet.
  • Der ‘ et python-skript kalt subdomainer.py som skal kunne hjelpe deg … Ha et søk på google
  • FYI det kan bli funnet på nettstedet edge-security.com , men den gamle lenken postet på SecurityTube wiki-siden er død (om enn den har brukseksempel som selvfølgelig er definert i usage() uansett). Å dømme etter kildekode, hva det gjør er at det samler inn data fra tre store søkemotorer (yahoo, msn, google) og for meg uklart nettsted pgp.rediris.es som ser ut til å være en e-postskraper.

Svar

Som en pentester kan ofte finne underdomener for et nettsted. Så jeg skrev et verktøy, SubBrute som gjør dette ganske bra hvis jeg sier det selv. Kort sagt, dette er bedre enn andre verktøy (fierce2) ved at det er mye raskere, mer nøyaktig og lettere å jobbe med . Dette verktøyet kommer med en liste over ekte underdomener hentet fra spidering på nettet. Denne underdomenelisten er mer enn 16 ganger størrelsen på fierce2, og det tar omtrent 15 minutter å ta ut denne listen på en hjemmeforbindelse. Resultatet er en ren, ny linjeseparert liste, som er enkel å bruke som input for andre verktøy som nmap eller en sårbarhetsskanner for webapplikasjoner.

Kommentarer

  • Kjempebra, jeg ‘ så sjekk det ut. Noen anelse om hvor godt det sammenlignes med ‘ knock ‘?
  • @ D3C4FF knock er crap.
  • Al ære være til Rook. Jeg brukte verktøyet i en live test i dag, og det fungerte som en sjarm. Det savnet bare ett av to dusin underdomener som fikk navnet minwebreading
  • @ D3C4FF helvete ja, jeg ‘ er glad for at det gjorde det trikset;)
  • @Rook bare en rask idé angående subbrute, legg til alternativet for å løse (og skrive ut) IP-adressen fra de funnet vertsnavnene. Jeg gjorde den endringen, og det hjalp med noen få tester der visse områder var utenfor omfanget, selv om de var underdomener. Takk igjen!

Svar

1. Soneoverføring

Noen navneservere tillater overføring av DNS-soner til alle på internett, vanligvis utilsiktet. I dette spørsmålet forklares det videre: DNS-soneoverføringsangrep .

Verktøy for soneoverføringer

andre svar på det spørsmålet nevner hvordan man skal teste det for både Windows og Linux:

Windows:

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

Unix (nslookup er avviklet på Unix):

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

(jeg redigerte Unix-en, fordi -axfr ikke ser ut til å fungere. Jeg trengte å spesifisere -t axfr.)

2. DNSSEC sonegang

DNSSEC signerer DNS-poster, slik at du kan være sikker på at du får riktig svar (vel, gitt noen tillitsrøtter og mellomledd). Men hvordan beviser du at noe ikke eksisterer, f.eks. når vi leter etter nonexistentsub.example.com, hvordan viser navneserveren til example.com at det ikke finnes noe underdomener? Det har ikke signeringsnøkkelen på seg (signeringen skjer ved oppdatering av sonen av administratorer).

I deres svar på Hvordan fungerer DNSSec? Er det kjente begrensninger eller problemer?, / u / tylerl forklarer:

Tydeligvis trenger svaret skal signeres, men generelt har ikke DNS-serveren tilgang til signeringsnøkkelen din og kan ikke signere svaret på farten; signaturene er alle opprettet » offline » på forhånd. Dette hindrer at nøkkelen din blir eksponert hvis DNS-serveren din blir kompromittert.

Så i stedet, alfabetiserer du underdomenene dine og sier » for hvert navn mellom mail.example. com og pop.example.com, ingen andre underdomener eksisterer » og signerer påstanden. Så når noen ber om nachos.example.com, kan du bare gi dem det svaret (som allerede er signert), og klienten vet at fordi nachos.example.com faller alfabetisk mellom mail.example.com og pop.example.com, så » dette domenet eksisterer ikke » svaret anses å være korrekt signert og kom faktisk fra deg.

Stedet hvor dette blir problematisk er at ved å ha et sett med disse negative svarene som eksplisitt sier at » ingen svar eksisterer mellom X og Y, kan du enkelt kartlegge nøyaktig hvilke domener eksisterer for hele sonen. Du vet at » X » eksisterer, og du vet at » Y » eksisterer, og du vet at det ikke er noe annet mellom dem. Bare gjør litt mer stikking tilfeldig, så vil du raskt kunne lage en liste over alle postene som finnes.

Posten som spesifiserer » til pop.example.com det er ingenting » NSEC (Next SECure record).

En løsning ble designet for dette: NSEC3. Det hasher navn, så mail blir til b83a88... og pop blir til b21afc.... Tenk deg at det er de to eneste underdomenene, så vil det signerte svaret si » det eksisterer ingen post mellom b21afc... og b83a88... «. Igjen fungerer det alfabetisk, og du kan skaffe dem alle, men denne gangen må du knekke hver hash før du lærer hva underdomenene er.

Etter min erfaring har NSEC3-utvidelsen aktivert.

Verktøy for sonevandring

NSEC3Walker gjør både opptellingen og sprekkingen. Jeg kan ikke gå god for hvor effektiv sprekkingen er, men den er definitivt bare CPU-basert. Siden NSEC3 bruker SHA1 (i det minste opprinnelig), er det sannsynligvis bedre sprekkprogrammer.

dnsrecon ser også ut til å være i stand til å gjøre det: dnsrecon -z -d example.com. Jeg vet ikke om det finnes et offisielt nettsted med informasjon, men i Debian Stretch, Buster og Bullseye jeg kan apt install dnsrecon.

3. Omvendte oppslag i et undernett

Ved å gjette noen få, vil du ofte finne svar i et lignende område. Hvis du vet at www. eksisterer og mail. eksisterer, og de begge vil 192.168.3.x kan være mer. Prøv å gjøre omvendt oppslag etter alle adressene i 192.168.3.0-255 -området (/24), og du vil sannsynligvis finne flere underdomener. Det kan også være lurt å prøve et WHOIS-spørsmål på IP-adressen for å finne områdets grenser (hvis de har sin egen blokk).

Verktøy for omvendte oppslag

dnsrecon kan gjøre dette:

dnsrecon -t rvl -r 192.168.1.0/24 

Hvor -t rvl betyr » type omvendt oppslag » og -r passerer et IP-område i CIDR-notasjon. Jeg vet ikke hvis det er et offisielt nettsted med informasjon, men i Debian Stretch, Buster og Bullseye kan jeg apt install dnsrecon.

4. DNS-tjenesteposter

Man kan angi SRV (service) poster for tjenesteoppdagelse, for eksempel _sip._tcp.example.com kunne peke på sipserver.example.com på port 5060. Siden tjenestenavnene (» sip » i eksemplet) er vanligvis de standard som er registrert med IANA, vi kan gjenta dem.

Verktøy for spørring av srv-poster

dnsrecon kan gjøre dette:

dnsrecon -t srv -d example.com 

Det vil ta et delsett av de eksisterende tjenestenavnene, valgt av en ukjent metode, som nevnt på man-siden (man dnsrecon).

5. Andre metoder

Du har allerede nevnt noen av disse.Jeg vil ikke gå i detalj, fordi de er ganske selvforklarende, og enten avhenger av et program som kjører på målet (for eksempel FTP), er avhengige av en tredjepart, eller det er egentlig bare ikke mye å si om dem .

  • Søkeresultater kan avsløre underdomener. Igjen kan dnsrecon gjøre dette med -t goo -alternativet (bruker Google spesifikt).

  • Hvis du sjekker andre TLD-er for samme navn, kan det være noen andre varianter eller IP-adresser. F.eks. Hvis example.com eksisterer, kan example.org også eksistere. dnsrecon kan også gjøre dette med dnsrecon -t tld -d example.com.

  • Gjennomsøke et nettsted eller finne referanser andre steder kan det gi hint. (Hjelp ønsket: hvilket verktøy du skal bruke?)

  • Å se på TLS-sertifikater gir ofte resultater. Sørg for å sjekke portene for HTTPS, SMTP (S), FTP (S) osv. Og bruk STARTTLS.

  • Det finnes tredjepartsverktøy som kan vise underdomener i en domene. Metodene deres er mindre klare, men å gjennomsøke internett og historiske poster (kanskje en domeneoverføring var en gang mulig?) Er ofte en del av det. (Ønsket hjelp: noen anbefalinger? Jeg husker bare å se at den eksisterer.)

6. Gjetter.

Det siste alternativet er bare å gjette, enten ved en ordbok (jeg vil anbefale det) eller brute force. Dette blir vanskeliggjort av jokertegn, selv om mange verktøy vil prøve å oppdage og løse dette.

Verktøy for gjetting / brute-tvang

Fierce ble bygget for å gjøre dette: https://github.com/mschwager/fierce
Den er installert som standard i Kali Linux.

Som / u / rook nevnt i et annet svar i denne tråden , de skrev Subbrute for dette formålet: https://github.com/TheRook/subbrute

dnsrecon kan gjøre dette med dnsrecon -t brt -d example.com. Bruk -f til » Filtrer ut av Brute Force Domain-oppslagsposter som løser til den jokertegnet definerte IP-adressen når du lagrer poster » man-siden). Du kan sende -D for en ordboksfil.

Tillegg: dict ionaries

Jeg ser fremdeles etter gode ordbøker (for å gjette / tvinge brute), men her er noen som jeg er klar over. Hjelp meg å fullføre denne listen! Jo større jo bedre, så lenge de er sortert etter sannsynlighet.

Svar

Jason Haddix skrev mitt favorittverktøy for underdomener / vertsnavn, som er avhengig av en helt ny versjon av recon-ng – tilgjengelig her –

https://github.com/jhaddix/domain

subbrute er anstendig, fierce -dns <domain> fungerer bra, dnsmap <domain> -r file.txt er også gyldig, og jeg ser ikke noen grunn til å mislike knock -wc <domain> (selv om de andre funksjonene ved banke kan være mistenkt). Alle disse verktøyene bruker imidlertid teknikker som viser alderen. Trikset for noen av disse angrepsforbedringene er å komme opp med en tilpasset fil med vertsnavn som er tilpasset spesielt for målet.

Motorsagen for DNS-oppdagelse er imidlertid dnsrecon. Det gjør alt.

Du kan også vurdere et kommersielt tilbud, for eksempel RiskIQ, som kan gjøre ganske mye mer enn alle disse verktøyene. Deres teknikker inkluderer mye kartlegging som de fleste av dere ikke ville tenke på.

[UPDATE] En annen favoritt (for vertsnavn, ikke først og fremst underdomener – er OP interessert i begge?) Er – https://github.com/tomsteele/blacksheepwall

Svar

Jeg vil prøve det med banke men pass på: det er en risiko for å bli svartelistet.

Dessverre er det ingen vei rundt bruteforcing hvis en soneoverføring ikke fungerer.

Kommentarer

  • Dette verktøyet er av lav kvalitet; SubBrute er mye bedre.

Svar

Over on Stack Overflow , foreslo Paul Melici ved hjelp av WolframAlpha .(Skjermbilder av meg selv)

  1. Skriv inn domenet i søkeboksen og kjør søket. (F.eks. stackexchange.com )

    Wolfram - Hjemmeside

  2. I 3. seksjon fra toppen (kalt «Nettstatistikk for hele stackexchange. com «) klikk Underdomener

    Wolfram - Underdomener-knapp

  3. I delen Underdomener klikker du på Mer

    Wolfram - Flere underdomener-knapp

Du vil kunne se en liste over underdomener der. Selv om jeg mistenker at det ikke viser ALLE underdomener.

Kommentarer

  • dette er nevnt i den første kommentaren

Svar

Ta en titt på http://ha.ckers.org/fierce/ . Det kan ta en ordboksfil så vel som brute force. Det er også inkludert i Kali.

Svar

I utgangspunktet bruker jeg ofte passiv dns-database for å finne underdomener for et nettsted. Ulempen med denne metoden er at du bare kan finne nettsteder som er oppført i databasen. Men fordelen er at du kan finne nettsteder som ikke er oppført i noen ordlister.

Noen databaser som referanse:

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

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

Svar

Enkelt. Skriv nettadresse til wolframalpha. Og klikk på «underdomener» -knappen.

Et eksempel; https://www.wolframalpha.com/input/?i=www.imdb.com

Klikk «Underdomener» for å se underdomener på nettstedet.

Wolfram alpha har også API hvis du vil nå og bruke den. Håper det hjelper …

Kommentarer

  • Tapte – hvis du kan utvide dette, ved å forklare hva Wolfram gjør, kan dette svaret få upvotes.
  • » underdomener » -linken ser bare ut til å være til stede for noen domener?

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *