Pluck Writeup

Arif ARI
3 min readDec 2, 2021

--

Bu çalışmada zafiyetli Pluck makinesinin çözümüne değinilecektir. Keyifli okumalar..
Pluck makinesini açtığımızda ip adresi otomatik olarak gelmektedir. Dolayısıyla ip adresi tespiti yapmaya gerek kalmamaktadır.

Hedef sistemin açık portlarının tespiti için nmap aracıyla detaylı bir analiz yapmasını belirttik.

Sistemde 22/ssh , 80/http ve 3306/mysql portları açık olduğu tespit edilmiştir. Tercihimdir ctflerde GENELLİKLE açıksa eğer önce web servisi üzerinden zafiyet aramaya başlarım. Burda da öyle yapacağız.

Tarama sonucuna bakıldığında bir yerel dosya dahil etme (LFI) güvenlik açığının olduğunu göreceğiz. Dosya yolunu kopyalayıp tarayıcıdan adrese gidelim.

Sayfa da bir paul kullanıcısının olduğunu ve /backups:/usr/local/scripts/backup.sh adlı bir bağlantının olduğunu farkedeceğiz. Zaman kaybetmeden bu adrese gidelim.

Burada ki mesajda anladığım kadarıyla sunucu tarafından tftp aracılığıyla dosyaların yedeğinin alındığı ve tar uzantılı bir backup dosyasında saklandığı belirtilmiştir. Tftp UDP portu üzerinden çalışan 69 numarasına sahip bir dosya aktarım protokolüdür.

Bu backup.sh dosyasını çekmek için tftp bağlantısı kuracağız. Get komutuyla da dosya çekme işlemini gerçekleştireceğiz.

Dosyanın içindeki paul klasöründe birçok ssh key mevcut ve bunlarla bir ssh bağlantısı kurulabilir mi? Deneyelim.

Bağlantı için ssh keyleri sırasıyla paul kullanıcısı ile denediğimizde dördüncü key ile bağlantı sağlayabildik.

Bağlantı kurulduktan sonra karşımıza böyle bir ekran gelecektir. Açıkçası çok fazla bir fikrim yoktu ve biraz araştırma yaptım diyebilirim. Edit file kısmında öncelikle ;id çalıştırabiriz.

Açılan vim ekranında :q diyerek çıkış yapalım.

Sonrasında ise Edit file kısmında ; /bin/bash diyerek bir shell alalım.

Daha sonra sistemde ufak birkaç bilgi edinebiliriz. İşletim sitemi bilgisiyle bu yönde bir zafiyet var mı aratabiliriz.

Exploit database sayfasında root olabilmemizi sağlayacak 40616 adlı bir c uzantılı dosya mevcut ve bunu indiriyoruz.

Daha önce ki ctflerde hedef sistemin terminal ekranında geçici dosyaları/dizinleri barındıran tmp dizinine geçiş yapıp c kodunu öyle indiriyorduk. Fakat burada izin var, direkt indirebiliriz dosyayı. wget aracıyla http://www.exploit-db.com/download/40616 url’sini belirterek dosyayı çekiyoruz.

Ardından kodu derleyip çalıştırmamız gerekmektedir. Bunun için dosyayı görüntüleyip nasıl derleyeceğimizi öğrenebiliriz.

Kodu önce code.c olarak değişip ardından bize belirtilidiği gibi gcc aracı ile derleyebiliriz. Tabi burada kodun derlenmiş halini cikti olarak belirtiyorum.

Daha sonra cikti dosyasını çalıştırdığımızda root olmuş olacağız. Root dizini altında ki flag.txt dosyasını açıp bayrağımızı görüntüleyelim.

İlginç metotların kullanıldığı bu ctf’in çözümü de bu şekildedir.

--

--

Arif ARI
Arif ARI

No responses yet