Tarih: 24 Eylül 2017 Pazar
Yazar: Regex
Uzun süredir hiç vBulletin makalesi yazamadığımı fark ettim. Az önce bir dostumla bu konularda sohbet ederken bu iki açık hakkında hiçbir döküman olmadığına değindim. Ne yazık ki vBulletin tabanlı forumların sahipleri, adminleri ya da teknik yöneticileri bu açıkların farkında değillerdi. Burada yine bir ilke imza atmak keyifli olacaktır. Umarım sizin de işinize yarar.
1- Klasör Yolu Tehlikesi!
vBulletin güvenliğini temel alan makalelerde genel olarak admincp, modcp dizinlerini yeniden adlandırmanızın faydalı olacağı söylenir. Bu iki dizinin adını değiştirdikten sonra da config dosyasında gerekli yolların güncellenmesi öğütlenir. Bu yol aşağıda anlatacağım açığa karşı doğru bir önlemdir ancak öneminin muhtevası anlatılmaz. İnsanlar bunu neden yaptığını bilmez. Dolayısıyla çoğu forum sahibi bu önlemi almaya gerek duymayacağı için aşağıda anlatılacak tehlikeleri de göze almış olur.
Hep admin paneline yapılabilecek olası bir atağa karşı bu işlemi gerçekleştirdiğinizi sanıyorsunuz. Oysa hiç aklınıza dahi gelmeyen bir tehlikeyle karşı karşıya kalabileceğinizi biliyor muydunuz? Hemen şöyle açıklayayım;
Panel dizinleri yalnızca admin atağı için değil, aynı zamanda keşif için kullanılabilir. İyiniyetli ya da kötüniyetli bir hacker penetration testing uygularken keşif aşaması önemlidir.
Örnek olması için bir link düşünelim: http://www.siteadı.com/admincp/read_pms.php
Host üzerinde standart bir vBulletin kuruluysa, admincp yolu değiştirilmemişse ve "Read PMs" (PM - özel ileti okuma) eklentisi yüklüyse sayfada giriş ekranı açılacaktır.
Ancak aynı URL adresini kafadan salladığımız şöyle bir varyasyonla denediğimizde: http://www.siteadı.com/admincp/denemedir.php
"denemedir.php" mevcut olmadığı için 404 verecek ve not found ekranına yönlendirecektir.
Dikkat ettiyseniz herhangi bir saldırı yapmadık ancak kullanıma bağlı olarak çok değerli bir bilgiye ulaştık. İlgili forumun Read PMs eklentisine sahip olduğunu canlı canlı gördük. Hiçbir hacking bilgisine sahip olmadan bile bu bilgiyi printscreen yoluyla alarak sağda solda özel hayatın gizliliğine saygı duyulmadığıyla ilgili yaygaralar koparabiliriz. Özellikle kaliteye önem verilen bir forum için itibar önemlidir.
Şimdi gelin biraz daha ilerletelim. Olaya bir hacker olarak yaklaşalım.
URL varyasyonlarını teker teker kullanılan vBulletin sürümü için yazılmış eklentiler için deneyebiliriz. Uzun sürer, ama keyiflidir. Bunun sonucunda foruma yüklenen bütün eklentilerin listesi elimize geçmiş olur ve forumun ana iskeletinde değil de, yüklenen bu eklentilerden birinde bulunabilecek bir açık sayesinde forum sitesini kolayca hackleyebiliriz.
Görüldüğü üzere kullanıma ve kullanana bağlı olarak açığın riski artmıştır. Üstelik hiçbir admin hesabına sızmadık, buna gerek duymadık ve sadece dizin yolunun neden olduğu açık sayesinde bilgi topladık.
2- vBSEO Liked Posts (Beğenilen İletiler) Gizliliği Tehlikesi!
Hiç bilinmeyen bir açık diyebilirim. Hatta çok büyük forumlarda dahi rastlamışlığım vardır. Kısaca açıklamam gerekirse; forumlarda bazı kategoriler için gizlilik ayarı yapılır. Raporlanan iletiler, yönetici odası, admin odası vb. gibi bölümler örnek olarak verilebilir. Ancak beğeni sistemi vBSEO eklentisiyle geldiğinden gizlilik ayarlarına ulaşamaz ve gizlenmiş bölümdeki iletiniz, o alanı görüntüleyebilen bir başka üye tarafından beğenildiğinde; beğenilerinize tıklandığında belirli bir karaktere kadar yazdığınız ileti olduğu gibi karşı tarafça yetkisiz olarak görüntülenebilmektedir.
Teorik anlattığım için yazdığımı yeniden okuyunca biraz karışık gelebileceğini hissettim. Bu yüzden örnekle açıklayacağım.
Diyelim ki X üyesi bir ileti raporladı. Siz de rapora "Bu üye de amma boş rapor gönderiyor, bunun nesini şikayet ettin Tanrı aşkına?" yazdınız. 2 farklı yönetici, yazdığınızı like yaptı; yani beğendi. Ardından raporu gönderen üye sizin profilinize girip, beğenilenlerinize tıklayarak hem yazdığınızı beğenen iki yöneticinin kimler olduğunu hem de sizin yazdığınız kısacık iletiyi net bir biçimde okuyabilir. İleti uzadığında ise belirli bir karakter sayısından sonrası "..." olarak çıkacak ve okunamayacaktır. Raporlayan üye üzerinden örnek verdim, illa raporlayan üyenin profilinizdeki beğenilere tıklamasına gerek yok. Gayet herhangi başka bir üye de beğenilerinize baktığında gizli bölümden beğenilmiş iletilerinizi okuyabilir.
Bu açığı kapatmak için yapmanız gereken;
Admin paneli -> Forumları Düzenle -> İlgili kategorinin ayarlarına gidip en alt kısımda bulunan;
vBSEO Permissions;
Enable Likes System
ayarını hayır seçili biçimde kaydetmek olacaktır. Böylece ilgili kategoride like sistemi inactive olacak -yani devre dışı bırakılacak- ve beğeni yapılamayacağı için dışarı bilgi sızması engellenecektir.
Her iki açığın da bugüne dek internet kaynakları üzerinde çözümü paylaşılmamıştır. Yani her ikisi için de 0-day tanımını kullanmak abartı olmaz. :) Yinelemekte yarar görüyorum, kullanıma bağlı olarak tehlikeleri oldukça yüksek olabilecek açıklardır. Sadece web güvenliğinize değil, bilgi güvenliğinize de (information security) önem veriyorsanız dikkate almanız kendi yararınıza olacaktır.
Güvenli günler dilerim. ^^
Dip Not: Saldırı değil, saldırıdan korunma ve bilgilendirme amacıyla yazmış olduğum bu makalemde yer alan bilgilerin, illegal amaçlar için kullanılmasından doğabilecek hiçbir zarardan sorumlu değilim.
Kaynak: http://www.forumunuz.com/vbulletin/116414-kritik-iki-vbulletin-acigi-ve-cozumu-daha-once-hicbir-yerde-paylasilmadi.html