Vulnhub – SkyTower Writeup

Vulnhub – SkyTower Writeup

Herkese Merhaba! 🙂

Zafiyetli makina çözümlerine devam ederken bu sefer platform değiştirerek, Vulnhub platformundan SkyTower makinasının aşamalarını sizler için anlatacağım.

Enumaration

Görsel 1

Diğerlerinden farklı olarak, makinayı kendi bilgisayarımıza yüklediğimiz için IP adresini bilmiyoruz. Bu sebepten, nmap ile belirli bir aralık vererek, hedef makinanın IP adresinin ne olduğunu öğrenmeye çalışıyoruz. Hedef makinanın IP adresi, bizim sistemimizde 10.0.2.11 olduğunun bilgisini aldık. Bu sizlerde değişiklik gösterebilir.

1.2

Hedef makinanın IP adresini öğrendikten sonra, daha detaylı bilgi erişimini sağlamak için gerekli parametreleri girerek tekrar tarattığımızda, 80 portunda bir web servisi, SSH servisi ve 3128 portunda proxy bulunduğunu görmekteyiz. Fazla vakit kaybetmeden, hemen 80 portunu ziyaret ediyoruz.

1.3

Login ekranı bizi karşılamakta, hemen bir XSS ve SQL Injection tekniklerini deniyorum.

1.4

SQL injection denemelerim neticesinde, SQL Syntax hatası alarak, zaafiyeti tespit ediyorum. Daha sonra bir kaç SQL Injection için komut deniyorum. Bunlar;

  • or 1=1
  • or 1=1–
  • or 1=1#
  • or 1=1/*
  • || 1#

Explanation

2.1

Kullandığımız teknikler başarılı olduktan sonra, hedef web sitesinin login girişini by pass yönetimi ile es geçiyoruz ve giriş sağlayabiliyoruz. Karşımıza çıkan yazıda john isimli kişinin SSH bağlantısı için gerekli bilgileri okuyoruz.

2.2

SSH ile bağlanmaya çalıştığımızda, bağlantı sağlayamıyoruz. Nedeni ise, hatırlarsanız nmap ile tarama yaptığımızda (Görsel 1.2) bir proxy portunun açık olduğunu ve ssh portunun ise filtrelenmiş olduğunu öğrendik.

2.3

sudo nano /etc/proxychains4.conf dosyasının en alt kısmına hedef makinenin adresini ve bağlanmak istediğimiz portu yazıyoruz, daha sonra kayıt edip çıkıyoruz.

2.4

Proxychains aracını kullanarak hedef makinanın, SSH servisine bağlantı sağlıyoruz.

2.5

Makinanın içerisinde bilgi ararken, www klasöründe web sayfasının dosyalarını görüyorum ve login.php dosyasının içeriğini okuduğumda; MySQL bağlantı bilgilerini ve login olur iken verileri hangi tablodan çektiğini öğreniyorum.

2.6

MySQL’e giriş yapıp login tablosundan bilgileri öğreniyoruz ve daha önce SQL Injection ile girdiğimiz arayüze bu sefer kullanıcıların bilgileri ile giriyoruz.

2.7

Sara kullancısının SSH bilgilerini edindikten sonra, tekrar SSH ile bağlantı sağlıyorum.

2.8

Bu sefer işler umduğumuz gibi kolay olmadı :), SSH bağlantısı için istek attığımızda bağlantı sürekli olarak kapandı.

2.9

Netcat kullanarak, 4444 portunu dinlemeye alıyorum ve SSH bağlantısı isteğini gönderirken hedef makinaya birde Reverse Shell alabilmek için dinlemeye aldığımız portu tetikleyen komut gönderiyorum.

2.10

Bağlantı başarılı 🙂

2.11

Sara kullanıcısının çok kısıtlıda olsa bir sudo yetkisi mevcut, doğrudan root kullancısının klasörünü göremiyoruz fakat accounts klasörü üzerinden geriye gidip, daha sonra root klasörüne erişmek istediğimizde, klasör içerisindeki bilgileri listeyebiliyoruz. Listeledikten sonra flag.txt dosyasını okuyup root’a ait SSH bilgilerini alıyoruz.

2.12

Aldığımız bilgiler sayesinde root kullanıcısına SSH servisi üzerinden bağlantı sağlayabiliyoruz. Umarım okurken keyif almışsınızdır. 🙂

Bu konu hakkında bir şeyler yazmak ister misin?