Bağlantı analizi ve ilişki haritası
- Alan adı, IP ve sertifikaları bir bağlantı haritasında göster. Hangi noktanın daha çok bağlantısı olduğunu bul. İki alan adı arasındaki bağın ne kadar güçlü olduğunu sına.
- Beyaz Vadi Lojistik'in dış altyapısında unutulmuş bir paneli listeden değil haritadan okumayı öğrenirsin.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Beyaz Vadi Lojistik'in güvenlik ekibi dış yüzey taramasını bitirdi. Elinde kırk satırlık bir liste var: alt alan adları, IP adresleri, sertifikalar ve ad sunucuları. Liste her satırı eşit gösterir ve asıl soruları cevapsız bırakır.
Hangi sistem en çok yük taşıyor? Hangi parça unutulmuş? Bağlantı analizi bu sorulara cevap verir. Varlıkları düğüm, aralarındaki ilişkileri kenar olarak çizersin ve örüntü görünür hale gelir.
Önce haritanın parçalarını kuracaksın. Sonra hangi ortak özelliğin iki varlığı ne kadar güçlü bağladığını göreceksin. Merkez düğümü komut satırında sayacak, araçları tanıyacak ve rakip açıklamaları bir matrisle sınayacaksın.
Düğüm, kenar ve haritanın sorusu
Bağlantı analizi grafik mantığıyla çalışır. Her varlık bir düğümdür: alan adı, IP adresi, sertifika, ASN ya da kurum. Her ilişki bir kenardır: çözümleniyor, aynı sertifikayı paylaşıyor, aynı blokta duruyor.
Kenarın yönü ve türü vardır. 'web01, 203.0.113.11 adresine çözümleniyor' yönlü bir kenardır; ok alan adından adrese gider. 'İki ad aynı sertifikada geçiyor' ise yönsüzdür.
Harita çizildiğinde kümeler kendiliğinden belirir. Posta altyapısı bir yanda, web sunucuları öbür yanda toplanır. İki küme arasındaki tek bağ çoğu zaman haritanın en ilginç yeridir.
Neden liste yetmez? Çünkü liste tekrarları saklar. Aynı IP adresi beş satırda geçiyorsa listede beş kez okursun ve beşini ayrı bilgi sanabilirsin.
Haritada o adres tek düğüm olur ve ona giden beş kenar görünür. Soru da değişir. 'Bu kurumun kaç sunucusu var?' sorusunu liste cevaplar.
'Hangi sistem çökerse en çok hizmet durur?' sorusunu ancak harita cevaplar. Merkezde duran düğüm altyapının kalbidir ve savunma önceliği oradadır. Aşağıdaki altı satır Beyaz Vadi taramasından alındı. Solda kaynak düğüm, ortada ilişki türü, sağda hedef düğüm durur.
beyazvadi.example --NS--> ns1.ornek-dns.example beyazvadi.example --MX--> mail.beyazvadi.example web01.beyazvadi.example --A--> 203.0.113.11 eski-panel.beyazvadi.example --A--> 203.0.113.11 <-- aynı sunucu 203.0.113.11 --ASN--> 64500 ORNEK-BARINDIRMA destek.beyazvadi.example --CNAME--> yardim-masasi.ornek-bulut.example
Satırları sırayla oku. İlk satır alanın ad sunucusunu, ikinci satır posta sunucusunu verir. İkisi de sıradan yapılandırmadır. Üçüncü satırda web01 bir adrese çözümleniyor.
Dördüncü satırda eski-panel aynı adrese çözümleniyor. Yani adı 'eski' olan bir yönetim paneli, canlı web sunucusuyla aynı makinede duruyor. Panelde yamanmamış bir açık varsa saldırgan aynı makinedeki canlı sisteme de ulaşabilir.
Beşinci satır adresin hangi otonom sisteme, yani hangi barındırma şirketinin ağına ait olduğunu söyler. Son satırda destek adı bir bulut hizmetine yönlendiriliyor. Bulgu dördüncü satırda doğar, çünkü iki ayrı kenar aynı düğümde birleşiyor.
Etkinlik 1 / 7
Yukarıdaki kenar listesinde en dikkat çekici bulgu hangisidir?
Pivot noktaları ve güçleri
Pivot, bir düğümden yeni düğümlere atlarken kullandığın ortak özelliktir. Bir alan adının sertifikasını açarsın ve aynı sertifikada başka adlar görürsün. O adlar haritaya yeni düğüm olarak girer. Sonra onların adreslerine, ad sunucularına ve tescil kayıtlarına bakarsın.
Her atlama haritayı büyütür, ama her ortak özellik aynı güçte bağ kurmaz. Binlerce sitenin kullandığı bir ad sunucusu iki alan adını zayıf bağlar. Tek bir sertifika talebinde birlikte geçen iki ad ise güçlü bağlar. Aşağıdaki tablo sık kullanılan pivotları, nereden okunduklarını ve nasıl yanılttıklarını toplar.
Pivot Nereden okunur Bağ Nasıl yanıltır Aynı A kaydı dig, dnsx güçlü paylaşımlı barındırmada ilgisiz siteler de aynı adreste Aynı sertifika (seri, SAN) crt.sh güçlü ortak CDN sertifikası yüzlerce adı bir araya toplar Aynı izleme kimliği sayfa kaynağı, arşiv güçlü kopyalanan sayfa kimliği de birlikte taşır Aynı favicon özeti Shodan http.favicon.hash orta hazır panel ve şablonlar aynı simgeyi kullanır Aynı tescil günü ve kuruluşu RDAP orta aynı gün aynı kuruluştan binlerce ad alınır Aynı posta sunucusu (MX) dig MX orta büyük posta hizmetleri binlerce kuruma hizmet verir Ortak ad sunucusu (NS) dig NS zayıf büyük DNS sağlayıcısı sayısız alana bakar
Tabloyu üç grupta oku. Güçlü pivotlar ortak bir eylemi gösterir. Bir sertifika talebine birlikte yazılan adları aynı kişi ya da ekip istemiştir.
Sayfaya gömülü bir analiz kimliği aynı analiz hesabına bağlanır. Orta güçteki pivotlar ortak bir tercihi gösterir. Aynı gün aynı kuruluştan alınan beş ad toplu bir alımı düşündürür, ama tesadüf de olabilir.
Zayıf pivotlar yalnız ortak bir hizmeti gösterir. Son sütunu atlama. Oltalama sayfası özgün sayfanın kaynak kodunu kopyalar ve izleme kimliğini de taşır. Kimlik iki adı bağlar, ama bağın anlamı sahiplik değil kopyalama olabilir.
Haritaya her kenarı türüyle ve gücüyle yazarsın. 'A kaydıyla çözümleniyor' teknik olarak kesindir, çünkü DNS sorgusu bunu doğrudan gösterir. 'Aynı sertifikayı paylaşıyor' ortak yönetimi düşündürür ama kanıtlamaz. İki kenar aynı çizgiyle çizilirse okuyan ikisini eşit sanar.
Çözüm basittir: kenar türüne göre çizgi biçimi ya da renk seçersin. Düğüm tiplerini de ayırırsın. Alan adı, adres, sertifika ve kurum farklı renklerde durur. Tip ayrımı olmayan harita otuz düğümden sonra okunmaz hale gelir.
Derinleş:Favicon özeti nasıl üretilir
Favicon, tarayıcı sekmesinde görünen küçük simgedir. Shodan taradığı web sunucularının favicon dosyasını indirir ve içeriğinden bir sayı üretir. Hesap için dosyayı önce Base64 ile kodlar, sonra MurmurHash3 algoritmasıyla 32 bitlik bir özet çıkarır.
Aynı dosya her yerde aynı sayıyı verir. Bu yüzden http.favicon.hash filtresi aynı simgeyi kullanan sunucuları bir arada listeler. Savunma ekipleri bu yolla kurumun unutulmuş sunucularını bulur. Tehdit istihbaratı ekipleri de bilinen bir oltalama setinin yeni kopyalarını izler.
Yöntemin sınırı açıktır. Simgede tek bir bayt değişirse özet tamamen değişir. Hazır yönetim panelleri ve açık kaynak yazılımlar ise varsayılan simgelerini binlerce kurulumda paylaşır. Varsayılan simgenin özeti bir yazılımı gösterir, bir kurumu değil.
Etkinlik 2 / 7
Doğru mu, yanlış mı?
Paylaşımlı barındırmada aynı IP adresini kullanan iki alan adı arasında sahiplik ilişkisi kurulur.
Merkez düğümü saymak
Merkez düğümü gözle seçmek küçük haritada kolaydır, kırk düğümde zorlaşır. Burada derece merkeziliği işe yarar. Bir düğümün derecesi, ona bağlı kenar sayısıdır. Kenarları bir metin dosyasında 'kaynak ilişki hedef' biçiminde tutarsan özel bir araca gerek kalmaz.
Her satırın hedefini alır, aynı olanları gruplar ve sayarsın. En çok tekrar eden hedef, en çok kenarın girdiği düğümdür. Beyaz Vadi taramasındaki kenarlar bu biçimde kenarlar.txt dosyasına yazıldı. Hangi adresin merkezde durduğunu tek satırlık bir komut söyler.
$ cat kenarlar.txt
web01.beyazvadi.example A 203.0.113.11
eski-panel.beyazvadi.example A 203.0.113.11
api.beyazvadi.example A 203.0.113.11
depo.beyazvadi.example A 203.0.113.11
mail.beyazvadi.example A 203.0.113.25
vpn.beyazvadi.example A 198.51.100.40
beyazvadi.example NS ns1.ornek-dns.example
beyazvadi.example MX mail.beyazvadi.example
$ cut -d" " -f3 kenarlar.txt | sort | uniq -c | sort -rn | head -3
4 203.0.113.11
1 ns1.ornek-dns.example
1 mail.beyazvadi.exampleKomutu parça parça oku. cut -d" " -f3 her satırı boşluktan böler ve üçüncü alanı, yani hedef düğümü alır. sort aynı değerleri alt alta getirir, çünkü uniq yalnız ardışık tekrarları birleştirir.
uniq -c her değerin önüne kaç kez geçtiğini yazar. sort -rn bu sayıya göre büyükten küçüğe sıralar, head -3 ilk üç satırı gösterir. Çıktının ilk satırı bulgudur: 203.0.113.11 adresine dört kenar giriyor.
web01, eski-panel, api ve depo aynı makinede duruyor. O makine düşerse dört hizmet birden durur. Eski paneldeki bir açık da aynı makinedeki api ve depo sistemine yayılabilir.
$ dnsx -l altlar.txt -a -resp-only | sort | uniq -c | sort -rn
4 203.0.113.11
1 203.0.113.25
1 198.51.100.40Kenar dosyası yoksa adresleri doğrudan çözümleyerek de sayabilirsin. ProjectDiscovery'nin dnsx aracı bir alt alan listesini toplu çözümler. -l listeyi okur, -a A kaydını sorar, -resp-only yalnız cevaptaki adresi basar. Gerisi aynı sayma hattıdır.
dnsx sorguyu DNS çözücüsüne gönderir ve hedefin web sunucusuna paket gitmez. Yine de çözücü cevabı alanın yetkili ad sunucusundan alır ve toplu sorgu o sunucunun kayıtlarına düşebilir. Bunu yalnız kendi altyapında ya da yazılı iznin olan kapsamda çalıştır.
Etkinlik 3 / 7
Alt alan listesinden benzersiz IP adreslerini çıkaran hattı kur.
Parçalara tıklayarak komutu soldan sağa kur.
Etkinlik 4 / 7
Kenar dosyasına dört satır eklendi: yedek, bilgi, test ve arsiv alt alan adları 203.0.113.25 adresine çözümleniyor. Aynı sayma komutunun ilk satırı ne olur?
Önce kodu oku, sonra çıktıyı seç.
$ cut -d" " -f3 kenarlar.txt | sort | uniq -c | sort -rn | head -1
Araçlar: elle, yarı otomatik, otomatik
Araç seçimini işin boyutu belirler. Maltego bağlantı analizinin en bilinen ticari aracıdır. Varlık (entity) adı verilen düğümleri bir tuvale koyarsın.
Bir varlık üzerinde dönüşüm (transform) çalıştırırsın. Dönüşüm o varlık için bir veri kaynağını sorgular ve sonucu yeni düğüm ve kenar olarak ekler. Bir alan adından DNS kayıtlarına, oradan adreslere ve sertifikalara birkaç adımda ulaşırsın.
Büyük grafiklerde düzen ve filtre araçları işe yarar. Bedeli lisans ve veri kaynağı ücretleridir. Kapsam yalnız pasif keşfi içeriyorsa, her dönüşümün hangi kaynağa gittiğini çalıştırmadan önce okursun.
Otomasyon tarafında iki açık kaynak araç öne çıkar. SpiderFoot MIT lisanslı bir OSINT otomasyon aracıdır. Web arayüzü ve komut satırıyla çalışır.
İki yüzü aşkın modülle alan adlarını, adresleri, e-posta adreslerini ve tehdit istihbaratı kaynaklarını tarar. YAML ile yazılan korelasyon kuralları sonuçlar arasındaki dikkat çekici bağları işaretler. Recon-ng ise Metasploit'e benzeyen modüler bir keşif çerçevesidir.
Modülleri bir pazar yerinden kurarsın, her araştırmayı ayrı bir çalışma alanında (workspace) tutarsın ve sonuçlar bir veritabanında birikir. İki araç da hızlıdır ama gürültülüdür. SpiderFoot'un port taraması gibi aktif modülleri de vardır. Taramadan önce modül listesini kapsamla karşılaştırırsın.
Küçük araştırmalarda ağır araca gerek yoktur. Obsidian gibi bağlantılı not araçlarında her varlığı bir nota yazar, bağları notlar arası bağlantıyla kurarsın; grafik görünümü haritayı kendisi çizer. Daha da sadesi düz bir kenar dosyasıdır. Metin dosyası sürüm takibine girer, komut satırında sayılır ve yıllar sonra da açılır.
Hangi aracı seçersen seç, her kenarın yanına iki şey yazarsın: ilişkiyi kuran kaynak ve tarih. 'dig A, 2026-09-19' gibi kısa bir not yeter. Kaynaksız kenar bir süre sonra kimsenin doğrulayamadığı bir çizgiye döner. Tarihsiz kenar ise altı ay önce kopmuş bir ilişkiyi bugün varmış gibi gösterir.
Derinleş:Derecenin ötesi: aracı merkezilik
Derece merkeziliği bir düğüme kaç kenar bağlandığını sayar. Bazen asıl önemli düğümün az kenarı vardır ama iki kümeyi birbirine bağlar. Aracı merkezilik (betweenness centrality) bunu ölçer. Haritadaki her düğüm çifti arasındaki en kısa yolları çıkarır, sonra bu yolların kaçının belirli bir düğümden geçtiğini sayar.
Posta kümesi ile web kümesini birbirine bağlayan tek bir yönlendirme sunucusu düşün. Derecesi düşüktür, ama düşerse iki küme arasındaki bütün yollar kopar. Saldırgan için de değerlidir, çünkü ele geçirildiğinde iki tarafa birden erişim verir.
Gephi gibi grafik araçları ve Python'daki NetworkX kütüphanesi bu değeri hesaplar. Otuz düğümün altında köprüyü gözle bulmak çoğu zaman mümkündür. Yüzlerce düğümde hesaplamak gerekir.
Etkinlik 5 / 7
Doğru mu, yanlış mı?
SpiderFoot ya da Recon-ng gibi bir otomasyon aracının eklediği kenar, doğrulanmadan rapora bulgu olarak girer.
Hipotez sınama, güven kaybı ve savunma
Harita bir soru sorar, cevabı her zaman vermez. Beyaz Vadi ekibi taramada beyazvadi-destek.example adını buldu. Ad kuruma benziyor, ama kimin olduğu belli değil. Burada Rakip Hipotezler Analizi (ACH) işe yarar.
ABD hükümetinin 2009 tarihli yapılandırılmış analiz el kitabı (Tradecraft Primer) yöntemi adım adım anlatır. Önce bütün makul açıklamaları yazarsın. Sonra her kanıtı her açıklamaya karşı tartarsın.
Matriste hipotezler üstte sütun, kanıtlar yanda satır olur. Her hücreye tutarlı (C), tutarsız (I) ya da nötr (N) yazarsın. Amaç destekleyen kanıt biriktirmek değil, açıklamaları eleyen kanıtı bulmaktır.
SORU: beyazvadi-destek.example kimin?
H1 Beyaz Vadi H2 Tedarikçi H3 Taklitçi
E1 Kurum sitesiyle aynı CDN adresinde C C C
E2 Sayfada kurumun izleme kimliği var C C C
E3 3 gün önce, gizlilik hizmetiyle tescil I N C
E4 Sertifika kurumun SAN listesinde yok I C C
E5 Ad sunucusu kurumunkinden farklı I C C
E6 Arşivdeki form parolayı başka alana yolluyor I I C
Tutarsızlık (I) sayısı 4 1 0Matrisi satır satır oku. E1 ve E2 her hipotezle tutarlıdır. Aynı CDN adresi binlerce siteyi bir araya toplar.
Sayfadaki izleme kimliği de kopyalanan kaynak kodla gelmiş olabilir. Bu iki satırın tanı değeri yoktur, çünkü hipotezleri birbirinden ayırmaz. Ayırıcı kanıt alttadır. Beyaz Vadi'nin bütün alan adları kurumsal adla tescilli ve kendi ad sunucusunda.
Yeni ad üç gün önce gizlilik hizmetiyle alınmış ve başka bir sağlayıcıda duruyor. Arşivlenen sayfadaki giriş formu parolayı başka bir alana gönderiyor. En az tutarsızlığı taklitçi hipotezi taşıyor. ACH bunu 'kanıtlandı' diye yazmaz, 'en az çürütülen açıklama' diye yazar.
Son adım hassasiyet sorusudur: E6 yanlış çıkarsa sonuç değişir mi? Değişiyorsa o satırı ikinci bir kaynakla doğrularsın.
Pivot zincirinin bir bedeli vardır: her atlamada güven düşer. Beyaz Vadi'nin alan adı A kaydıyla bir adrese bakıyor ve bu kesindir. Aynı adreste başka bir ad buluyorsun; adres paylaşımlıysa bağ zayıflar. O adın tescil kaydındaki e-postayla üçüncü bir ada atlıyorsun; e-posta bir aracı şirkete ait olabilir.
Üç atlama sonra elindeki bağ 'iddia' düzeyine iner. Raporda bu yüzden yalnız sonucu değil zinciri yazarsın: hangi düğümden hangi pivotla nereye geçtin. Zincirin gücünü en zayıf kenar belirler. Güçlü bir sonuç gerekiyorsa zayıf kenarı ikinci bir pivotla desteklersin ya da sonucu bir kademe düşürürsün.
Aynı yöntem savunma ekibinin elinde bir önceliklendirme aracıdır. Kurum kendi varlık grafiğini çıkarır: alan adları, adresler, sertifikalar ve bağımlılıklar. En çok kenar taşıyan düğüm yama ve izleme önceliğini alır.
Beyaz Vadi için karar açıktır. Eski panel ya kapatılır ya da canlı sunucudan ayrılır. 203.0.113.11 üzerindeki dört hizmetin erişim kayıtları da izlemeye alınır.
Harita bir kez çizilip unutulmaz; kenar tarihleri ikinci turda neyin değiştiğini gösterir. Rapora giren harita ise sadeleşir. Otuz düğümlü çalışma haritası senin içindir. Okuyucu yalnız bulguyu anlatan düğümleri görür: merkez düğümler bulgu olur, kenarda kalan tekil düğümler dipnot.
Etkinlik 6 / 7
ACH matrisinde hangi kanıt satırı hipotezleri ayırmaya en az katkı verir?
Etkinlik 7 / 7
Her ilişkiyi gücüne göre eşleştir.
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.