top of page

Certificate Transparency Logları (CT Logs)

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
28 Nis
5 dakikada okunur

Certificate Transparency Logları (CT Logs)

Certificate Transparency Logları (CT Logs)

İnternet dediğimiz devasa kaos ortamında “güven” aslında pamuk ipliğine bağlı. Web’de bu güveni ayakta tutan en kritik mekanizmalardan biri SSL/TLS protokolüdür. Tarayıcın ile bir web sitesi arasındaki iletişimi şifreler. Bu yapının merkezinde ise küçük ama hayati bir dosya vardır: dijital sertifika .

Dijital sertifika, bir web sitesinin gerçekten “o site” olduğunu doğrular ve güvenli iletişimi mümkün kılar.

Ama olay şu: Sertifika üretim süreci kusursuz değil.

Yanlış verilmiş (mis-issued) ya da kötü niyetli şekilde oluşturulmuş (rogue) sertifikalar sayesinde saldırganlar:

- Gerçek siteleri taklit edebilir

- Hassas verileri araya girerek ele geçirebilir

- Zararlı yazılım dağıtabilir

İşte burada devreye Certificate Transparency (CT) Logları giriyor.

Certificate Transparency Logları Nedir?

Certificate Transparency (CT) logları, verilen tüm SSL/TLS sertifikalarının kaydedildiği herkese açık, değiştirilemez (append-only) kayıt defterleridir .

Bir Sertifika Otoritesi (CA) yeni bir sertifika oluşturduğunda, bu sertifikayı birden fazla CT loguna göndermek zorundadır. Bu loglar bağımsız kuruluşlar tarafından tutulur ve herkes tarafından incelenebilir.

Bunu şöyle düşünebilirsin:

CT logları = Web dünyasının global sertifika tapu kayıt sistemi.

Bir domain için verilmiş tüm SSL/TLS sertifikalarını şeffaf biçimde gösterir.

Bu şeffaflık neden kritik?

1) Rogue Sertifikaların Erken Tespiti

CT logları izlenerek şüpheli ya da hatalı verilmiş sertifikalar hızlıca tespit edilebilir.

Rogue sertifika nedir? Yetkisiz veya dolandırıcılık amacıyla oluşturulmuş dijital sertifika.

Erken fark edilirse:

- Sertifika iptal edilir

- Olası MITM saldırıları engellenir

- Güven zinciri korunur

2) Sertifika Otoritelerine Hesap Verebilirlik

Eğer bir CA kurallara aykırı sertifika verirse, bu herkese açık şekilde loglarda görünür.

Yani: “Yanlış yaptın mı? Dünya görüyor.”

Bu durum, CA’lerin daha dikkatli davranmasını sağlar.

3) Web PKI Güçlendirme

Web PKI (Public Key Infrastructure), internet üzerindeki güven mimarisidir. CT logları sayesinde bu sistem kamu denetimine açılır ve güvenilirliği artar.

CT Logları ve Web Recon

Şimdi işin pentest / bug bounty tarafına gelelim. Burada CT logları resmen altın madeni.

Subdomain enumeration yaparken klasik yöntemler ne?

- Brute-force

- Wordlist

- Permutation

Sorun şu: Wordlist’in ne kadar iyiyse o kadar görürsün. Tahmin ettiğin kadarını keşfedersin.

Ama CT logları tahmine dayanmaz.

CT logları, bir domain ve alt domainleri için verilmiş tüm sertifikaların gerçek ve tarihsel kaydını verir.

Yani:

- Guess etmiyorsun

- Brute-force yapmıyorsun

- Gerçek sertifika kayıtlarını çekiyorsun

Bu şu avantajları sağlar:

- Aktif olmayan subdomain’ler bile görülebilir

- Eski sertifikalara bağlı domainler tespit edilebilir

- Unutulmuş, legacy sistemler ortaya çıkabilir

Ve tahmin et… Eski sistem = eski yazılım = potansiyel zafiyet.

CT logları, domain’in geçmişine açılan gizli kapı gibi çalışır.

CT Logları Nasıl Aranır?

CT loglarını aramak için iki popüler platform var:

1) crt.sh

- Basit web arayüzü

- Domain bazlı arama

- SAN (Subject Alternative Name) bilgileri

- Sertifika detayları

Avantajları:

- Ücretsiz

- Kayıt gerektirmez

- Hızlı kullanım

Dezavantaj:

- Filtreleme seçenekleri sınırlı

2) Censys

- Gelişmiş arama motoru

- Domain, IP, sertifika attribute filtreleme

- API erişimi

Avantaj:

- Çok güçlü analiz

- Geniş veri seti

Dezavantaj:

- Kayıt gerekiyor (free tier var)

Terminal’den crt.sh Kullanımı

Web arayüzü güzel ama biz terminal insanıyız

Örneğin facebook.com domaininde “dev” içeren subdomainleri çekelim:

curl -s "https://crt.sh/?q=facebook.com&output=json" | \
jq -r '.[] | select(.name_value | contains("dev")) | .name_value' | \
sort -u

Bu komut ne yapıyor?

curl → crt.sh üzerinden JSON formatında sertifika kayıtlarını çekiyor.

jq → JSON içinden sadece name_value alanında “dev” geçen kayıtları filtreliyor.

sort -u → Sonuçları alfabetik sıralıyor ve tekrarları siliyor.

Sonuç? Tahmin etmeden, wordlist kasmadan, doğrudan sertifika kayıtlarından dev subdomainleri çıkarmış oluyorsun.

Recon süresini kısaltır. Kapsamı genişletir. Surface’i büyütür.

Sonuç

Certificate Transparency logları sadece savunma tarafı için değil, offensive security tarafı için de stratejik bir araçtır.

- Güven zincirini şeffaflaştırır

- Rogue sertifikaları ortaya çıkarır

- Subdomain keşfini daha akıllı hale getirir

- Domain geçmişini görünür kılar

Fingerprinting Nedir? (Web Recon’un DNA Analizi)

Web reconnaissance sürecinde en kritik adımlardan biri fingerprinting’tir. Basitçe söyleyelim: Bir web sitesinin “dijital kimliğini” çıkarmaktır.

Nasıl ki parmak izi bir insanı benzersiz şekilde tanımlar, web sunucularının, işletim sistemlerinin ve yazılım bileşenlerinin de kendine özgü dijital izleri vardır. Bu izler sayesinde:

- Hangi web sunucusu kullanılıyor?

- Hangi versiyon?

- Hangi CMS?

- Hangi framework?

- Hangi güvenlik katmanları?

gibi soruların cevabını alırız.

Ve bu bilgiler sıradan bilgi değildir. Bu bilgiler saldırı stratejisini belirler.

Fingerprinting Neden Bu Kadar Önemli?

Fingerprinting, web keşfinin temel taşlarından biridir. Çünkü:

1) Hedefe Yönelik Saldırı

Eğer sistemin Apache 2.4.41 kullandığını biliyorsan, genel exploit aramazsın. Direkt o versiyona özel zafiyetleri incelersin.

Bu da başarı ihtimalini dramatik şekilde artırır.

2) Yanlış Konfigürasyonları Ortaya Çıkarma

Güncel olmayan yazılım

- Default ayarlar

- Açıkta bırakılmış dosyalar

- Güvensiz header’lar

Bunlar çoğu zaman sadece fingerprinting ile görünür hale gelir.

3) Hedef Önceliklendirme

Birden fazla hedef varsa:

- Eski yazılım?

- WordPress + eski plugin?

- Zayıf header yapılandırması?

Hangisi daha “yumuşak hedef”? Fingerprinting bunu net gösterir.

4) Bütünsel Güvenlik Profili Oluşturma

Tek başına bilgi bir şey ifade etmez. Ama:

- Server banner

- CMS bilgisi

- WAF var mı?

- TLS yapılandırması

bunları birleştirdiğinde artık hedefin güvenlik duruşunu görmeye başlarsın.

Fingerprinting Teknikleri

Web teknolojilerini tespit etmek için kullanılan başlıca yöntemler:

1) Banner Grabbing

Sunucu genellikle kendini ele verir.

Örneğin:

curl -I inlanefreight.com

Çıktı:

Server: Apache/2.4.41 (Ubuntu)

Bu tek satır şunu söyler:

- Apache kullanılıyor

- Versiyon belli

- Ubuntu üzerinde çalışıyor

Bu artık saldırı haritasının başlangıcıdır.

2) HTTP Header Analizi

Her HTTP isteği ve cevabı bilgi taşır.

Örnek:

- Server: → Web sunucu bilgisi

- X-Powered-By: → PHP mi? ASP.NET mi?

- X-Redirect-By: → WordPress mi?

Örneğin:

X-Redirect-By: WordPress

Bu bize CMS’i doğrudan gösterir.

Ayrıca wp-json gibi endpoint’ler de WordPress izi bırakır.

3) Özel İstek Göndererek Tepki Analizi

Bazı özel crafted request’ler:

- Özel hata mesajları

- Belirli davranış kalıpları

- Versiyona özgü response farkları

üzerinden teknoloji tespiti yapılabilir.

4) Sayfa İçeriğini Analiz Etme

HTML kaynak kodu altın madeni olabilir.

- meta generator

- license.txt

- wp-login.php

- /wp-json/

Bazen copyright satırı bile kullanılan yazılımı söyler.

Otomatik Fingerprinting Araçları

Manuel analiz güçlüdür ama zaman alır. Bu yüzden otomatik araçlar devreye girer.

Wappalyzer

Tarayıcı eklentisi. CMS, framework, analytics vs. tespit eder.

BuiltWith

Detaylı teknoloji stack raporu verir. Ücretsiz ve ücretli sürümü var.

WhatWeb

CLI aracı. İmza veritabanı ile teknoloji tespiti yapar.

Nmap

Sadece port tarama değil. NSE script’leri ile servis ve OS fingerprinting yapabilir.

Netcraft

Hosting sağlayıcısı, altyapı, güvenlik durumu gibi detaylı raporlar sunar.

wafw00f

WAF tespit aracı.

Bir sitenin arkasında güvenlik duvarı var mı? Varsa hangisi?

Gerçek Senaryo: inlanefreight.com Fingerprinting

1) Banner Grabbing

curl -I inlanefreight.com

Çıktı:

Server: Apache/2.4.41 (Ubuntu)

Demek ki:

- Apache

- Ubuntu

- Versiyon belli

Sonra HTTPS versiyonu kontrol edilir:

curl -I https://inlanefreight.com

Burada:

X-Redirect-By: WordPress

Artık biliyoruz:

- Apache

- Ubuntu

- WordPress

Stack netleşmeye başladı.

2) WAF Tespiti — wafw00f

wafw00f inlanefreight.com

Sonuç:

The site is behind Wordfence (Defiant) WAF.

Bu ne demek?

- WordPress tabanlı

- Wordfence WAF aktif

- Doğrudan brute-force yaparsan bloklanabilirsin

Yani bundan sonra recon taktiğini değiştirmen gerekir.

Gerçek hayatta WAF’i hesaba katmamak, boşuna gürültü çıkarmaktır.

3) Nikto ile Fingerprinting

Sadece yazılım tanımlama modülü:

nikto -h inlanefreight.com -Tuning b

Çıkan kritik bulgular:

- IPv4 ve IPv6 adresleri mevcut

- Apache 2.4.41 (güncel değil)

- WordPress kurulumu bulundu

- /wp-login.php mevcut

- license.txt dosyası açıkta

- Strict-Transport-Security header yok

- X-Content-Type-Options eksik

- BREACH potansiyeli

Bu noktada artık şunu diyebilirsin:

“Bu sistem WordPress tabanlı, Apache üzerinde, Wordfence ile korunuyor ama header yapılandırması zayıf ve versiyon eski.”

Bu, yüzeysel bilgi değil. Bu, saldırı planı çıkaracak seviye veri.

Recon Perspektifiyle Sonuç

Fingerprinting sadece “hangi CMS varmış ya” demek değildir.

Fingerprinting şudur:

- Saldırı yüzeyini daraltmak

- Zafiyet aramasını hedefli yapmak

- Yanlış konfigürasyonları yakalamak

- WAF var mı öğrenmek

- Güvenlik olgunluğunu ölçmek

Web reconnaissance’ta fingerprinting yapm

 
 
bottom of page