TryHackMe | Google Dorking CTF WriteUp

ZiFiЯ

Uzman üye
15 Kas 2021
1,110
10
875
Teşkilat
Herkese merhaba
değerli Türk Hack Team
üyeleri bu konumda sizlere Google dorking makinası
nasıl çözülür onu anlatacağım


jetncdz.jpg


1.Görev ile başlayalım​
Google, tartışmasız en ünlü “Arama Motorları” örneğidir, yani Ask Jeeves'i kim hatırlıyor? titriyor

Şimdi, bu "Arama Motorlarının" nasıl çalıştığını açıklamak biraz küçümseyici olabilir, ancak sahne arkasında gördüğümüzden çok daha fazlası var. Daha da önemlisi, bir kelime listesinin bulamayacağı her türlü şeyi bulmak için bunu avantajımıza kullanabiliriz. Bir bütün olarak araştırmak - özellikle Siber Güvenlik bağlamında, bir pentester olarak yaptığınız hemen hemen her şeyi kapsar. MuirlandOracle , nasıl araştırma yapılacağına ve ondan tam olarak hangi bilgileri elde edebileceğinize yönelik tutumları öğrenmek için harika bir oda yarattı .

Google gibi "Arama Motorları" çok büyük dizin oluşturuculardır - özellikle World Wide Web'e yayılmış içerik dizinleyicileridir.



İnternette gezinmeyle ilgili bu temel unsurlar, World Wide Web'de bu içeriği aramak için "Tarayıcılar" veya "Örümcekler" kullanır, bunu bir sonraki görevde tartışacağım.


çözüm:
6v52vz5.jpg


ilk olarak arkadaşlar gördüğünüz gibi bize bir metin verilmiş bu metni okuyup makinanın sorduğu sorulara cevap vereceğiz (okuduğunuz bir kitabın hakkında verilen soruları cevaplıyormuşuz gibi düşünün)

2.Görev
Tarayıcılar nedir ve nasıl çalışırlar?

Bu tarayıcılar, içeriği çeşitli yollarla keşfeder. Biri, tarayıcı tarafından bir URL'nin ziyaret edildiği ve web sitesinin içerik türüyle ilgili bilgilerin arama motoruna döndürüldüğü saf keşif yoluyladır. Aslında, modern tarayıcıların kazıdığı pek çok bilgi var - ancak bunun nasıl kullanıldığını daha sonra tartışacağız. Tarayıcıların içeriği keşfetmek için kullandığı başka bir yöntem, daha önce taranan web sitelerinden bulunan tüm URL'leri takip etmektir. Elinden gelen her şeyi geçmek/yaymak isteyeceği anlamında bir virüse çok benzer.



Bazı Şeyleri Görselleştirelim...




Aşağıdaki şema, bu web tarayıcılarının nasıl çalıştığının üst düzey bir özetidir. Bir web gezgini mywebsite.com gibi bir etki alanı keşfettiğinde , anahtar sözcükleri ve diğer çeşitli bilgileri arayarak etki alanının tüm içeriğini dizine ekler - ancak bu çeşitli bilgileri daha sonra tartışacağım.
4nrDDa0.png

Yukarıdaki şemada " mywebsite.com " "Elma" "Muz" ve "Armut" anahtar kelimelerine sahip olacak şekilde kazınmıştır. Bu anahtar kelimeler tarayıcı tarafından bir sözlükte saklanır ve daha sonra bunları arama motoruna yani Google'a döndürür. Bu ısrar nedeniyle, Google artık “ mywebsite.com ” alan adının “Apple”, “Muz” ve “Armut” anahtar kelimelerine sahip olduğunu biliyor. Yalnızca bir web sitesi tarandığından, bir kullanıcı “Apple” için arama yaparsa...“ mywebsite.com ” görünür. Bu, kullanıcının "Muz" araması yapması durumunda aynı davranışa neden olur. Tarayıcıdan dizine eklenen içerikler, etki alanını “Muz” olarak bildirdiği için, kullanıcıya gösterilecektir.


Aşağıda gösterildiği gibi, bir kullanıcı "Armut" arama motoruna bir sorgu gönderir. Arama motoru yalnızca "Armut" anahtar kelimesiyle taranan bir web sitesinin içeriğine sahip olduğu için, bu, kendisine sunulan tek alan adı olacaktır. Kullanıcı.
nbbsAp4.png

Ancak, daha önce de belirttiğimiz gibi, tarayıcılar bulabildikleri her URL'yi ve dosyayı tarama olarak adlandırılan geçiş yapmaya çalışırlar! Diyelim ki “ web sitem.com ” öncekiyle aynı anahtar kelimelere (“Apple”, “Muz” ve “Armut”) sahipse, ancak aynı zamanda başka bir web sitesine URL'ye sahipse , tarayıcı daha sonra her şeyi çaprazlamaya çalışacaktır. bu URL'yi ( başka bir web sitesi.com ) ve sırasıyla o etki alanındaki her şeyin içeriğini alın.


Bu, aşağıdaki şemada gösterilmektedir. Tarayıcı başlangıçta web sitesinin içeriğini taradığı “ mywebsite.com ”u bulur - daha önce olduğu gibi aynı anahtar kelimeleri (“Apple”, “Muz” ve “Armut”) bulur, ancak ek olarak harici bir URL bulur. tarayıcı “ mywebsite.com ” da tamamlandığında , anahtar kelimelerin ("Domates", "Çilek" ve "Ananas") bulunduğu " başkawebsite.com " web sitesinin içeriğini taramaya devam edecektir . sözlük artık hem “ mywebsite.com ” hem de “ otherwebsite.com ” içeriğini içeriyor ve bu daha sonra arama motorunda saklanıyor ve kaydediliyor.

CIM2c6N.png
Özetlemek

Özetlemek gerekirse , arama motoru artık taranan iki alan hakkında bilgi sahibidir:
1. mywebsite.com
2. otherwebsite.com

Bununla birlikte, “ başka bir web sitesi.com ” yalnızca ilk etki alanı “ mywebsite.com ” tarafından başvurulduğundan taranmıştır . Bu referans nedeniyle, arama motoru iki alan hakkında aşağıdakileri bilir:

Alan adıanahtar kelime
web sitem.comElmalar
web sitem.comMuz
web sitem.comArmutlar
başkawebsite.comDomates
başkawebsite.comÇilekler
başkawebsite.comAnanas

Veya aşağıda gösterildiği gibi:
BJeI451.png

Artık arama motorunun anahtar kelimeler hakkında biraz bilgisi olduğuna göre, diyelim ki bir kullanıcı "Armut" için arama yapacaksa, " mywebsite.com " alanı görüntülenecektir - bu, "Armut" içeren tek taranan alan olduğundan:
lBD6FPD.png

Aynı şekilde, diyelim ki bu durumda kullanıcı şimdi "Çilek" kelimesini aramaktadır. Arama motoru tarafından taranan ve "Çilekler" anahtar kelimesini içeren tek alan olduğundan, " başkawebsite.com " alanı görüntülenecektir:
1LGoslC.png



Bu harika...Fakat bir web sitesinin birden fazla harici URL'si olduğunu düşünün (genellikle yaptıkları gibi!) Bunun gerçekleşmesi için çok fazla tarama yapılması gerekir. Başka bir web sitesinin, taranan başka bir web sitesininkine benzer bilgilere sahip olma olasılığı her zaman vardır - değil mi? Peki "Arama Motoru", kullanıcıya görüntülenen alan adlarının hiyerarşisine nasıl karar veriyor?

Bu durumda aşağıdaki şemada, kullanıcı "Domates" (hangi web siteleri 1-3'ü içerir) gibi bir anahtar kelime arayacaksa, hangi web sitesinin hangi sırayla görüntüleneceğine kim karar verir?

OG2Fgsx.png


Mantıksal bir varsayım, web sitesi 1 -> 3'ün görüntüleneceği olabilir...Fakat gerçek dünya etki alanları bu şekilde çalışmaz ve/veya adlandırılmaz.

Peki hiyerarşiye kim (veya ne) karar veriyor? Peki...
symt3wr.jpg


3.Görev

Arama motoru Optimizasyonu

Arama Motoru Optimizasyonu veya SEO, günümüz arama motorlarında yaygın ve kazançlı bir konudur. Aslında, o kadar ki, tüm işletmeler bir alan adı SEO “sıralaması” geliştirmekten yararlanır. Soyut bir görünümde, arama motorları dizine eklenmesi daha kolay olan alanlara "öncelik verir". Bir alan adının ne kadar "optimal" olduğuna dair birçok faktör vardır - bu da puanlandırma sistemine benzer bir şeye yol açar.



Bu puanların nasıl puanlandığına ilişkin birkaç etkiyi vurgulamak için, aşağıdakiler gibi faktörler:

• Web siteniz Google Chrome, Firefox ve Internet Explorer gibi farklı tarayıcı türlerine ne kadar duyarlı - buna Cep telefonları da dahildir!

• "Site Haritaları"nı kullanarak web sitenizi taramanın ne kadar kolay olduğu (veya taramaya izin veriliyorsa ...ama buna daha sonra geleceğiz)

• Web sitenizin ne tür anahtar kelimelere sahip olduğu (örn. Örneklerimizde, kullanıcı “Renkler” gibi bir sorgu arayacaksa, hiçbir alan adı döndürülmeyecektir - çünkü arama motoru (henüz) yapacak anahtar kelimeleri olan bir alanı taramamıştır. “Renkler” ile



Çeşitli arama motorlarının bireysel olarak bu alanları nasıl "puanlandırdığı" veya sıraladığı konusunda çok sayıda karmaşıklık vardır - geniş algoritmalar dahil. Doğal olarak, Google gibi bu arama motorlarını çalıştıran şirketler, alan adlarının hiyerarşik görünümünün nihayetinde nasıl sonuçlandığını tam olarak paylaşmazlar. Bunlar günün sonunda işletmeler olduğu için, alan adınızın görüntülenme sırasını tanıtmak/artırmak için ödeme yapabilirsiniz.



Alan adınızın ne kadar optimize edildiğini size gösterecek, bazen arama motoru sağlayıcılarının kendileri tarafından sağlanan çeşitli çevrimiçi araçlar vardır. Örneğin, TryHackMe derecelendirmesini kontrol etmek için Google'ın Site Analiz Aracını kullanalım :

kvaFolh.png

6rFnpVc.png


Bu araca göre TryHackMe, 85/100 SEO derecesine sahiptir (14/11/2020 itibariyle). Bu çok da kötü değil ve bu puanın nasıl hesaplandığına dair gerekçeleri aşağıda sayfada gösterecek.



Ama...Bu "Tarayıcıları" Kim veya Ne Düzenliyor?

Bu "Tarayıcıları" sağlayan arama motorlarının yanı sıra, web sitesi/web sunucusu sahipleri, "Tarayıcıların" hangi içeriği kazıyabileceğini eninde sonunda kendileri belirler. Arama motorları bir web sitesinden her şeyi almak isteyecektir - ancak web sitemizin tüm içeriğinin dizine eklenmesini istemediğimiz birkaç durum vardır ! Herhangi birini düşünebilir misin...? Gizli bir yönetici giriş sayfasına ne dersiniz? Herkesin bu dizini bulmasını istemiyoruz - özellikle bir google araması yoluyla.

Robots.txt ile tanışın...

hetf0am.jpg


4.Görev
robots.txt

Daha sonra tartışacağımız "Site Haritaları"na benzer şekilde, bu dosya bir web sitesini ziyaret ederken "Tarayıcılar" tarafından indekslenen ilk şeydir.



Ama bu ne?

Bu dosya, web sunucusunun kendisi tarafından belirtilen kök dizinde sunulmalıdır. .txt'nin bu dosya uzantısına bakıldığında , onun bir metin dosyası olduğunu varsaymak oldukça güvenlidir.

Metin dosyası, "Tarayıcı"nın web sitesi için sahip olduğu izinleri tanımlar. Örneğin, ne tür "Tarayıcı"ya izin verilir (Örneğin, MSN'leri değil, yalnızca Google'ın "Tarayıcı"sının sitenizi dizine eklemesini istiyorsunuz). Ayrıca Robots.txt, "Crawler" tarafından hangi dosya ve dizinleri yapacağımızı veya dizine eklenmesini istemediğimizi belirleyebilir.

Bir Robots.txt dosyasının çok temel bir biçimlendirmesi aşağıdaki gibidir:

wZ3lo4B.png
Burada birkaç anahtar kelimemiz var...

anahtar kelimeİşlev
kullanıcı aracısıSitenizi dizine ekleyebilecek "Tarayıcı" türünü belirtin (yıldız işareti bir joker karakterdir ve tüm "Kullanıcı aracılarına" izin verir)
İzin vermek"Tarayıcı"nın indeksleyebileceği dizinleri veya dosyaları belirtin
izin verme"Tarayıcı"nın dizine ekleyemediği dizinleri veya dosyaları belirtin
site haritasıSite haritasının nerede olduğuna dair bir referans sağlayın (daha önce tartışıldığı gibi SEO'yu iyileştirir, bir sonraki görevde site haritalarına geleceğiz)
Bu durumda:

1. Herhangi bir "Tarayıcı" siteyi dizine ekleyebilir

2. "Tarayıcı"nın sitenin tüm içeriğini dizine eklemesine izin verilir

3. "Site Haritası" http://mywebsite.com/sitemap.xml adresinde bulunur.


audlFn8.png
Bu durumda:

1. Herhangi bir "Tarayıcı" siteyi dizine ekleyebilir

2. "Tarayıcı", "/super-secret-directory/" içinde yer almayan diğer tüm içeriği indeksleyebilir.

Tarayıcılar ayrıca alt dizinler, dizinler ve dosyalar arasındaki farkları da bilir. İkinci "İzin Verme:" ( "/gizli değil/ama-bu-is/") örneğinde olduğu gibi

"Tarayıcı", " /not-a-secret/ " içindeki tüm içeriği dizine ekler , ancak "/but-this-is/" alt dizininde bulunan hiçbir şeyi dizine eklemez .

3. "Site Haritası" http://mywebsite.com/sitemap.xml adresinde bulunur.
Ya Sadece Belirli "Tarayıcıların" Sitemizi Dizine Eklemesini İstiyorsak?

Aşağıdaki resimde olduğu gibi bunu şart koşabiliriz:
LxitBJs.png

Bu durumda:

1. "Tarayıcı" "Googlebot"un tüm siteyi dizine eklemesine izin verilir ("İzin Ver: /")

2. "Tarayıcı" "msnbot"un siteyi dizine eklemesine izin verilmez (İzin Verme: /")
Dosyaların Dizine Alınmasını Engellemeye Ne dersiniz?

Dizine alınmasını istemediğiniz her dosya uzantısı için manuel girişler yapabilirsiniz, ancak tam dosya adının yanı sıra içinde bulunduğu dizini de sağlamanız gerekir. Büyük bir siteniz olduğunu hayal edin! Ne acı... İşte burada biraz regexing kullanabiliriz .

mzDqFVY.png

Bu durumda:

1. Herhangi bir "Tarayıcı" siteyi dizine ekleyebilir

2. Ancak, "Tarayıcı" , sitenin ("$") kullanarak herhangi bir dizin/alt dizinde .ini uzantısına sahip hiçbir dosyayı indeksleyemez.

3. "Site Haritası" http://mywebsite.com/sitemap.xml adresinde bulunur.

Örneğin neden bir .ini dosyasını gizlemek istersiniz ? Bunun gibi dosyalar hassas yapılandırma ayrıntıları içerir. Hassas bilgiler içerebilecek başka dosya biçimleri düşünebiliyor musunuz?
1r2r0gc.jpg



5.Görev​
Site Haritaları



Gerçek hayattaki coğrafi haritalarla karşılaştırılabilir olan “Site Haritaları” tam da budur - ancak web siteleri için!

"Site Haritaları", etki alanında içerik bulmak için gerekli yolları belirlediklerinden, tarayıcılar için yararlı olan gösterge niteliğindeki kaynaklardır. Aşağıdaki çizim, bir web sitesinin yapısının ve bir "Site Haritası"nda nasıl görünebileceğinin iyi bir örneğidir:
L5WqJU4.png

Mavi dikdörtgenler , bir mağaza için "Ürünler" gibi bir dizine benzer şekilde iç içe içeriğe giden yolu temsil eder. Oysa yeşil yuvarlak dikdörtgenler gerçek bir sayfayı temsil eder. Ancak bu yalnızca örnekleme amaçlıdır - “Site Haritaları” gerçek dünyada böyle görünmez. Buna çok daha benzer bir şeye benziyorlar:
12Yxcn5.png

“Site Haritaları” XML formatlıdır. Falconfeast tarafından oluşturulan XXE odası bu konuda çok iyi bir iş çıkardığı için bu dosya formatlamanın yapısını açıklamayacağım .

"Site Haritalarının" mevcudiyeti, bir web sitesinin "optimizasyonunu" ve tercih edilebilirliğini etkilemede makul miktarda ağırlığa sahiptir. "Arama Motoru Optimizasyonu" görevinde tartıştığımız gibi, bu haritalar tarayıcı için içerik geçişini çok daha kolay hale getiriyor!



"Site Haritaları" Arama Motorları İçin Neden Bu Kadar Uygun?

Arama motorları tembel! Daha da iyisi - arama motorlarının işlemesi gereken çok fazla veri var. Bu verilerin nasıl toplandığının verimliliği çok önemlidir. "Site Haritaları" gibi kaynaklar, içeriğe giden gerekli yollar zaten sağlanmış olduğundan, "Tarayıcılar" için son derece yararlıdır! Tarayıcının yapması gereken tek şey, bu içeriği sıyırmaktır - manuel olarak bulma ve kazıma sürecinden geçmek yerine. Dosyaları bulmak için rastgele isimlerini tahmin etmek yerine bir kelime listesi kullanmak gibi düşünün!



Bir web sitesinin "Taraması" ne kadar kolaysa, "Arama Motoru" için o kadar optimize edilir

1x4si09.jpg



6.Ve son görev​
Gelişmiş Arama için Google'ı Kullanma

Daha önce tartıştığımız gibi, Google'ın taranan ve dizine eklenen birçok web sitesi vardır. Ortalama bir Joe, Kedi resimlerine bakmak için Google'ı kullanıyor (Ben daha çok bir Köpek insanıyım...). Google, Joe'ya sunulmak üzere dizine eklenmiş birçok Cat resmine sahip olacak olsa da, bu, arama motorunun ne için kullanılabileceğine kıyasla oldukça önemsiz bir kullanımıdır.
Örneğin, arama sonuçlarımızı artırmak veya azaltmak için programlama dillerinden operatörler ekleyebilir veya aritmetik gibi işlemler gerçekleştirebiliriz!
hrfWM6i.png

Arama sorgumuzu daraltmak istersek tırnak işaretleri kullanabileceğimizi varsayalım. Google, bu tırnak işaretleri arasındaki her şeyi kesin olarak yorumlayacak ve yalnızca sağlanan tam ifadenin sonuçlarını döndürecektir... Aşağıda yaptığımız gibi, ihtiyacımız olmayan çöpleri filtrelemek için oldukça kullanışlıdır:
pJSW4ou.png

Sorgularımızı İyileştirme

Bulması daha zor olabilecek içeriği filtrelemek için sağladığımız anahtar kelime için belirtilen siteyi aramak için “ site ” (bbc.co.uk gibi) ve bir sorgu ("gchq haberler" gibi) gibi terimler kullanabiliriz . aksi halde. Örneğin, "bbc" ve "gchq" kelimelerinin "site" ve "sorgusunu" kullanarak, Google'ın sonuçları döndürme sırasını değiştirdik.

Aşağıdaki ekran görüntüsünde "gchq news" araması, Google'dan yaklaşık 1.060.000 sonuç döndürür. İstediğimiz web sitesi, GCHQ'nun gerçek web sitesinin gerisinde yer alıyor:
b4duG6S.png

Ama biz bunu istemiyoruz... Biz “ bbc .co” istedik. uk ”, o halde “ site ” terimini kullanarak aramamızı daraltalım . Aşağıdaki ekran görüntüsünde Google'ın nasıl daha az sonuçla döndüğüne dikkat edin. Ek olarak, istemediğimiz sayfa ortadan kayboldu ve aslında istediğimiz siteyi terk etti!
dG3e64O.png

Tabii ki, bu durumda, GCHQ oldukça tartışılan bir konudur - bu nedenle, ne olursa olsun bir sürü sonuç olacaktır.





Peki "Google Dorking"i Bu Kadar Çekici Kılan Nedir?

Her şeyden önce - ve en önemli kısım - bu yasal! Hepsi endeksli, herkese açık bilgiler. Ancak bununla yaptığınız şey, yasallık sorununun devreye girdiği yer...

Arayıp birleştirebileceğimiz birkaç yaygın terim şunları içerir:



TerimEylem
dosya tipi:Dosyayı uzantısına göre arayın (örn. PDF)
önbellek:Belirtilen bir URL'nin Google'ın Önbelleğe Alınmış sürümünü görüntüleyin
başlık:Belirtilen ifade, sayfanın başlığında GÖRÜNMELİDİR


Örneğin, bbc.co.uk'de tüm PDF'leri aramak için Google'ı kullanmak istediğimizi varsayalım:

site:bbc.co.uk filetype:pdf
xoDtXnA.png


Harika, şimdi Google aramamızı " bbc.co.uk " üzerinde herkesin erişebileceği tüm PDF'leri sorgulayacak şekilde iyileştirdik - Bu "Bilgi Edinme Özgürlüğü Talebi Yasası" dosyası gibi dosyaları bir kelime listesinde bulamazdınız!

Burada PDF uzantısını kullandık , ancak herkesin erişebileceği hassas nitelikte başka dosya biçimleri düşünebiliyor musunuz? (Genellikle istemeden!!) Yine, bulduğunuz herhangi bir sonuçla yaptığınız şey yasallığın devreye girdiği yerdir - bu yüzden "Google Dorking" çok büyük/tehlikelidir.

İşte basit dizin geçişi.

Sizi, beni, THM'yi ve alan sahiplerini kapsamak için aşağıdakilerin çoğunu boş bıraktım:
24OH1Kk.png

o0Cnm1P.png


hc76t2s.jpg



Değerli arkadaşlar verdiğim metinlerde ve şemalarda ctf sorularının cevapları olduğu için
ben sorular nasıl çözülür diye anlatmadım (verilen metin ve şemalara bakıp okuyarak sizde soruları hiçbir zorluk olmadan çözebilirsiniz
en başta da dediğim gibi; bir kitap okuyorsunuz ve o kitabın özetini doğru çıkarmak için verilen sorulara cevap veriyorsunuz



İYİFORUMLAR :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.