Typhoon: 1.02 Zafiyetli Makinesinin Çözümü

Herkese merhabalar arkadaşlar. Bugün gene sizlerle birlikte başka bir zafiyetli makinenin çözümünü inceleyip sizlere anlatmaya çalışacağım. Typhoon: 1.02 makinesi PrismaCSI tarafından geliştirilmiş bir makinedir. Bu makine hakkında daha çok bilgi edinmek ve indirmek isterseniz buraya tıklayabilirsiniz.


İzlediğim Pentest Metodolojisi:

  1. Network Taraması (netdiscover)
  2. nikto Kullanımı
  3. dirb Kullanımı
  4. SSH bağlantısı
  5. İşletim Sistemi Hakkında bilgi edinme
  6. Yetki yükseltme

Konfigürasyonlar:

Öncelikle ben Kali Linux ve Typhoon:1.02 makisine VirtualBox’da NAT ağının arkasına koydu. Bunu yapmamın sebebi IP adreslerini daha hızlı bir şekilde yazabileceğim bir IP bloğunun olmasını ve zafiyetli makinenin dışarı ile olan bağlantısının kesebilmek. Sonuçta bunlar bir zafiyetli makineler ve dışarıdan görünmesini istemeyiz.

Kullandığım IP bloğu : 5.5.5.0/24

Image for post
IP adresim : 5.5.5.8

1) netdiscover Aracının Kullanılması

Typhoon makinesinin IP adresi elimde değil ama aynı NAT ağının arkasındayız. Bu yüzden IP adresi değerini öğrenmem gerekiyor.

netdiscover -r 5.5.0.0/16

Image for post
netdiscover Sonucu

Burada da göründüğü gibi Typhoon zafiyetli makinesinin IP adresi 5.5.5.6 ve benim kendi bilgisayarımın IP adresi ise 5.5.5.8‘dir.

Burada işimizi kesinleştirmek için Typhoon makinesinin IP adresini web tarayıcısında deniyorum.

Image for post
IP adresi kontrolü

2) nmap Taramalarının Yapılması

Ben gene işimi garantiye almak için bütün portları taradım ve sonuçları bir çıktı olarak kaydettim.

Image for post
nmap komutu

Burada ilk kısımında yani sarı ile işaretli yerde bütün portlar üzerinde agresif tarama yapmasını istedim. Ayrıca ikinci kısımında ise çıktının nereye kaydedileceğini belirttim.

Bu arama tabi ki biraz vakit alıyor. Benim elde ettiğim sonuçlar şu şekilde oldu.

Image for post
FTP ve SSH portu açık durumda gözüküyor.
Image for post
mongoadmin ve robots.txt dizini gözüküyor.
Image for post
8080 ve 27017 portu açık gözüküyor.
Image for post
Nikto sonuçları
Image for post
dirb sonuçları

Nmap ,dirb ve Nikto araçlarından elde ettiğim verileri yukarıdaki resimlerde göstermeye çalıştım. Elde ettiğimiz verileri son bir kez toplamamız gerekirse:

  1. FTP anonymous kullanıcı girişi açık gözüküyor.
  2. SSH bağlantı portu açık gözüküyor.
  3. /mongoadmin/ ve /robots.txt/ dizinleri açık durumda.
  4. 8080 ve 27017 portları da açık durumda gözüküyor.
  5. /cms/ ve /drupal/ dizinlerinin bulunması

3) FTP üzerinde araştırma

Görüldüğü üzere FTP sunucusu açık gözüküyor. Bu yüzden de kendi bilgisayarımdan karşı bilgisayara FTP bağlantısı yapmalıyım. Bunun için şu şekilde yazıyorum:

Image for post
FTP anonymous girişi

Ben biliyorum ki FTP üzerinde anonymous kullanıcıya izin verilmiş.Bu bilgiye nmap taramasında ulaşmıştım. Bunun anlamı şu demektir. Eğer böyle bir izin var ise varsayılan olarak kullanıcı adı ve şifre şu şekilde olmaktadır.

kullanıcı adı: anonymous

şifre: anonymous

Bu bilgi her zaman aklımızda bulunsun. Hemen kullanıcı adı ve şifre ile giriş sağlıyorum.

Image for post
FTP içerisi

Baktığıma göre FTP içinde bir şey gözükmüyor. Yani benim başa bir yol bulmam gerekiyor. Buradan bir bilgi edinemedim. O zaman elimde bulunan diğer bilgileri kullanma zamanı.


4) robots.txt ve /mongoadmin/ dizinleri

Image for post
/mongoadmin/ dizinine gidiyoruz.

Burada karşımıza çıkan yerde gördüğünüz gibi açık bir şekilde girdik. Burayı biraz karıştırmak gerekiyor. ‘Change Database’ dedim ve ‘creeds’ altında 2 tane veri gördüm. Hemen üstüne tıkladım ve çıkan sonuçlar şu şekilde oldu.

Image for post
Database’den kullancı adı ve şifre bulduk.

Burada bulduğumuz bilgiler bizi tamamen rahatlattı. Bunlar muhtemelen bir yere girerken kullanacağımız şifrelerdir. Muhtemelen /phpmyadmin/ veya SSH portunun açık olmasından dolayı SSH bağlantısı yaparken kullanacağımız bilgiler olabilir.

kullanıcı adı: typhoon

password : 789456123


5) SSH bağlantısı kurma

Image for post
SSH bağlantısı kurma komutu

Burada ‘ ssh <kullanıcı adı>@<IP adresi> ‘ şeklinde giriş yapmayı denedik. Bu kullanıcı adı ve şifre bir önceki aşamada elde ettiklerimiz ile aynıydı.


6) Flag Bulma

Şuanda SSH ile sistem içinde root yetkisine sahip olmasak da dosyalar içinde gezinebiliyoruz. Ben hemen hemen çoğu farklı dizini kontrol ettim. Bu dizinleri kontrol aşamasında ise flaglardan bazılarını buldum.

Image for post
/typhoon/ dizi altında secret dosyası ve flag değeri

/typhoon/ dizini altında secret diye bir dosya buldum ve onu cat komutu ile okudum. Daha sonra resimde de gördüğünüz gibi ‘script.sh’ dosyasını bash komutu ile run ettim ve ilginç bir sonuç aldım. Daha sonra bu script.sh komutunu ‘more’ komutu ile okumaya devam çalıştım.

‘script.sh’ dosyası “/tab/ “ dizini altında bulunuyordu. Genelde tab dizini altında zafiyet barındıran şeyler konulur. İlk okumada çalıştırınca göremedim ama sonradan tekrar bakınca daha farklı bir yolla okumayı denedim yani ‘more’ komutunu kullanarak hallettim bu işimi.

Image for post
script.sh dosyası ve more komutu ile 2. flag değeri

7) SSH sonrası yaptığım diğer işlemler

Şuanda elimde iki tane flag bulunuyor ama hala root yetkisine sahip olamadık. Şuanda SSH ile bağlandığımız kullanıcı sistemde root yetkisine sahip değildir.

Image for post
whoami komutu

Göründüğü üzere ‘typhoon’ kullanıcı adına sahip bir kullanıcının SSH bilgilerini kullanıyoruz.

Hemen işletim sistemi hakkında bilgi edinip bunu kullanmamız gerekiyor.

Image for post
Ubuntu 14.04

Hemen buradan sonra Ubuntu 14.04 hakkında zafiyet taraması yapmamız gerekiyor.


8) Zafiyet Taraması

Image for post
Zafiyet Taraması

Göründüğü üzere mavi alandaki ‘c’ uzantılı dosya bizi local privilege sağlayabileceğini söylüyor. Hemen bu dosyası indirmeye çalışalım.

Image for post
Zafiyetli Dosya İndirme komutu

Bu dosyayı bu şekilde indirdim. Dosya “/root/” dizini altına indir kendi kullandığımız bilgisayarda. Ama bu kodun karşı tarafdaki yanı Typhoon makinesinde çalıştırmamız gerekiyor. Kendi bilgisayarımızdan Typhoon makinesine bu kodu yollamamızın birkaç yolu var. En kolay yolu kendi bilgisayarımızda ufak bir web server ayağa kaldırmak ve Typhoon makinesindeki SSH bağlantığımızı kullanak dosyayı Typhoon makinesine indirmek olucak.

Image for post
Kendimizi Web Server yaptık.

Yukarıdaki komutta kendi bilgisayarımızda Python kullanarak bir HTTP web server ayağa kaldırdık. Bu server’a 8080 portunu kullanarak bağlanabiliriz.

Image for post
Dosyayı zafiyetli makineye indirdik.

Genelde böyle dosyalar “/tmp/” dizini altına indirilir. Buradaki komut Typhoon makinesine SSH bağlantısı gerçekleştirdikten sonra Typhoon makinesinde /tmp/ dizini gittikten sonra yazdım.

Dikkat ederseniz “5.5.5.8″ IP adresi normalde benim Kali Linux cihazıma ait olan bir IP adresi. Bunun olması doğal çünkü siz Typhoon makinesinden yani “5.5.5.6” IP adresinden kendi bilgisayarınızdaki yani “5.5.5.8” IP adresinde bir dosyayı alacaksınız. Kafa karışıklığı olmasın diye detaylı anlatmak istedim.

Artık elde ettğimiz “.c” uzantılı dosyayı Typhoon makinesinde çalıştıralım.

Image for post
Root olmak

Öncelikle gcc komutu ile c dosyasını derledim. Bunun çıktısına da “FTHCYBER_hackshell” ismini verdim. Daha sonra dosya izinlerinin hepsini açtım ne olur ne olmaz diye. Artık oluşturduğum “FTHCYBER_hackshell” dosyasını run ettim. Gördüğünüz gibi artık root kullanıcı haklarına sahip olduk.

Image for post

Evet şu ana kadar 3 flag yakaladık ve işlerimiz gayet kolay gitti. Çünkü SSH bağlantısı yapabildiğimiz için başka yerde güvenlik açığı aramamıza gerek kalmadı. Ama burada ben gene de sizlere güvenlik zafiyeti bulunan yerlere değineyim.


9) Diğer Güvenlik Zafiyeti Olan Yerler

Benim bildiğim kadarıyla /drupal/ dizini drupal sayfasına çıkarıyor.

Image for post

Drup denen yapıda güvenlik zafiyeti bulunmaktadır. Yani bu drupal zafiyetini kullanarak da sistemden ‘shell’ alabilirsiniz. Shell aldıktan sonra da tekrar zararlı c dosyasını yani 37292.c dosyasını kendi bilgisayarınızdan alıp bunu da gene kendi bilgisayarınızda server ayağa kaldırarak sağlayabilirsiniz. Geri kalan işlemler aynı zaten.


Bir diğer nokta ise LotusCMS sayfasındaki güvenlik zafiyeti.

Image for post

Bu sayfaya “/cms/” uzantısına girdikten sonra login kısmına tıklayıp ulaşabilirsiniz. Burada da lotuscms zafiyetini tarayarak karşı sistemden “shell” alabilirsiniz. Benim gördüklerim bu kadar arkadaşlar. Başka zafiyet keşfedenler bana ulaşabilirler 🙂


Buraya kadar olan her detayı en ince ayrıntısına kadar anlatmaya çalıştım. En genel kalıpları ile sizlere göstermeye çalıştım.Umarım konuyu bir bütün olarak anlatabilmişimdir. Umarım sizler için faydalı olmuştur. Soru, görüş ve geri bildirimleriniz için fatihturgutegitim@gmail.com adresine mail atabilirsiniz.

Ayrıca bana linkedin üzerinden de ulaşabilirsiniz. Okuyan herkese teşekkür eder sağlıklı günler dilerim. Bir sonraki yazımda görüşmek üzere…

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

WordPress.com'da Blog Oluşturun.

Yukarı ↑

%d blogcu bunu beğendi: