Kurumsal ayak izi çıkarma
- Kurumsal ayak izini açık kaynaklardan çıkar: iş ilanı, arşiv, web meta dosyaları, teknoloji izi ve Türkiye'nin resmî kayıtları.
- Site, iş ilanı, teknik blog ve arşiv kaydı birlikte altyapının resmini çizer.
- Bu derste Beyaz Vadi Lojistik'in ayak izini adım adım çıkaracaksın.
Puan bütün etkinlikleri cevaplayınca hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Kurumsal ayak izi çıkarmak, bir şirketin dışarıya kendi eliyle bıraktığı izleri toplamaktır. Bu izler tek bir yerde durmaz. Kurumsal site hizmetleri anlatır, iş ilanı kullanılan teknolojiyi ele verir, teknik blog mimariyi çizer, arşiv ise silinmiş sayfaları saklar.
Türkiye'de bir de resmî kayıtlar var: ticaret sicili, borsa açıklamaları ve alan adı kaydı. Bu derste Beyaz Vadi Lojistik'in ayak izini adım adım çıkaracaksın. Önce hedefe hiç dokunmayan kaynakları, sonra sıradan bir ziyaretçinin gördüğü dosyaları okuyacaksın. Her adımda aynı soruyu sorarsın: bu bilgi kurumu mu anlatıyor, yoksa kişisel veriye mi kayıyor.
Ayak izi nedir, nasıl oluşur
Ayak izi, hedefin kendi ürettiği bilgidir. Kimse çalmaz, kurum kendi yayımlar. Bir işe alım ilanı açtığında, bir basın duyurusu yaptığında ya da mobil uygulamasını mağazaya koyduğunda dışarıya bir parça bilgi bırakır.
Tek tek bakınca her parça masum görünür. Üst üste koyunca altyapının krokisi çıkar. MITRE ATT&CK bu toplama işini keşif taktiğinde ayrı ayrı sayar.
T1594 kurumun kendi web varlıklarını aramaktır. T1591 ise kurumun yapısını, iş ortaklarını ve çalışan rollerini toplamaktır. Saldırgan bu adımı sessizce yapar, çünkü açık kaynak hedefin kaydına düşmez.
Ayak izini üç soruya cevap arayarak çıkar. Kurum ne yapar, hangi teknolojiyi kullanır, dışarıya hangi kapıları açar. İş ilanları bu soruların en cömert kaynağıdır.
'Kubernetes ve PostgreSQL deneyimi olan mühendis' cümlesi altyapıyı yazar. 'Eski bir ERP sisteminin bakımı' cümlesi güncellenmemiş bir yazılımı ima eder. İlan bir davet değildir, ama envanterdir.
Teknik blog yazısı kullanılan mesaj kuyruğunu, konferans sunumu bulut sağlayıcısını ele verir. Mobil uygulamanın mağaza sayfası da boş değildir. Destek adresi, gizlilik politikası bağlantısı ve geliştirici sitesi, uygulamanın konuştuğu arka uç alan adlarına götürür.
Keşfi temas derecesine göre üçe ayır. Pasif keşifte hedefe tek paket gitmez. Arama motoru, arşiv, sicil ve sertifika kayıtları başkasının sunucusunda durur.
Yarı pasif adımda siteyi sıradan bir ziyaretçi gibi açarsın. Ana sayfa ya da robots.txt isteği olağan trafiktir, ama hedefin erişim kaydına düşer. Aktif adımda listelenmemiş yolları dener, port tarar ya da forma veri gönderirsin.
Her derece ayrı izin ister. Sözleşmende 'yalnız pasif keşif' yazıyorsa robots.txt'yi bile arşivdeki kopyasından okursun. Raporda da her bulgunun yanına hangi derecede toplandığını yazarsın.
Etkinlik 1 / 7
Her kaynağı verdiği bilgiyle eşleştir.
Etkinlik 2 / 7
Doğru mu, yanlış mı?
İş ilanları kurumun kullandığı teknolojiler hakkında doğrudan bilgi verir.
Türkiye bağlamı: resmî kayıtlar
Yurt dışı kaynaklar tek başına eksik kalır. Türkiye'de bir kurumun izini sürerken resmî kayıtlara da bakarsın. Türkiye Ticaret Sicili Gazetesi, şirketlerin kuruluşunu, adres değişikliğini, sermaye artışını ve yönetim kurulu kararlarını yayımlar. Türk Ticaret Kanunu bu ilanları zorunlu tutar.
1957'den bu yana yayımlanan ilanlara erişilir ve ücretsiz sorgu için üye girişi gerekir. Bir şirketin ortaklık yapısındaki değişiklik ya da yeni bir şube adresi çoğu zaman ilk buraya düşer. Kurum kaç yıldır faal, kimlerle bağlı, nerede ofis açmış; bu soruların yasal ve doğrulanabilir cevabı sicildedir.
Halka açık şirketler için ikinci kaynak Kamuyu Aydınlatma Platformu'dur (KAP). Borsada işlem gören şirketler önemli gelişmeleri özel durum açıklaması olarak buraya yazar. Bir satın alma, bir birleşme ya da yeni bir iş kolu duyurusu ayak izini büyütür, çünkü ikinci şirketin alan adları ve sunucuları da yüzeye girer. Alan adı tarafında TRABİS vardır.
'.tr' Ağ Bilgi Sistemi adını taşıyan TRABİS, .tr uzantılı adların kayıt sistemidir ve alan adı sorgusu sunar. Bir kurumun .tr alan adlarını buradan doğrularsın. Üç kaynak da kurumun kendi beyanıdır. Bu yüzden hem güvenilirdir hem de okunması meşrudur.
Kaynak : Türkiye Ticaret Sicili Gazetesi İlan : Şube açılışı, Beyaz Vadi Lojistik A.Ş. Tarih : 2024-03-14 Adres : Gebze, Kocaeli Karar : Şube müdürü ataması (yönetim kurulu) Kaynak : KAP özel durum açıklaması Konu : Pay edinimi Tarih : 2024-09-02 Özet : Kuzey Yamaç Depoculuk A.Ş. paylarının tamamı satın alındı
Notu satır satır oku. Şube ilanı yeni bir fiziksel yer söyler. Yeni ofis yeni bir yerel ağ, yeni bir kablosuz ağ ve çoğu zaman ayrı bir internet çıkışı demektir.
Tarih satırı altyapının ne kadar yeni olduğunu gösterir. Aceleyle açılan şubede varsayılan ayarlar sık kalır. KAP satırı ise ayak izini ikiye katlar.
Satın alınan depo şirketinin alan adları, posta sunucusu ve eski web paneli artık Beyaz Vadi'nin sorumluluğundadır. Birleşmeden sonraki ilk aylar en riskli dönemdir, çünkü iki şirketin envanteri henüz birleşmemiştir. Bu yüzden satın alınan şirketin adını alır ve aynı adımları ona da uygularsın: arşiv, alan adı sorgusu ve ilanlar.
Etkinlik 3 / 7
Borsada işlem gören bir şirketin yeni satın aldığı şirketi resmî kaynaktan hangi kayıtta doğrularsın?
Arşivi okumak: Wayback CDX
Arşiv ayrı bir kat açar. Wayback Machine sayfaların eski hallerini saklar. Bugün silinmiş bir ekip sayfası orada durur.
Kaldırılmış bir alt alan adı bağlantısı görünür kalır. Arşive tek tek bakmak yerine dizinini sorgularsın. Bu dizine CDX sunucusu denir.
Bir alan adının arşivde geçen bütün adreslerini, zaman damgalarını ve durum kodlarını tek bir sorguyla döker. Sorgu Wayback'in kendi sunucusuna gider. Hedefin altyapısına tek paket ulaşmaz, bu yüzden hedefin kaydında iz bırakmazsın.
$ curl -s "https://web.archive.org/cdx/search/cdx?url=beyazvadi.example&matchType=domain&fl=timestamp,original,statuscode&filter=statuscode:200&collapse=urlkey&from=2022&to=2024" 20220317094512 http://beyazvadi.example/ 200 20230118203044 http://eski-panel.beyazvadi.example/giris 200 20230902141130 http://beyazvadi.example/yatirimci/2023-sunum.pdf 200
Komutu parça parça oku. matchType=domain bütün alt alan adlarını kapsama alır. fl parametresi yalnız üç alanı ister: zaman damgası, adres ve durum kodu. filter=statuscode:200 yalnız başarılı yakalamaları bırakır ve kırık bağlantıları eler.
collapse=urlkey aynı adresin tekrarlarını teke indirir, çünkü bir sayfa yıllar içinde yüzlerce kez yakalanır. from ve to yılı sınırlar. Çıktının başındaki on dört haneli sayı bir zaman damgasıdır: yıl, ay, gün, saat, dakika, saniye. 20230118203044 sayısı 18 Ocak 2023 gününü, UTC ile saat 20.30 dolayını gösterir.
Etkinlik 4 / 7
Bu komut çalışınca beyazvadi.example şirketinin kendi sunucularına kaç istek gider?
Önce kodu oku, sonra çıktıyı seç.
curl -s "https://web.archive.org/cdx/search/cdx?url=beyazvadi.example&matchType=domain&fl=original&collapse=urlkey"
Listeyi bir bulgu değil, bir yapılacaklar listesi gibi oku. eski-panel adı bakımın çoktan bittiğini ima eder. Sunum dosyası ise başka bir kapı açar.
Yayımlanmış bir PDF'in meta verisi yazar adını, kullanılan yazılımı ve iç dosya yolunu taşıyabilir. Belge meta verisini ayrı bir derste açacaksın.
Şimdilik arşivin yalnız sayfaları değil, dosyaları da sakladığını not et. Aynı sorguya filter=mimetype:application/pdf eklersen kurumun yayımladığı belgeleri listelersin. Arşivden çıkan adresi canlı hedefte denemek ise pasif keşfi bitirir ve aktif adıma geçer. O adım yetki ister.
Arşiv listesini okurken sık bir hata da bulguyu abartmaktır. Arşivde 200 dönmüş bir adres bugün de yaşıyor demek değildir. Sayfa taşınmış, kaldırılmış ya da başka bir ekibe devredilmiş olabilir. Bu yüzden her adresi 'arşivde şu tarihte şu haldeydi' diye yazarsın, 'şu an açık' diye değil.
Gerçek olayların önemli kısmı da buradan çıkar. Satın alınan bir şirketin unutulan alan adı, kimsenin envanterinde olmadığı için yıllarca yamasız kalır. Arşiv çoğu zaman o unutulmuş varlığın tek kaydıdır. PortSwigger'ın bilgi ifşası kaynakları da aynı deseni anlatır: yedek dosyalar, kod içinde unutulmuş yorum satırları ve ayrıntılı hata mesajları kurumun istemeden bıraktığı izlerdir.
Etkinlik 5 / 7
beyazvadi.example için arşivdeki benzersiz adres listesini CDX arayüzünden iste.
Web meta dosyaları
Bir sitenin kök dizininde herkese açık birkaç dosya durur. robots.txt arama motorlarına hangi yolları taramamalarını söyler. İçindeki 'Disallow: /yonetim-eski/' satırı bir yönetim dizininin varlığını ele verir. Burada acemi analist iki hata yapar.
Birincisi, robots.txt'yi bir erişim engeli sanmaktır. RFC 9309 bunu açıkça reddeder: kurallar bir erişim yetkilendirmesi değildir, yalnız tarayıcılara yönelik bir istektir. Aynı belge, listelenen yolların herkese görünür hale geldiğini de not eder.
İkinci hata, listelenen yolu hemen ziyaret etmektir. Dosyayı okumak yarı pasif bir adımdır. Listedeki yolu açmak ise hedefe atılan aktif bir istektir ve yetki ister.
$ curl -s https://beyazvadi.example/robots.txt User-agent: * Disallow: /yonetim-eski/ Sitemap: https://beyazvadi.example/sitemap.xml $ curl -s https://beyazvadi.example/.well-known/security.txt Contact: mailto:[email protected] Expires: 2026-12-31T23:59:59Z Policy: https://beyazvadi.example/guvenlik-politikasi
İkinci dosya bir fırsattır. security.txt, güvenlik açığı bildirimini kolaylaştırmak için tanımlanmış bir dosyadır. RFC 9116 onu /.well-known/security.txt yolunda arar ve Contact ile Expires alanlarını zorunlu tutar.
Expires tarihinin bir yıldan yakın tutulmasını da önerir, böylece bilgi bayatlamaz. Bir araştırmacı açık bulduğunda kime yazacağını buradan öğrenir.
Savunma tarafı için ders nettir: bu dosyayı yayımla ki bulgular sana ulaşsın. sitemap.xml ise sitenin sayfalarını listeler ve gizli kalması beklenen yolları da ele verebilir. Üç dosya da kurumun kendi yayınıdır. Okunmaları meşrudur, ama içlerindeki yolları ziyaret etmek ayrı bir karardır.
Savunma ekibi bu dosyalara saldırganın gözüyle bakar. robots.txt'de bir yönetim yolu görüyorsan satırı silmek yetmez. Yol zaten arşivde ve arama motoru önbelleklerinde durur. Asıl çözüm, yolu kimlik denetiminin arkasına almak ya da tamamen kapatmaktır.
Tespit tarafında basit bir desen işe yarar. Erişim kaydında aynı istemcinin önce robots.txt'yi, birkaç saniye sonra da Disallow satırındaki yolu istemesi, birinin dosyayı yol haritası gibi kullandığını gösterir. Bu desen tek satırlık bir alarm kuralına dönüşür ve keşif aşamasını erkenden görünür kılar.
Etkinlik 6 / 7
Aşağıdaki robots.txt hangi satırıyla analiste bir yönetim dizininin varlığını ele veriyor?
Teknoloji izi ve envanter
Yığını tahmin etmenin en ucuz yolu yanıt başlıklarıdır. Sunucuya bir baş isteği (HEAD) atınca Server ve X-Powered-By gibi satırlar geri döner. Bu satırlar kullanılan web sunucusunu, kimi zaman da sürümünü yazar. OWASP web güvenliği test rehberi bunu parmak izi çıkarma adımında sayar.
WhatWeb gibi araçlar aynı işi otomatik yapar ve tanıdıkları imzalarla teknolojiyi listeler. Bu istekler de hedefe gider. Bu yüzden yarı pasif bir adımdır ve kapsamda yazılı olmalıdır.
Sürüm bilgisini rapora her zaman 'olası' etiketiyle yazarsın, çünkü başlıklar elle değiştirilebilir. Yanlış bir sürüme dayanan bulgu, savunma ekibini yanlış yamaya yönlendirir.
$ curl -sI https://beyazvadi.example | grep -iE '^server|^x-powered-by' server: nginx x-powered-by: Express $ grep -oE 'src="https?://[^/"]+' anasayfa.html | sort -u src="https://analitik.saglayici.example src="https://cdn.saglayici.example src="https://odeme.saglayici.example
Çıktıyı iki parçada oku. İlk komut yalnız başlıkları ister ve grep ile iki satırı süzer. server: nginx web sunucusunu, x-powered-by: Express ise arkadaki Node.js çatısını söyler. Sürüm numarası görünmüyor, bu da iyi bir yapılandırma işaretidir.
İkinci komut kaydedilmiş sayfadaki dış kaynak adreslerini toplar. Her satır bir bağımlılıktır: analiz betiği, içerik dağıtım ağı ve ödeme altyapısı. Her bağımlılık kurumun güven zincirine eklenen bir halkadır.
Bir dış betik ele geçirilirse onu çağıran her sayfa etkilenir. Bu yüzden envantere yalnız kendi sunucularını değil, güvendiğin dış servisleri de yazarsın.
Şimdi topladıklarını tek bir örnekte birleştir. Beyaz Vadi Lojistik'in üç iş ilanını okuduğunu düşün. İlki 'Kubernetes deneyimi olan mühendis' arıyor, ikincisi 'PostgreSQL ve Redis', üçüncüsü 'eski bir ERP sisteminin bakımı'. Bu üç cümleden dört teknoloji doğrudan çıkar: konteyner düzenleyici, ilişkisel veri tabanı, önbellek ve eski bir ERP.
Kubernetes işleten bir ekip çoğu zaman bir konteyner imaj deposu ve bir sürekli entegrasyon hattı da kullanır. Bunları 'çıkarım' etiketiyle eklersin. Sonra arşivden gelen eski-panel adresini ve yanıt başlığındaki sunucu adını koyarsın. Tek tek masum olan satırlar birleşince kurumun yığını netleşir.
Ayak izi çalışmasının çıktısı bir envanter tablosudur. Sütunlar şöyle olur: varlık, tip, kaynak, tarih, temas derecesi, hâlâ yaşıyor mu ve sorumlu. eski-panel satırına tip olarak 'web paneli', kaynak olarak 'Wayback CDX', tarih olarak 2023-01-18 ve derece olarak 'pasif' yazarsın.
Redis satırına kaynak olarak 'kariyer ilanı, 2024', güven olarak 'orta' yazarsın. Sorumlu sütunu çoğu kurumda boş kalır ve asıl bulgu da odur. Sahibi belli olmayan sistem, yamalanmayan sistemdir.
Tarih sütunu riski sıralamanın en hızlı yoludur. Üç yıldır dokunulmamış bir panel, dün kurulmuş bir sunucudan önce gelir. Envanter tek seferlik bir rapor değil, aylık tekrarlanan bir iştir.
Etkinlik 7 / 7
Kurumun silinmiş bir iç panel sayfasının varlığını gösteren en uygun açık kaynak hangisidir?
Derinleş:Arşivin belleği ne kadar geriye gider
İnternet Arşivi 1996'da kâr amacı gütmeyen bir kuruluş olarak kuruldu. Amaç, web sayfalarının zamanla kaybolan hallerini saklamaktı. Wayback Machine bu arşivin arama yüzüdür ve 2001'de herkese açıldı. Bugün bir trilyon dolayında web sayfası yakalaması tutar.
Bir sayfa arşive üç yoldan girer. Arşivin kendi tarayıcısı siteleri düzenli ziyaret eder. Kullanıcılar Save Page Now düğmesiyle elle kayıt alır. Ortak projeler toplu tarama sonuçlarını yükler.
Bir analist için arşivin değeri, kurumun sildiğini hatırlamasıdır. Kurum bir sayfayı kendi sitesinden kaldırabilir. Arşivdeki kopya için ise ayrı bir kaldırma talebi gerekir ve o zamana kadar kopya okunmuş olabilir. Kanıt korumada arşiv çift yönlü çalışır: hem kurumun geçmişini okursun, hem kendi bulgunu zaman damgalı biçimde saklarsın.
Okumayı istediğin sırayla sürdürebilirsin. Ders, bütün etkinlikleri cevapladığında tamamlanır.