Google Dorking
Ideen om at bruge Google som et hackerværktøj eller en platform er bestemt ikke en ny idé, og hackere har udnyttet denne utroligt populære søgemaskine i årevis. Faktisk har Google Dorks deres rødder i 2002, da en mand ved navn Johnny Long begyndte at bruge tilpassede forespørgsler til at søge efter elementer på bestemte websteder, som han kunne udnytte i et angreb. Det er i bund og grund præcis, hvad Google Dorks er – en måde at bruge søgemaskinen til at udpege websteder, der har visse fejl, sårbarheder og følsomme oplysninger, som kan udnyttes. Som en sidebemærkning henviser nogle mennesker til Google Dorks som Google Hacking (de er mere eller mindre synonyme udtryk).
Google Dorking er en teknik, der bruges af hackere til at finde de oplysninger, der ved et uheld er eksponeret på internettet. F.eks. logfiler med brugernavne og adgangskoder eller kameraer osv. Det gøres for det meste ved at bruge forespørgsler til at gå efter et specifikt mål efterhånden. Vi starter med at indsamle så mange data som muligt ved hjælp af generelle forespørgsler, og derefter kan vi gå specifikt til værks ved at bruge komplekse forespørgsler.
Tro det eller ej, men Google Dorks kan afdække nogle utrolige oplysninger såsom e-mail-adresser og -lister, loginoplysninger, følsomme filer, sårbarheder på websteder og endda finansielle oplysninger (f.eks. betalingskortdata). Faktisk har vi i vores WordPress hacking tutorial listet et par Google Dorks, der kan bruges til at finde SQLi (SQL injection) sårbarheder. Og det vidunderlige er, at dette er en utrolig passiv form for angreb, der ikke tiltrækker meget opmærksomhed på hackeren. Desværre bruger nogle mennesker disse teknikker til ulovlige og forbryderiske aktiviteter såsom cyberkrigsførelse, digital terrorisme, identitetstyveri og en lang række andre uønskede aktiviteter.
Hvis du læser dette for at lære, hvordan man bryder ind på et websted og skader andre bare for sjov, bør du måske forfølge andre interesser. Lad mig advare dig ved at sige, at det er en ulovlig aktivitet at bryde ind på websteder, og det er ikke kun en overtrædelse af lovene, men også af moralkodekserne. Hvis du bliver fanget, kan konsekvenserne være alvorlige. Hvorfor så lære dette til at begynde med, spørger du? Tja, det første sted enhver white-hat hacker skal starte, er med at forstå, hvordan hackere arbejder. Først da kan de lukke sikkerhedshuller for at forhindre fremtidige angreb.
Fundamentals of Google Dorking
Der er syv fundamentals of google Dorking. Disse er ikke andet end bare hvordan vi kan bruge google med avancerede teknikker. Disse syv fundamentals er syv typer af hovedforespørgsler, som gør den grundlæggende struktur af google Dorking. Vi vil nu se en efter en, hvordan disse forespørgsler bruges af hackere(back/grey/white hat) til at få oplysninger relateret til en organisation eller endda en person.
Note:
Google Dorking er ikke hacking i sig selv. Google Dorking er en teknik, der er nyttig i en af faserne i hacking, nemlig informationsindsamling, og det er den vigtigste fase i hacking. Der er i alt fem faser af hacking, nemlig rekognoscering, scanning, opnåelse af adgang, opretholdelse af adgang og rydning af spor. Google Dorking anvendes i de indledende faser, hvor hackere forsøger at få alle de oplysninger, der er knyttet til en bestemt organisation eller en person. Når de har fået alle oplysninger, udvælger hackerne de oplysninger, de har brug for til de næste faser.
Problemer ved brug af Google Dork
Som vi kan bruge Google til den aktivitet, der kan afsløre andres oplysninger, og at oplysningerne kan bruges til forkerte formål. Mange black hat hackere har sat bots online for at kradse hjemmesiderne og finde svagheder i siderne og derefter sende oplysninger tilbage til servere. For at stoppe og nedbryde dette problem har Google indført i denne proces. Du skal indtaste en næsten hver gang du bruger en drok. På denne måde forhindrer google bots i at bruge google til ulovlige formål.
Forståelse af Google Dorks operatorer
Som i simple matematiske ligninger, programmeringskode og andre typer algoritmer har Google Dorks flere operatorer, som aspirerende white hat-hackere skal forstå. Der er alt for mange til at medtage i denne vejledning, men vi vil gennemgå nogle af de mest almindelige:
- intitle – dette giver en hacker mulighed for at søge efter sider med en specifik tekst i deres HTML-titel. Så intitle: “
- allintitle – ligner den foregående operatør, men returnerer kun resultater for sider, der opfylder alle nøgleordskriterierne.
- inurl – giver en hacker mulighed for at søge efter sider baseret på den tekst, der er indeholdt i URL’en (dvs. “login.php”).
- allinurl – svarer til den foregående operatør, men returnerer kun resultater for URL’er, der opfylder alle de matchende kriterier.
- filetype – hjælper en hacker med at indsnævre søgeresultaterne til specifikke filtyper som f.eks. PHP-, PDF- eller TXT-filtyper.
- ext – svarer meget til filetype, men denne søger efter filer baseret på deres filudvidelse.
- intext – denne operatør søger i hele indholdet af en given side efter nøgleord, som hackeren har angivet.
- allintext – ligner den foregående operatør, men kræver, at en side matcher alle de angivne nøgleord.
- site – begrænser rækkevidden af en forespørgsel til et enkelt websted.
Søgninger:
Cache-kommando
Google viser ikke kun de aktuelle versioner af websider, men gemmer også de tidligere versioner af websteder i sin cache, og disse sider kan nogle gange give dig mange oplysninger om den teknologi, som udviklerne benytter sig af. Det kan også nogle gange afsløre oplysninger, der oprindeligt kun blev brugt til testformål og blev fjernet i de senere versioner, men som stadig kan ses i de versioner, som Google har i sin cache.
Syntaks
Den syntaks er “cache:website address”. Lad os f.eks. bruge kommandoen cache til et tilfældigt websted og se resultaterne. Resultaterne kan variere fra tid til anden, da vi også ser opdateringer fra google.
Som du kan se, at vi har fået flere resultater relateret til vores forskning. Vi kan bruge yderligere disse links til at få nyttige oplysninger relateret til dette websted.
Vi kan også bruge denne søgeforespørgsel til at fremhæve nogle nøgleord i vores søgeresultater. Lad os antage, at vi ønsker at fremhæve ordet “flex” i vores forskning, så skriver vi forespørgslen som følger:
“cache:https://flexstudent.nu.edu.pk/Login flex”. Det vil fremhæve dette nøgleord i resultaterne.
intext & allintext Kommando
Kommandoen intext bruges til at få de websider i resultatet, der indeholder de angivne ord i teksten på websiderne. Intext kan bruges på to måder. Den første er at få et enkelt nøgleord i resultatet, og den anden måde er at få flere nøgleord i søgningen. For at udføre den første opgave er syntaksen for kommandoen
Intext:usernames
For at udføre den anden opgave bruger vi blot allintext i stedet for intext. Og vi adskiller nøgleordene ved hjælp af et enkelt mellemrum. Hvis vi bruger allintext, så vil google tilføje alle de sider i resultatet, som har alle de nøgleord i deres tekst, som vi har nævnt i forespørgslen. Hvis en webside har nogle nøgleord, men der mangler mindst ét, vil den blive udelukket fra resultaterne, og brugeren vil ikke se den webside. Det er grunden til, at disse kommandoer bruges med de rigtige nøgleord, så de nødvendige oplysninger ikke bliver udeladt.
Syntaks
Lad os sige, at vi ønsker at finde frem til nogle sider, der har oplysninger relateret til brugernavne og adgangskoder, så skriver vi forespørgsel som følger:
allintext:”brugernavn” “password”
Og det resultat, vi fik i resultatet, er som følger:
Som du kan se, at alle siderne i retur har brugernavn og password i dem, og det er på grund af vores forespørgsel, som vi har brugt. Den har givet os de sider, der har begge nøgleord i dem.
Filetype kommando
Filetype er et af de syv berømte grundprincipper i google dorking, da det hjælper med at filtrere et stort antal filer fra. Den kan filtrere pdf-filer for dig. Den kan endda filtrere logfiler for dig. Logfiler er meget nyttige til indsamling af oplysninger relateret til en organisation, da disse er de filer, der holder styr på alle de begivenheder, der sker i en organisation. Hvis vi ønsker at få adgang til simple logfiler, kan vi blot skrive denne kommando: filetype:log, og den vil give os alle typer logfiler, men det kan ikke være til megen hjælp, før og medmindre vi forsøger at indsnævre vores søgning med nogle filtre.
Syntaks
Lad os gøre det mere specifikt ved at angive, at vi ønsker de filer, som har brugernavne og adgangskoder i dem. Til dette formål ændrer vi vores forespørgsel således:
allintext:brugernavn filetype:log
Det vil vise de resultater, der har brugernavne og adgangskoder nævnt i dem. Hvis disse filer tilhører en server, kan man ikke forestille sig, hvor meget skade det kan forårsage.
Åbning af en tilfældig fil efter at have fået et resultat ved at anvende denne forespørgsel er som følger:
Som du kan se, kan det for begyndere ikke have nogen betydning, men det kan spille en vigtig rolle i indsamling af oplysninger relateret til en virksomhed eller en server. Disse oplysninger kan være nøglen til mange nye eventyr.
Hvis vi kigger på en anden fil på internettet, kan vi også ende med at have brugernavne og adgangskoder.
Du kan bruge denne teknik til at indsnævre resultaterne til en bestemt bruger.
Først får du logfiler ved hjælp af denne forespørgsel, og derefter kan du nemt finde det ønskede brugernavn efter at have søgt i det pågældende dokument.
Intitle-kommandoen
Intitle er en kommando, som bruges, når vi ønsker at filtrere dokumenterne ud på baggrund af titlerne på HTML-siderne. Som vi ved, at HTML-sider har disse nøgleord i titlen, der definerer hele dokumentet. De repræsenterer et resumé af det, der er beskrevet i dokumentet. Vi kan bruge denne funktion til at få præcis det, vi ønsker. Hvis vi f.eks. leder efter dokumenter, der indeholder oplysninger om IP-kameraer, skriver vi en forespørgsel til Google, som skal filtrere alle siderne ud på grundlag af det angivne argument.
Syntaks
Den grundlæggende syntaks for at bruge denne kommando er som følger:
intitle: “ip-kamera”
Vi har også mulighed for at bruge flere nøgleord for at få mere præcise resultater. Hvis vi vil bruge flere nøgleord, skriver vi dem i separate kommaer. Google får alle siderne først, og den anvender derefter filtre på resultaterne. De websider, der ikke har forudsat søgeord i titlen på webstedet, bliver kasseret. Syntaksen for brug af denne kommando er som følger:
allintitle: “ip camera” “dvr”
Nedenfor er resultatet af denne forespørgsel. Du kan se, at den har vist os alle de sider, der har begge disse nøgleord i deres titel. Vi kan bruge denne teknik til at filtrere vores resultater meget effektivt.
inurl-kommando
Inurl-kommandoen fungerer på samme måde som intitle. Forskellen er, at Inurl er en kommando, der bruges, når vi ønsker at filtrere dokumenterne ud på baggrund af teksten i url’en. Som vi ved, at HTML-sider har de nøgleord i url’en, der definerer hele dokumentet. De repræsenterer et resumé af det, der er beskrevet i dokumentet. Vi kan bruge denne funktion til at få præcis det, vi ønsker. Hvis vi igen antager, at vi leder efter dokumenter, der indeholder oplysninger om IP-kameraer, skriver vi en forespørgsel til Google, som skal filtrere alle siderne ud på grundlag af det angivne argument. Vi har også mulighed for at bruge flere nøgleord for at få mere præcise resultater.
Syntaks
Den grundlæggende syntaks for at bruge denne kommando er som følger:
allinurl:tesla lambo
Nedenfor er resultatet af denne forespørgsel. Du kan se, at den har vist os alle de sider, der har begge disse nøgleord i deres url. Vi kan bruge denne teknik til at filtrere vores resultater meget effektivt. Se først på de url’er, vi fik som svar:
- https://www.quora.com/Is-Tesla-better-than-Lambo
- https://insideevs.com/news/461180/video-tesla-model-3-s-vs-lambo-ev-shootout/
- https://drivetribe.com/p/lambo-vs-tesla-drag-race-VJ-LpU3iQTKyoafR2H44mg?iid=F20vycyCRvKbVuKHgklKww
- https://www.carscoops.com/2020/04/imagine-that-tesla-model-s-performance-gives-lambo-aventador-s-a-run-for-its-money/
Og mange flere…..
Site command
Vi har en anden kommando, som er meget nyttig, når vi ønsker at søge relateret til en bestemt enhed. I første omgang gør vi vores søgekriterier brede og indsamler oplysninger, som måske eller måske ikke er relateret til vores behov. Når vi har fået nok til et startpunkt, begynder vi at indsnævre vores søgning ved hjælp af andre kommandoer. Lad os f.eks. antage, at vi ønsker at købe en bil, og at vi søgte efter biler, der blev introduceret senere i 2020. Efter at have fået en liste fra resultaterne, studerede vi siderne og fandt ud af, at Honda og Ford er pålidelige. Nu ville vores næste skridt være at indsamle oplysninger om disse biler fra autentiske websteder. Så her kommer brugen af site command. Nu vil vi indsnævre vores søgning til kun at omfatte nogle specifikke websteder.
Syntaks
site:https://global.honda/
Det vil kun give os alt, hvad der er relateret til dette websted.
Sådan kan vi, hvis vi nu vil søge om ford, blot ændre webstedsadressen, og vi vil få vores resultater.
ext kommando
I nogle tilfælde ønsker vi at søge efter dokumenter, der er af en bestemt type. Vi ønsker f.eks. at skrive en artikel om “phishing detection”. Vi kan ikke bare begynde at skrive om det, før og medmindre vi først laver vores egen research om det. Forskningsartikler offentliggøres for det meste i pdf-formater. Hvis vi nu ønsker at læse tidligere forskning, der er udført om dette emne, skal vi tilføje endnu en dork i vores kommando, som hedder ext. Ext er en kommando, der bruges til at angive filudvidelser. Dette fungerer som en filetype-kommando. Hvis vi ændrer vores tidligere søgning, som vi lavede om ford biler, kan det være, at vi nu kun vil søge efter pdf-filer, så skriver vi forespørgslen således:
Syntaks
site:https://www.ford.com/ ext:pdf
Fra resultaterne nedenfor kan du se, at vi nu kun har pdf-filer som vores resultater.
Mere eksempler på eksempler
Sæt, at vi ønsker at få adgang til en ftp-server. Kommandoen ville være at blande forespørgsler og derefter opnå det, vi ønsker.
Findelse af ftp-servere
Syntaksen er : intitle: “index of” inurl:ftp
Det vil finde alle indekssider relateret til en ftp-server og vil også vise katalogerne.
Når vi har fået resultater, kan vi tjekke forskellige URL’er for at finde oplysninger.
Vi kan endda nogle gange se kildekoden, som ikke bør være offentlig. Billedet, der er vedhæftet nedenfor, kan ikke betragtes som noget, der er fortroligt, men proceduren for denne aktivitet er den samme.
Accessing Online Cameras
Nu, da vi har læst en masse om disse tumper, kan vi støde på noget, der ikke bør tilgås, fordi det kan skade nogens privatliv. Formålet med denne aktivitet er at sprede budskabet om, at vi er nødt til at tage vores privatliv alvorligt. Folk sætter nu til dags cctv-kameraer op for at gøre dem sikre, men de gør ikke disse kameraer sikre. De gør det endda værre ved at gøre dem offentlige. Nedenfor er nogle skærmbilleder af kameraer, der er offentlige, og alle kan se, hvad der foregår der.
Syntaks
Intitle: “webcamXP 5″‘
Du kan se, at disse mennesker er mere sårbare nu, fordi folk nemt kan holde spor af deres aktiviteter.
Samt flere eksempler:
Selv jeg kan ikke skrive mere end det. Folk udstiller endda deres hjem, som det ikke er etisk forsvarligt at se, selv om vi får adgang til det.
Vigtig bemærkning
Sigtet med at bruge google dorking bør være at bruge disse tricks til at gøre folk og dig selv sikker. Hvis du læser dette, betyder det, at du til en vis grad har i cybersikkerhed. Det er hver enkelt persons ansvar at bruge information til velvære, og det bør også være det endelige mål.
For at få mere viden om komplekse kommandoer kan du henvise til Github. Folk har skrevet komplekse kommandoer ved at kombinere to eller flere dorks for nøjagtige resultater. I sidste ende handler det hele om øvelse.
Brugerdefineret udformning af Google Dork-forespørgsler
Nu da vi har en grundlæggende forståelse for nogle af operatørerne, og hvordan Google Dorks kan bruges til at gennemsøge internettet, er det tid til at se på forespørgselssyntaksen. Følgende er den overordnede struktur for Google Dorks, der er rettet mod et specifikt domæne:
- “inurl: domain/” “additional dorks”
En hacker vil blot indsætte de ønskede parametre som følger:
- inurl = URL’en for et websted, som man ønsker at søge på
- domæne = domænet for webstedet
- dorks = de underfelter og parametre, som en hacker ønsker at scanne
Hvis en hacker ønsker at søge på et andet felt end URL’en, kan følgende effektivt erstattes:
- dorks = de underfelter og parametre, som en hacker ønsker at søge på:
- intitle:
inurl:
intext:
define:
site:
phonebook:
maps:
book:
info:
movie:
weather:
related:
link:
Disse muligheder vil hjælpe en hacker med at afdække en masse oplysninger om et websted, som ikke er umiddelbart synlige uden en Google Dork. Disse muligheder tilbyder også måder at scanne nettet på for at lokalisere svært tilgængeligt indhold. Følgende er et eksempel på en Google Dork:
- inurl:login.jsp intitle:login
Gør effektiv brug af operatorer
Det kan virke lidt kryptisk i starten, så lad mig give et par eksempler, der viser, hvordan de forskellige operatører kan bruges til at finde indhold og webstedsdata. En bruger kan gøre effektiv brug af operatoren intitle til at lokalisere alt på et websted. Måske skraber de e-mailadresser og ønsker at scanne websteder for “@”-symbolet, eller måske leder de efter et indeks over andre filer.
Dertil kommer, at intext-operatoren grundlæggende kan bruges til at scanne individuelle sider for en hvilken som helst tekst, som man ønsker, f.eks. en måls e-mailadresse, navn, navnet på en webside (som f.eks. en login-skærm) eller andre personlige oplysninger for at indsamle data om dem.
Desto mere du øver dig, desto mere vil du være i stand til at finpudse dine forespørgsler til at udpege forskellige typer af websteder, sider og sårbarheder. Igen skal jeg advare dig mod at bruge disse forespørgsler til at angribe et andet websted, for det ville være ulovligt og kunne give dig en masse problemer. Alligevel er Google Dorks en fantastisk måde at finde skjulte oplysninger på nettet på, hvilket er grunden til, at hackere elsker at bruge dem til at finde sikkerhedshuller på websteder.
- intitle:
Hvis en hacker ønsker at søge på et andet felt end URL’en, kan følgende erstattes: