Metasploit Framework, siber güvenlik dünyasında kabul görmüş en güçlü açık kaynaklı sızma testi platformudur. Rapid7 tarafından geliştirilen bu araç; hedef sistemdeki zafiyetin tespitinden sömürü sonrası işlemlere kadar tüm süreci tek bir merkezden yönetmenizi sağlar.
Binlerce hazır modülü barındıran yapısı sayesinde, güvenlik uzmanlarının karmaşık saldırı vektörlerini simüle etmesine ve sistemlerin dayanıklılığını profesyonelce test etmesine olanak tanır.
Sistemdeki güvenlik açığını tetiklemek ve savunma hattını aşmak için kullanılan saldırı kodudur.
Bilgi toplama, tarama ve servis tespiti gibi doğrudan sömürü yapmayan yardımcı modüllerdir.
Exploit başarılı olduktan sonra hedefte koşturulan asıl koddur; saldırgana erişim sağlar.
Sömürü sonrası hedef sistemle kurulan canlı ve interaktif iletişim bağlantısını temsil eder.
Yasal Uyarı: Bu teknikler yalnızca laboratuvar ortamlarında ve yasal izinli sızma testlerinde uygulanmalıdır. Yetkisiz sistemlere müdahale edilmesi TCK m.243-245 kapsamında suç teşkil eder.
Hedef sistemin ağ üzerindeki varlığı doğrulandıktan sonra, saldırı yüzeyini haritalandırmak için servis keşfi yapılır.
SSH (Secure Shell), sistem yönetimi için tasarlanmış şifreli bir protokoldür. Ancak, zayıf kimlik doğrulama politikaları uygulandığında sızma testleri için doğrudan bir giriş noktası haline gelir. Bu bölümde, Metasploit'in tarama kabiliyetlerini kullanarak servis üzerindeki geçerli hesapları tespit edeceğiz.
Operasyonel Not: SSH saldırıları, FTP'ye göre daha güvenli şifreleme sunsa da, kaba kuvvet saldırılarıyla elde edilen oturumlar (session), saldırgana şifrelenmiş bir kanal üzerinden tam komut satırı erişimi sağlar.
auxiliary/scanner/ssh/ssh_login modülünün gereksinimlerini görmek için show options komutu ile konfigürasyon tablosunu çağırıyoruz.Sızma testinin en kritik aşaması, düşük yetkili bir kullanıcıdan root (tam yetkili) seviyesine geçiş yapmaktır. Bu bölümde, zayıf yapılandırılmış servisler ve sistem dosyaları üzerindeki izin hatalarını kullanarak yetki yükseltme (Privilege Escalation) sürecini tamamlayacağız.
Kritik Uyarı: Telnet gibi şifrelenmemiş protokoller, veriyi açık metin olarak ilettiği için ağ üzerindeki herkes tarafından dinlenebilir. Güncel sistemlerde bu servislerin yerini SSH almalıdır.
Samba servisinin belirli sürümlerinde (3.0.20 - 3.0.25rc3) bulunan "Username Map Script" zafiyeti, kullanıcı adı alanına yerleştirilen özel karakterler aracılığıyla sistem üzerinde rastgele komut çalıştırılmasına (Remote Code Execution) olanak tanır. Bu yöntem, herhangi bir kimlik bilgisi gerektirmeden doğrudan root yetkisiyle sistem erişimi sağlar.
Stabilizasyon Notu: Elde edilen ilk "Reverse Shell" genellikle kısıtlıdır (non-interactive). Python'un pty kütüphanesini kullanarak bu oturumu tam interaktif bir Bash shell'e yükseltmek, sömürü sonrası işlemlerde kolaylık sağlar.
Nmap taramasında açık görülen 3306/TCP (MySQL) portuna, herhangi bir exploit modülüne ihtiyaç duymadan doğrudan Kali üzerinden bağlanılabilir. Metasploitable 2 üzerindeki MySQL servisi, "root" kullanıcısı için parola gerektirmeden uzak bağlantılara izin verecek şekilde yanlış yapılandırılmıştır.
Saldırı Geçiş Akışı
Operasyonel Strateji: Veritabanı katmanına sızmak, sistemdeki diğer web uygulamalarının kullanıcı verilerine ulaşmamızı sağlar. Elde edilen hash'ler kırılarak diğer servislerde sızma denemeleri (Credential Stuffing) için kullanılabilir.
Nmap taramasında tespit edilen 5432/TCP (PostgreSQL) portu, veritabanı katmanına sızmak için kritik bir vektördür. Bu aşamada, zayıf yapılandırmaları tespit etmek için kaba kuvvet saldırısı gerçekleştirecek ve ardından psql istemcisiyle doğrudan bağlantı kurarak veritabanı şemasını analiz edeceğiz.
Operasyonel Not: PostgreSQL 8.3.x sürümleri varsayılan yapılandırmada zayıf parolalar içerebilir. postgres:postgres gibi yaygın kimlik bilgileri, sisteme yetkisiz giriş yapmak için en sık başvurulan yöntemdir.
Metasploitable 2 üzerinde çalışan Port 1524 (Ingreslock), sızma testi simülasyonları için kasıtlı olarak açık bırakılmış klasik bir "Bind Shell" örneğidir. Bu servis, kimlik doğrulama mekanizmasını tamamen devre dışı bırakarak kendisine gelen bağlantılara doğrudan bir root shell sunar.
Operasyonel Risk: Bind Shell'ler, sisteme sızan bir saldırganın kalıcılık (persistence) sağlamak için en çok başvurduğu yöntemlerden biridir. Port 1524 gibi standart dışı yüksek portlarda çalışan gizli servisler, sıkı firewall kuralları uygulanmayan iç ağlarda ciddi bir güvenlik açığı oluşturur.
Hedef sistemde yapılan Nmap taraması sonucunda, 8180/TCP portunun açık olduğu ve Apache Tomcat/Coyote JSP engine 1.1 servisinin çalıştığı tespit edilmiştir. Tomcat, web uygulamalarını çalıştırmak için kullanılan bir sunucudur ve genellikle bir yönetim arayüzü içerir. Eğitim amaçlı yapılandırılan bu sistemde, Tomcat yönetim panelinin varsayılan (default) kullanıcı adı ve parolası olan tomcat:tomcat değiştirilmemiştir.
Yönetim paneline erişim sağlandıktan sonraki amaç, hedef sisteme bağlanarak komutları çalıştırabileceğimiz bir "ters bağlantı" (reverse shell) elde etmektir. Paneldeki "Deploy" bölümü kullanılarak .war dosyaları sisteme yüklenebilmektedir.
Operasyonel Strateji: Saldırganın kendi makinesine bağlantı kuracak özel bir yazılım paketi hazırlamak için msfvenom aracı kullanılır. msfvenom, Metasploit Framework'ün bir parçası olup, farklı platformlar için özel zararlı yazılımlar (payload) oluşturmaya yarar.
shell.war dosyasını sisteme manuel yüklemek yerine, bu işlemi otomatize eden tomcat_mgr_upload exploit modülünü çağırıyoruz.
UnrealIRCd 3.2.8.1 sürümünün orijinal kurulum dosyalarına, 2009 yılında siber saldırganlar tarafından kasıtlı olarak bir Arka Kapı (Backdoor) yerleştirilmiştir. Bu gizli kod, sunucuya gönderilen AB; karakter dizisini algıladığında, ardındaki metni doğrudan sistem komutu olarak root yetkisiyle çalıştırır.
Operasyonel Strateji: Önce Nmap ile hedef makinedeki 6667 portunun durumunu ve versiyonunu doğrulayacağız. Ardından Metasploit üzerinden ilgili modülü seçip, hedef (10.0.2.3) ve atak (10.0.2.15) IP yapılandırmalarını tamamlayarak zafiyeti sömüreceğiz.
Metasploitable 2 laboratuvarındaki operasyonel hedefleriniz aşağıda listelenmiştir. İlgili bölüme gitmek için kartların üzerine tıklayabilirsiniz. Tüm hedefler başarıyla aşıldığında sistemi tamamen ele geçirmiş olacaksınız.