Konuyu Okuyanlar: 1 Ziyaretçi

Pasif ve Aktif Keşif Farkı: Ne Zaman Hangisi, Hangi Araçlar

Pasif ve Aktif Keşif Farkı: Ne Zaman Hangisi, Hangi Araçlar
[Resim: attachment.php?aid=265]

Merhaba,

Pentest raporlarının keşif bölümü bazen ya çok zayıf oluyor ya da müşteriye "neden bu kadar gürültü yaptınız?" sorusunu doğuruyor. Sorunun kökü çoğu zaman pasif / aktif keşif ayrımının bulanık olmasından. Bu yazıda ikisini netleştirip hangi aşamada hangi araçlara baktığımı anlatacağım.

Pasif keşif nedir?
Hedefe doğrudan paket göndermeden, kamuya açık kaynaklardan bilgi toplamaktır. DNS kayıtları, sertifika şeffaflık logları, arama motorları, GitHub, iş ilanları, BGP/WHOIS... Hedef sizin trafiğinizi "tarama" olarak görmez (yine de ToS ve yasaları unutmayın).

Örnek pasif akış:
  1. WHOIS / RDAP ile sahip ve netblok
  2. Certificate Transparency (crt.sh) ile alt alan adları
  3. DNS: MX, TXT, SPF, DMARC
  4. Arama motoru dork'ları (kendi varlıklarınız / izinli kapsam)
  5. Şirket kariyer sayfası: teknoloji yığını ipuçları
Kod:
dig +short example.com ANY dig +short _dmarc.example.com TXT curl -s "https://crt.sh/?q=%25.example.com&output=json" | head

Aktif keşif nedir?
Hedefe paket gönderdiğiniz her şey: ping, port tarama, servis parmak izi, web spider, SMB null session denemeleri... IDS bunu görür, log üretir. Kapsam belgesi ve yazılı izin olmadan yapmayın.

Kod:
nmap -sS -sV -T3 -p- 10.10.10.50 whatweb https://hedef.lab

[Resim: attachment.php?aid=266]

Ne zaman hangisi?
  • Sözleşme öncesi / dışarıdan görünürlük: ağırlıkla pasif. Müşteriye "dışarıdan şöyle görünüyorsunuz" demek için yeter.
  • İç ağ pentesti: aktif kaçınılmaz; yine de önce pasifle domain listesini çıkarın.
  • Bug bounty: program kuralları pasifi serbest, aktifi sınırlı tutabilir; her programı okuyun.
  • Kırmızı/mavi tatbikat: mavi takımın tespit edeceği aktif teknikleri bilinçli seçin.

Araç eşlemesi (kısa)
Pasif: dig/drill, whois, crt.sh, SecurityTrails (hesaplı), Wayback, theHarvester (kaynaklarına dikkat), GitHub code search.
Aktif: nmap, masscan (çok agresif; izin ve rate şart), httpx, ffuf, gobuster, netexec, respond/erv (lab).

Gürültü yönetimi
Aktif keşifte kalite = kapsam × hız × gürültü dengesi. Pratik kurallarım:
  • Önce top port, sonra tam port; kör -p- her zaman ilk adım olmasın.
  • --max-rate ve zaman penceresi anlaşması.
  • Aynı IP'ye paralel 10 araç yağdırmayın; sonuçları birleştirin.
  • Bulguyu "nasıl bulundu" diye raporlayın: pasif CT logu mu, aktif nmap mi?

Raporlama dili
Müşteriye "port taradık" demek yetmez. Pasifte bulunan alt alan adının aktif doğrulaması ayrı satır olsun. Yanlış pozitifleri (CDN arkasındaki paylaşılan IP gibi) açıkça yazın.

Etik sınır
Üçüncü taraf servislere (çalışan kişisel GitHub'ı, alt yüklenici) taşmak kapsam dışıdır. OSINT'te bile KVKK ve ilgili gizlilik kuralları geçerlidir; kişisel veri toplamayın, yaymayın.

Kaynaklar
  • OWASP Testing Guide - Information Gathering
  • PTES Technical Guidelines
  • nmap.org dokümantasyonu

Siz pasiften aktife geçişte hangi kontrol listesini kullanıyorsunuz? Varsa şablonunuzu (hassas bilgi olmadan) paylaşın.

Örnek zaman çizelgesi (dış pentest)
Gün 0: sözleşme + kapsam IP/domain listesi. Gün 1: pasif (CT, DNS, iş ilanı, GitHub org). Gün 2: nazik aktif (top ports, httpx). Gün 3+: derinleşme yalnızca açık bulunan servislerde. Bu sıra hem gürültüyü hem de "neden baştan -p-?" sorusunu azaltır.

Bug bounty farkı
Programlar bazen automated scanning'i yasaklar veya rate limit koyar. Pasif keşif çoğu zaman serbesttir; yine de ToS okuyun. Wildscope'ta müşteri olmayan alt alan adlarına kaymak en sık ban nedenidir.


Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Ölçüm ve alarm sağlığı
Yanlış pozitifleri susturmak ile körleşmek arasındaki çizgi incedir. Suppress kuralına gerekçe ve gözden geçirme tarihi yazın. Süresi dolunca yeniden değerlendirin.

Kapsam ve izin hatırlatması
Bu adımları change ticket olmadan production'da uygulamayın. Küçük görünen bir audit ayarı bile uygulama uyumluluğunu bozabilir. Önce staging, sonra kontrollü yayılım.

Yedekleme ve geri dönüş
Yılda en az iki kez masabaşı tatbikatı yapın: 'bu kontrol kırılırsa kim fark eder?' sorusunu sorunsuz cevaplayabilmelisiniz. Tatbikat notlarını wiki'ye ekleyin.

Log saklama süresi
Araç çıktısını ekran görüntüsü olarak bırakmak yerine makinece okunur formatta (JSON/CSV) arşivleyin. İki yıl sonraki denetimde arama kolaylaşır.

Yanlış pozitif yönetimi
Yetki ayrımı: bu kontrolü yapılandıran kişi ile alarmı triaj eden kişi mümkünse farklı olsun. Küçük ekiplerde olmasa bile en azından farklı hesap kullanın.

Değişiklik yönetimi ile ilişki
Sürüüm yükseltmelerinden sonra regresyon testi yapın. 'Aynı config' yeni sürümde farklı varsayılanlara bağlanmış olabilir. Release note'daki breaking change bölümünü okuyun.

Eğitim tatbikatı
Dış bağımlılık (feed, imza seti, konteyner imajı) için bütünlük doğrulaması yapın. İmzasız feed ile gelen kural seti tedarik zinciri riskidir.

Doğrulama senaryosu
Bu konuyla ilgili ek bir kontrol: değişikliği yaptıktan sonra en az bir negatif test ve bir pozitif test tanımlayın. Negatif test 'alarm boşyere düşmemeli', pozitif test 'bilinen kötü örneği yakalamalı' der. İkisini de kaydedin.

Lab disiplini
Ortamlar arasında (lab, staging, production) aynı yapılandırmayı kör kopyalamayın. Adresler, sertifikalar ve kimlikler farklıdır. Şablon kullanın, değerleri envanterden doldurun.

Runbook'a taşımak
İlgili log ve kanıtları olaydan sonra en az kurum politikasının öngördüğü süre kadar saklayın. Disk dolunca en eski güvenlik logunu silmek klasik hatadır; ayrı retention politikası tanımlayın.

Uygulama notu
Bu rehberdeki komutları olduğu gibi kopyalamadan önce yolları, arayüz adlarını ve IP adreslerini kendi ortamınıza göre değiştirin. Dağıtım farkları (Debian/Ubuntu/RHEL/Windows sunucu) çıktı biçimini değiştirebilir; man sayfası ve resmi dokümantasyon birincil kaynaktır. Bir adım beklediğiniz sonucu vermezse önce yetki (sudo/Administrator), sonra sürüm, en son da yapılandırma dosyası sırasıyla bakın. Değişiklikleri geri almak için snapshot veya yapılandırma yönetimi (Ansible/Git) kullanın; 'elle bir dokundum' geçmişi denetimde kaybolur. Alarm ve log örneklerini ekip kanalında paylaşırken kişisel veri ve iç IP şemasını maskeleyin.
Yasal uyarı: Bu içerik eğitim amaçlıdır. Anlatılanları yalnızca kendi sistemlerinizde veya yazılı izin aldığınız sistemlerde uygulayın. Yetkisiz erişim ve sistemlere müdahale 5237 sayılı TCK'nın 243, 244 ve 245. maddeleri kapsamında suçtur.


Ek DosyalarEkran Görüntüleri
       
Cevapla



Hızlı Menü: