VulnHub – SkyTower CTF Walkthrough

Vulnhub üzerinde eğlenilebilmek için zafiyetlerle hazırlanmış bir çok makine imajı bulunmakta. Bunlardan birisi SkyTower. SkyTower çok zor bi CTF değil. Ama ortalama olarak kısa sürede keyifle çözülebilecek bir makine. Aşama aşama çözümü inceleyip /root/flag.txt dosyamıza ulaşalım.

1-) Sanal ortamda makinenin IP’sini bulmak için netdiscover kullanıyoruz.

$ netdiscover -r 10.0.2.0/24

2-) Hangi portların açık olduğu ve nasıl yürüyeceğimize karar vermek için küçük bir nmap taraması yapıyoruz. Sonuç olarak SSH açık ancak filtered, ancak bir de 3128.port üzerinde proxy var. Yani temel olarak SSH erişimi için proxy kullanmamız gerekecek. Bir de 80 portundan yapılan bir web yayını var. Öncelikle web üzerinden gideceğiz. Çünkü SSH için elimizde herhangi bir parola yok.

3-) 10.0.2.5 IP’sinin 80 portunda şekildeki gibi bir login ekranı geliyor. Haliyle login ekranı görüldüğü an tırnak (‘) atmak alışkanlık.

4-) Login ekranında atılan tırnak (‘) sayesinde mysql error alınıyor. Evet, biraz hızlı oldu.

5-) Buradaki SQLi üzerinden yürüyeceğiz. ‘ or 1=1 payload’ını yazdığımızda değişen bir şey olmuyor ancak proxy de ‘or’ kelimesi üzerinde filtre uygulandığını görüyoruz. Bunun üzerine farklı payloadlar denemeliyiz.

6-) or kelimesinin filtrelenmesi sebebiyle oorr tarzında basit yaklaşımlar deniyoruz. Başarılı olan payload aşağıdaki gibi: ‘ oorr 1 > 0 #’

7-) SQLi ile john adlı kullanıcıya ve parolasına ulaşmış olduk.

8- ) Artık elimizde bir kullanıcı ve parolası olduğuna göre SSH ile giriş yapmayı deneyebiliriz. Ancak görüldüğü üzere proxy ihtiyacımız var.

9-) Kali üzerinde proxytunnel kullandık. Proxy için başka herhangi bir araç kullanabilirsiniz. 2222.porta açtığımız proxy sayesinde artık SSH ile bağalanabiliyoruz. Ancak hala yeterli yetkimiz yok!

10-) /etc/passwd dosyasının içeriğini görüntülediğimizde sistemde 2 kullanıcının daha olduğunu görüyoruz. sara & william!

11-) Sistemde bir login ekranı olduğuna göre kodlar içerisinde database connection kodları arasında db için kullanıcı adı ve parola bulabiliriz. login.php içerisinde localhost üzerindeki mysql database kullanıcı adının ‘root’ parolanın da ‘SkyTech’ olduğunu görüyoruz.

12-) Kullanıcı adı – parolası ile mysql’e bağlanıyoruz. Sonrasında database ve tablo içeriklerine bakarken login tablosu göze çarpıyor.

13-) login tablosu içerisinde diğer kullanıcıların parolaları da var.

14-) Öncesinde SSH üzerinde john kullanıcısı ile bağlanırken yaptığımız proxytunnel’ı sara ile bağlanırken 3333.port üzerinde açıp aynı şekilde bağlanıyoruz.

15-) Okumaya yetkimizin olduğu ve olmadığı dizin/dosyalara bakıyoruz.

16-) accounts dizinini görüntüleme yetkimiz var. O halde basit bir kandırmaca ile herhangi bir yetki yükseltme yöntemi denmeden önce /root/flag.txt dosyasını okutmaya çalışıyoruz. Ve işe yarıyor. Tabii Vututututututu benim sevinme şeklim. 🙂 root parolasının ‘theskytower’ olduğunu öğreniyoruz.

17-) Mission complete.

-EOF-

07 Haziran 2016

Last updated