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
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, kanexample.org
også eksistere.dnsrecon
kan også gjøre dette meddnsrecon -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.
- Fierce «s repository inneholder noen ordbøker: https://github.com/mschwager/fierce / tree / master / lists
- » Bitquark «utførte en analyse av de mest brukte underdomenene som resulterte i disse listene: https://github.com/bitquark/dnspop/tree/master/results . Blogginnleggene ser ut som om det har noen rare resultater skjønt, så jeg er ikke sikker på kvaliteten på disse listene.
-
dnsrecon
kommer med en liste som bare heternamelist.txt
.dpkg -L dnsrecon
avslører hvor den er installert. Den er sortert alfabetisk. - Subbrute har en kort og en lang liste: https://github.com/TheRook/subbrute
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)
Skriv inn domenet i søkeboksen og kjør søket. (F.eks.
stackexchange.com
)I 3. seksjon fra toppen (kalt «Nettstatistikk for hele stackexchange. com «) klikk Underdomener
I delen Underdomener klikker du på Mer
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/
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?
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 nettstedpgp.rediris.es
som ser ut til å være en e-postskraper.