En af de ting, jeg skal gøre fra tid til anden, er f.eks. at finde underdomæner på et websted.

Startende med eksempel.com

  • sub1. eksempel.dk
  • andet.exempel.dk
  • et andet eksempel.dk

Jeg leder efter yderligere måder til at udføre rekonstruktion på disse mål, og jeg ønsker at få en liste over alle underdomæner i et domæne.

Jeg laver i øjeblikket en række ting inkl.

  • ved hjælp af maltego til at gennemgå oplysninger
  • Brug af søgemaskiner til at søge efter underdomæner
  • crawling af webstedslinks
  • Undersøgelse af DNS-poster
  • Undersøgelse af forkert konfigurerede SSL-certifikater
  • Gætter på ting som “vpn.example.com”

Jeg regner med, at der er mere end dem, jeg har fundet indtil videre, men nu er jeg løbet tør for ideer.

Kommentarer

  • Der er en anden po st på stackoverflow, der ‘ er ganske godt: [Liste over underdomæner] [1] [1]: stackoverflow.com/questions/ 131989 / …
  • Så er der kun én måde – gør det som maltego: lav veluddannede gæt …
  • Jeg ville prøve det med banke ( code.google.com/p/knock ), men pas på: der er risiko for at blive sortlistet.
  • Der ‘ et python-script kaldet subdomainer.py, der skal kunne hjælpe dig … Har en søgning på google
  • FYI, det kan findes på webstedet edge-security.com , men det gamle link sendt på SecurityTube wiki-siden er død (omend den har brugseksempel, som naturligvis er defineret i usage() alligevel). At dømme efter kildekode, hvad det gør, er at det samler data fra tre store søgemaskiner (yahoo, msn, google) og for mig uklart websted pgp.rediris.es, der synes at være en e-mail-scrapper.

Svar

Da en pentester er i stand til at finde underdomænerne for et websted, kommer det ofte op. Så jeg skrev et værktøj, SubBrute , der gør dette ret godt, hvis jeg siger det selv. Kort sagt, dette er bedre end andre værktøjer (fierce2), idet det er meget hurtigere, mere præcist og lettere at arbejde med . Dette værktøj leveres med en liste over reelle underdomæner opnået ved spidering på nettet. Denne underdomæneliste er mere end 16 gange størrelsen af fierce2, og det tager cirka 15 minutter at udtømme denne liste i en hjemmeforbindelse. Outputtet er en ren, ny linjesepareret liste, der er let at bruge som input til andre værktøjer som nmap eller en webapplikationssårbarhedsscanner.

Kommentarer

  • Awesome, jeg ‘ Kontroller det. Enhver idé om, hvor godt det sammenlignes med ‘ knock ‘?
  • @ D3C4FF knock er crap.
  • Al ære være til Rook. Jeg brugte værktøjet i en live test i dag, og det fungerede som en charme. Det savnede kun et ud af to dusin underdomæner, der fik navnet minwebreading
  • @ D3C4FF helvede ja, jeg ‘ er glad for, at det gjorde tricket;)
  • @Rook bare en hurtig idé angående subbrute, tilføj muligheden for også at løse (og udskrive) IP-adressen fra de fundne værtsnavne. Jeg foretog den ændring, og det hjalp med et par tests, hvor visse områder var uden for anvendelsesområdet, selvom de var underdomæner. Tak igen!

Svar

1. Zoneoverførsel

Nogle navneservere tillader DNS-zoneoverførsler til alle på internettet, normalt utilsigtet. I dette spørgsmål forklares det yderligere: DNS-zoneoverførselsangreb .

Værktøjer til zoneoverførsler

andet svar på dette spørgsmål nævner, hvordan man tester for det til både Windows og Linux:

Windows:

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

Unix (nslookup er udfaset på Unix):

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

(Jeg redigerede Unix-en, fordi -axfr ikke ser ud til at fungere. Jeg havde brug for at angive -t axfr.)

2. DNSSEC-zone gå

DNSSEC underskriver DNS-poster, så du kan være sikker på at du modtager det rigtige svar (ja, givet nogle tillidsrødder og mellemled). Men hvordan beviser du, at noget ikke eksisterer, f.eks. når vi leder efter nonexistentsub.example.com, hvordan viser navneserveren til example.com, at der ikke findes et underdomæne? Den har ikke signaturnøglen (signering sker ved opdatering af zonen af administratorer).

I deres svar til Hvordan fungerer DNSSec? Er der kendte begrænsninger eller problemer?, / u / tylerl forklarer:

Det er klart, at svaret har brug for skal underskrives, men generelt har DNS-serveren ikke selv adgang til din signeringsnøgle og kan ikke underskrive svaret on-the-fly; signaturerne oprettes alle ” offline ” i forvejen. Dette forhindrer din nøgle i at blive eksponeret, hvis din DNS-server bliver kompromitteret.

Så i stedet alfabetiserer du dine underdomæner og siger ” for hvert navn mellem mail.example. com og pop.example.com, findes der ingen andre underdomæner ” og underskriver denne påstand. Så når nogen beder om nachos.example.com, kan du bare give dem det svar (som allerede er underskrevet), og klienten ved det, fordi nachos.example.com falder alfabetisk mellem mail.example.com og pop.example.com, så ” dette domæne eksisterer ikke ” svar anses for at være korrekt underskrevet og kom faktisk fra dig.

Det sted, hvor dette bliver problematisk, er at ved at have et sæt af disse negative svar, der udtrykkeligt siger, at ” der ikke findes svar mellem X og Y, kan du nemt kortlægge nøjagtigt hvilke domæner eksisterer i hele zonen. Du ved, at ” X ” findes, og du ved, at ” Y ” eksisterer, og du ved, at der ikke er noget andet imellem dem. Bare gør lidt mere stikning tilfældigt, så vil du hurtigt kunne samle en liste over alle poster der findes.

Den post, der angiver ” indtil pop.example.com der ikke er noget ” NSEC (Next SECure record).

En løsning blev designet til dette: NSEC3. Det hasher navne, så mail bliver til b83a88... og pop bliver til b21afc.... Forestil dig at det er de to eneste underdomæner, så vil det underskrevne svar sige ” der findes ingen post mellem b21afc... og b83a88... “. Igen fungerer det alfabetisk, og du kan få dem alle, men denne gang bliver du nødt til at knække hver hash, før du lærer, hvad underdomænerne er.

Efter min erfaring har NSEC3-udvidelsen aktiveret.

Værktøjer til zonegang

NSEC3Walker gør både optællingen og krakningen. Jeg kan ikke stå inde for, hvor effektiv krakningen er, men den er bestemt kun CPU-baseret. Da NSEC3 bruger SHA1 (i det mindste oprindeligt), er der sandsynligvis bedre krakningsprogrammer.

dnsrecon ser også ud til at være i stand til at gøre det: dnsrecon -z -d example.com. Jeg ved ikke, om der er et officielt websted med information, men i Debian Stretch, Buster og Bullseye Jeg kan apt install dnsrecon.

3. Omvendte opslag i et undernet

Ved at gætte et par, vil du ofte finde svar i et lignende interval. Hvis du ved, at www. findes, og mail. findes, og de begge beslutter at 192.168.3.x, der kan være mere. Prøv at foretage en omvendt opslagning af alle adresser i 192.168.3.0-255 -området (/24), og du vil sandsynligvis finde flere underdomæner. Du kan også prøve en WHOIS-forespørgsel på IP-adressen for at finde områdets grænser (hvis de har deres egen blok).

Værktøjer til omvendte opslag

dnsrecon kan gøre dette:

dnsrecon -t rvl -r 192.168.1.0/24 

Hvor -t rvl betyder ” type reverse-lookup ” og -r passerer et IP-interval i CIDR-notation. Jeg ved ikke hvis der er et officielt websted med information, men i Debian Stretch, Buster og Bullseye kan jeg apt install dnsrecon.

4. DNS-serviceposter

Man kan indstille SRV (service) -poster til serviceopdagelse, for eksempel _sip._tcp.example.com kunne pege på sipserver.example.com på port 5060. Da servicenavnene (” sip ” i eksemplet) er typisk de standard, der er registreret hos IANA, vi kan gentage dem.

Værktøjer til forespørgsel på srv-poster

dnsrecon kan gøre dette:

dnsrecon -t srv -d example.com 

Det tager en delmængde af de eksisterende servicenavne, valgt af en ukendt metode, som nævnt på sin man-side (man dnsrecon).

5. Andre metoder

Du nævnte allerede nogle af dem.Jeg vil ikke gå i detaljer, fordi de er meget selvforklarende og enten afhænger af en applikation, der kører på målet (såsom FTP), afhænger af en tredjepart, eller der er virkelig ikke meget at sige om dem .

  • Søgeresultater afslører muligvis underdomæner. Igen kan dnsrecon gøre dette med -t goo -indstillingen (bruger Google specifikt).

  • Kontrol af andre TLDer for det samme navn kan muligvis afsløre andre varianter eller IP-adresser. For eksempel. hvis example.com findes, findes example.org muligvis også. dnsrecon kan også gøre dette med dnsrecon -t tld -d example.com.

  • Gennemgå et websted eller finde referencer andre steder kan give tip. (Hjælp ønsket: hvilket værktøj der skal bruges?)

  • At se på TLS-certifikater giver ofte resultater. Sørg for at kontrollere portene for HTTPS, SMTP (S), FTP (S) osv. Og bruge STARTTLS.

  • Der er tredjepartsværktøjer, der kan angive underdomæner i en domæne. Deres metoder er mindre klare, men gennemsøgning af internettet og historiske optegnelser (måske var en domæneoverførsel engang mulig?) Er ofte en del af det. (Hjælp ønsket: nogen anbefalinger? Jeg kan kun huske, at jeg så, at den eksisterede.)

6. Gætte.

Den sidste mulighed er bare at gætte, enten ved hjælp af en ordbog (jeg vil anbefale det) eller brute force. Dette gøres sværere af jokertegn, selvom mange værktøjer vil forsøge at opdage og løse dette.

Værktøjer til gætte / brute-tvang

Fierce blev bygget til at gøre dette: https://github.com/mschwager/fierce
Den er som standard installeret i Kali Linux.

Som / u / rook nævnt i et andet svar i denne tråd , de skrev Subbrute til dette formål: https://github.com/TheRook/subbrute

dnsrecon kan gøre dette med dnsrecon -t brt -d example.com. Brug -f til ” Filtrer ud af Brute Force Domain-opslagsposter, der løser til den wildcard-definerede IP-adresse, når du gemmer poster ” (citerer dens man-side). Du kan videregive -D til en ordbogsfil.

Tillæg: dict ionaries

Jeg er stadig på udkig efter gode ordbøger (til gætte / brutal tvang), men her er nogle, som jeg er opmærksom på. Hjælp mig med at udfylde denne liste! Jo større jo bedre, så længe de sorteres efter sandsynlighed.

Svar

Jason Haddix skrev mit foretrukne værktøj til opdagelse af underdomæne / værtsnavn, der afhænger af en meget ny version af recon-ng – tilgængelig her –

https://github.com/jhaddix/domain

subbrute er anstændigt, fierce -dns <domain> fungerer godt, dnsmap <domain> -r file.txt er også gyldig, og jeg kan ikke se nogen grund til at ikke lide knock -wc <domain> (selvom de andre funktioner ved banke måske er formode). Alle disse værktøjer bruger dog teknikker, der viser deres alder. Tricket for nogle af disse angrebsforbedringer er at komme med en tilpasset fil med værtsnavne, der er tilpasset specifikt til målet.

Imidlertid er motorsaven til DNS-opdagelse dnsrecon. Det gør alt.

Du kan også overveje et kommercielt tilbud, såsom RiskIQ, som kan gøre meget mere end alle disse værktøjer. Deres teknikker inkluderer en masse undersøgelser, som de fleste af jer ikke ville tænke på.

[UPDATE] En anden favorit (for værtsnavne, ikke primært underdomæner – er OPen interesseret i begge?) Er – https://github.com/tomsteele/blacksheepwall

Svar

Jeg vil prøve det med banke men pas på: der er risiko for at blive sortlistet.

Desværre er der ingen vej rundt bruteforcing, hvis en zoneoverførsel ikke fungerer.

Kommentarer

  • Dette værktøj er af lav kvalitet; SubBrute er meget bedre.

Svar

Over på Stack Overflow , foreslog Paul Melici ved hjælp af WolframAlpha .(Skærmbilleder af mig selv)

  1. Indtast domænet i søgefeltet, og kør søgningen. (F.eks. stackexchange.com )

    Wolfram - Hjemmeside

  2. I 3. sektion fra toppen (kaldet “Webstatistik for hele stackexchange. com “) klik på Underdomæner

    Wolfram - Underdomæner-knap

  3. I sektionen Underdomæner skal du klikke på Mere

    Wolfram - Flere underdomæner-knap

Du kan se en liste over underdomæner der. Selvom jeg formoder, at det ikke viser ALLE underdomæner.

Kommentarer

  • dette er nævnt i den første kommentar

Svar

Se på http://ha.ckers.org/fierce/ . Det kan tage en ordbogsfil såvel som brute force. Det er også inkluderet i Kali.

Svar

Indledningsvis bruger jeg ofte passiv dns-database til at finde underdomæner til et websted. Ulempen med denne metode er, at du kun kan finde websteder, der er anført i databasen. Men fordelen er, at du kan finde websteder, der ikke er anført i nogen ordlister.

Nogle databaser til reference:

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

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

Svar

Let. Skriv webadresse til wolframalpha. Og klik på knappen “underdomæner”.

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

Klik på “Underdomæner” for at se underdomæner på webstedet.

Wolfram alpha har også api, hvis du vil nå og bruge det. Håber det hjælper …

Kommentarer

  • Mistet – hvis du kan udvide dette ved at forklare hvad Wolfram gør, kan dette svar få opstemmer.
  • ” underdomæner ” -linket synes kun at være til stede for nogle domæner?

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *