Seminerin süresinin kısıtlı olması nedeniyle bundan sonraki aşamaları çok detaylı ele alma imkanım pek olmadı. Bu yazı, sistemi ele geçirdikten sonra saldırganın yapabileceklerini ele alırken aynı zamanda sistem yöneticilerinin de bilmesi ve kullanması gereken basit bazı Linux komutlarını ele alacak.
Aşağıdaki gibi basit bir topoloji oluşturdum. Saldırı için kullandığım sanal makine Kali Linux, hedef olarak kullandığım sanal makine ise Metasploitable (http://sourceforge.net/projects/metasploitable/files/Metasploitable2/). Metasploitable sızma testleri konusunda pratik yapmak için geliştirilmiş ve üzerinde çeşitli zafiyetler barındıran bir Linux dağıtımıdır. Yeri gelmişken: lütfen Metasploitable yüklü hiç bir sanal makineyi internete açmamaya dikkat edin.
Resim 1: Topoloji
Hedef sistemde olduğunu bildiğim bir açığı bulmak için Nmap kullanıyorum. Hedef Metasploitable olduğu için üzerindeki zafiyetleri biliyorum, bu kısmı biraz "hikayenin bütünlüğünü sağlamak" için ekledim.
Resim 2: Nmap ile hedef sistemde zafiyet barındıran hizmeti ve portu tespit etmek
Unreal IRC hizmetinde var olduğunu bildiğim zafiyeti istismar etmek için Metasploit'u kullanacağım.
Resim 3: Metasploit'un esprili başlangıç bannerlarından birisi
Metasploit'ta var olan ve Unreal IRC'i hedef alan istismarı kullanıyorum ama meterpreter benzeri bir shell yüklemek yerine bana hedef sistemin komut satırını getirmesini istiyorum.
Resim 4: Unreal IRC istismarı
Komutlar sırasıyla:
Kullanacağım istismarı seçmek için: use exploit/unix/irc/unreal_ircd_3281_backdoor
Hedef sistemi belirlemek için: set RHOST 192.168.1.20
Saldırıyı başlatmak için: exploit
Resim 5: Hedef sistemin komut satırına erişim sağlamak
Hedef sistemde birden fazla kullanıcı ve yetkinin tanımlı olabileceğini düşünerek ilk adım hangi kullanıcı ve dolayısıyla hangi yetki ile erişim sağladığımı anlamaya çalışmak olabilir. Böylece bundan sonra atacağım adıma karar verebilirim.
Resim 6: Hedef sistemde ilk adımlar
Yukarıdaki komutlar sırasıyla;
Hedef sistem üzerinde kim olduğumu anlamak için: whoami ve/veya id
Hedef sistem üzerinde neler yapabileceğimi anlamak için: sudo -l
Hedef metasploitable olduğu için bu durum her saldırganın rüyasıdır, ROOT kullanıcısı ile bağlıyım ve hedef sistem üzerinde tam yetkiliyim. Gerçek hayatta arada bir bu durumla karşılaşsak bile çoğunlukla sıradan bir kullanıcı veya bir servisin yetkileri ile bir sisteme bağlandığımız için o anda neler yapabileceğimizi anlamamız çok önemlidir.
Hedef sistemin nereye bağlı olduğunu ve erişebileceğimiz diğer sistemlerin ne olduğunu anlamak için ele geçirdiğimiz sistemin ağ bağlantılarını anlamak önemlidir.
Resim 7: ifconfig komutu
Resim 8: route komutu
Sistem hakkında bize önemli bilgiler verebilecek diğer komutlara aşağıda değineceğim. Ele geçirilen sistemin ne olduğu, nerelere bağlı olduğu ve sizin bu sistem üzerinizdeki yetkilerinizi anlamak saldırının başarılı olup olmayacağı konusunda hayati önem taşır. Bir sızma testi sırasında en kolay ele geçirdiğimiz sistemin hiç bir yere bağlı olmayan bir sıramatik (banka veya hastane gibi yerlerde sıra numarası dağıtmak için kullanılan kiosklar) olduğunu anlamak biraz moral bozmuş olsa da kurum ağına bağlı olduğunu görmek ve üzerinde antivirüs olmadığı için iç ağa saldırmak için istediğimiz yazılımı yükleyebileceğimizi anladığımızda keyfimiz yerine gelmişti.
Resim 9: Ele geçirilen sistem üzerinde çalışan servisleri listelemek
Resim 10: env komutu
Bu bilgiye doğrudan pwd komutunu kullanarak da ulaşabiliriz.
Resim 11: pwd komutu
Resim 12: Uname ailesi
Resim 13: Beklenen an; parola hashleri
Sistem hakkında bilgi toplamak için kullanabileceğiniz komutlar arasında tabii ki en cazip olan "cat /etc/shadow"dur. Bu aslında bir komut değil, /etc/shadow dizininde bulunan dosyanın açılmasıdır. Bu dosyada bizim için önemli olan bilgi kullanıcı parolalarının hash değerleridir.
İstismar sonrası kullanılabilecek komutları toparlarsak;
whoami: sistem üzerinde kim olduğumuzu anlamak için
sudo -l: sahip olduğumuz kullanıcının yapabileceklerini anlamak için
pwd: bulunduğumuz dizini görmek için
ps aux | grep root: root yetkisiyle çalışan servisleri görmek için
/sbin/ifconfig -a: mevcut ağ bağlantılarını görmek için
route: sistemin network routelarını görmek için
iptables -L: iptables kurallarını görmek için
arp -a: ARP bağlantılarını görmek için
last: Sisteme en son giriş yapan kullanıcılar
users: Sistemde bulunan kullanıcıları listeler
No comments:
Post a Comment