Keşif (Reconnaissance)
Penteste keşif, sistem hakkında mümkün olduğunca bilgi toplama aşamasıdır: IP, domain, çalışan bilgisi, teknolojiler vs.
Keşif (Reconnaissance) aşaması sistemi tanımakta çok önemli bir yere sahiptir. Sistemi tanımadan asla bir saldırı yapılmaz. Sistemi tanımadan bodoslama sızmaya çalışmak acemiliktir 😂
Keşif (Reconnaissance) aşaması aktif keşif ve pasif keşif olarak ikiye ayrılır.
Aktif Keşif Nedir? Aktif keşif sistemle doğrudan iletişim kurarak yapılır. Örnek verecek olursak port tarama, ping atma gibi.
Pasif Keşif Nedir? Pasif keşif sistemle doğrudan değil, dolaylı yoldan iletişim kurularak yapılır. Google, sosyal medya, WHOIS sorguları vs.
Keşif (Reconnaissance) Neden Önemli? Şöyle hayal edin: İki ordu var ve ikisi de savaş için hazırlanmış. Ordulardan biri öncü bir birlik ile savaş meydanını kontrol edip analiz etti ve ona göre mevzilendi. Diğer ordu ise rastgele mevzi aldı. Keşif yapan ordu galip geldi. Keşif (Reconnaissance) bu yüzden önemlidir. Mağlup olmak istemiyorsanız hedef hakkında bir şeyler öğrenmeniz, Keşif (Reconnaissance) yapmanız şarttır.
2. Tarama (Scanning)
Keşif (Reconnaissance)'ten sonra gelen ikinci adımdır. Kısaca açık kapı aramadır. Bir binaya gireceğiz, 10 tane kapı var ve hepsi kilitli ama biri zayıf; biz onu arayacağız. Port scanning vb. Bu iş için manuel tarama ve otomatize araçlar kullanılır.
Tarama (Scanning) bize hangi kapıların açık veya zayıf olduğunu göstererek yol gösterir.
Tarama (Scanning) İçin Bazı Araçlar;
- Nmap: Açık port, zafiyet tarama (bazı scriptler ile), işletim sistemi tespiti ve ağ haritası çıkarmak için kullanılır.
- Nessus: Ağdaki, web sunucusundaki, bulut altyapısındaki güvenlik açıklarını veya yanlış yapılandırmaları tespit eder.
- Nikto: Web sunucularındaki tehlikeli dosyaları, güncel olmayan yazılımları, SQL, XSS vb. birçok açığı taramaya ve raporlamaya yardımcı olur.
- Burp Suite: Burp Suite benim için web uygulamalarını test ederken kullandığım bir araçtır. Trafiği araya girip (proxy) izlerim, istekleri değiştiririm ve açıkları bulurum. Özellikle XSS, SQL Injection gibi zafiyetleri test etmek için kullanırım.
vb. birçok araç bulunmaktadır.
3. Erişim Sağlama (Gaining Access)
Şimdi açık kapımızı bulduk, içeri girdik; artık sisteme ilk erişimi sağladık. Yetkisiz şekilde bazı erişimlerle girdik. Mesela SQL injection açığı ile girdik veya bir file upload zafiyeti ile sisteme shell yükledik. İşte asıl iş başlıyor. Sistemi hackledik demek, artık sistem elimizde, gerçek kontrol başladı demektir. Pentestin kritik aşamalarından biridir; burada başarılı olamazsan diğer aşamalarda da başarılı olamazsın.
4. Yetki Yükseltme (Privilege Escalation)
Sisteme girdik ve düşük yetkilere sahibiz diyelim ama bizim root olmamız lazım. Bunun için Yetki Yükseltme (Privilege Escalation) yapmalıyız. Bu, sistemde tam erişime sahip olmamızı sağlar.
Nasıl yapılır?
- SUID dosyaları / yanlış izinler
- Kernel exploitleri
- Zayıf servisler ve yanlış konfigürasyon
- Parola / hash ele geçirme
- PATH hijacking vb.
Kullanılan araçlar:
- LinPEAS → Linux yetki yükseltme tarama
- WinPEAS → Windows yetki yükseltme tarama
- Linux Exploit Suggester → uygun exploit önerir
- Mimikatz → Windows credential dump
- PowerUp → Windows privilege escalation scripti
5. Kalıcılık (Persistence)
Sisteme girdikten sonra bağlantıyı kaybetmemek için bir arka kapı bırakılır. Sistem yeniden başlasa bile tekrar giriş yapabilmemizi sağlar.
Tekrar exploit işlemi yapmamız böylece gerekmez ve rahatça sisteme tekrar erişebiliriz.
Nasıl yapılır? (kısaca)
- Yeni kullanıcı ekleme
- Startup / servis ekleme
- Reverse shell backdoor bırakma
- Cron job / scheduled task oluşturma
- Web shell yükleme
Kullanılan araçlar:
- Metasploit → backdoor ve payload yönetimi
- Netcat → kalıcı bağlantı
- Empire → post-exploitation framework
- Cobalt Strike → gelişmiş kalıcılık ve kontrol
- Weevely → web shell oluşturma
6. İzleri Gizleme (Covering Tracks)
Sisteme yapılan işlemlerin loglarını, kayıtlarını ve kanıtlarını silme veya değiştirme aşamasıdır. Yaptığın aktivitelerin tespit edilmesini zorlaştırır. Saldırının fark edilmesini geciktirir veya tamamen engeller, analiz edilmeni zorlaştırır.
Nasıl yapılır?
- Log dosyalarını silme / temizleme
- Komut geçmişini silme
- Zaman damgalarını değiştirme
- Alarm ve monitoring sistemlerini devre dışı bırakma
Kullanılan araçlar:
- Metasploit → log temizleme modülleri
- Clearlogs / wevtutil (Windows) → event log temizleme
- shred → Linux dosya silme
- Auditd manipulation araçları
- PowerShell scriptleri (log temizleme işlemleri için)