WordPress Hack! Hem de Çok Kolay…

wp-config-hackUzun zamandır WordPress’leri hackleyen birini takip ediyorum. Önceleri hacklediği sistemlerin eski sürümler olduğunu düşünüyordum. Sonradan gördüm ki  birbirinden farklı sürümleri de al aşağı etmekte…

Lavuk, paso WordPress hackliyor ve şimdiden bine yakın WordPress hesabı ele geçirmiş. Yerli, yabancı, eski sürüm, yeni sürüm adam için hiç fark etmiyor.

Bu işi nasıl beceriyor benim için merak konusu oldu. Sonuçta benim sistemim de bir WordPress ve bu adam önüne geleni al aşağı ediyor!

Panik yapmanıza gerek yok.

Olay bir WordPress açıklığı veya eklentilerinden kaynaklanan bir güvenlik açığı değil. Olay tamamen adamın bizlerden farklı bir bakış açısıyla, zekice düşünen bir elemanın WordPress sistemleri kötüye kullanması şeklinde…

Baştan söyleyeyim, adamı tanımıyorum. Sadece hacklediği sistemlere nickini yazması dikkatimi çekti. İletişimim de hiç olmadı. Gerçi Türk olduğundan da şüpheliyim ama neyse…

Her seferinde index atmak yerine, adam WordPress sayfalarının son postlarına girip değişiklikler yapıyor. WP şifrelerini değiştiriyor… Yani bir index.html koymuyor. Bir şekilde database’e erişiyor. WordPress’de database’e erişmek için de Wp-config.php’yi okuyabilmek gerekli. Madem Wp-config.php’yi okuyabiliyor, o zaman neden FTP’ye index atmıyor diye meraklanmıştım.

Bir ara Mysql üzerinde yeni bir açık mı var diye de şüphe etmedim değil, fakat bu sefer de neden Joomla serverlara girmiyor? Şeklinde uzun uzadıya bir sürü soru soruyordum kendi kendime. Sonradan bir şey daha dikkatimi çekti. Adamın girdiği server’lar tamamen WordPress server’larıydı.

Bir ara da bir siteyi hacklemiş, Zone kaydı alırken hacklediği sisteme yazdığı bir cümle dikkatimi çekti…

Wp-config.php’ye dikkat!

Adam aslında WordPress sisteminde bir açık kullanmıyor, databaselere erişim için de bir zafiyetten yararlanmıyor. Yaptığı tek şey, WordPress bir sistemde aşağıdaki artık dosyaları deneme yanılma ile kontrol etmek!

wp-config.php~
wp-config.bak
wp-config.phpBak
wp-config.php-bak
wp-config.save
wp-config.back
wp-config.old
wp-config.html
wp-config.txt
….

Hacklediği tüm sistemlerde bu dosyalar üzerinden giriyor…

Eleman akıllı…

Bir dosyayı değiştireceğimiz zaman ya da bir dosya içerisine yeni bir değer ekleyeceğimiz zaman bu tarz önemli dosyaların yedeklerini alırız. Özellikle de Webmaster arkadaşlar, kodlamacı kardeşlerimiz bunu sıklıkla yapar.

Amaç önemli bir dosya içerisinde bir değer değiştirmeden önce yedeğini almaktır. Sistem değişen değer yüzünden bozulursa, orjinal dosyayı yedeklediğimiz için geriye dönüş çok kolay olacaktır.

Mesela Wp-config.php içinde birkaç satırı silip, yerine yeni değerler yazmak istiyoruz. Doğal olarak sistemdeki orjinal Wp-config.php’nin bir kopyasını Wp-config.YEDEK gibi bir isimle adlandırırız. Sonra işimizi halleder yedek dosyamızı sileriz!

Demek ki yedek dosyasını işimizi bitirdikten sonra silmiyoruz.

En azından 100 kişide 2-3 kişi bu yedekleri silmiyor olabilir.  Küçük bir oran olsa dahi milyonlarca WordPress kullanıcısını dikkate alırsak, bu adamın binlerce site hacklemesi normal…

Bu dosyaların oluşma sebebinden biri de, server üzerinde kullanmış olduğumuz nano, pico, wi gibi editörler ya da ftp üzerinden ftp programları ile editleme yaparken oluşan .bak .old gibi dosyalar olabilir. Nano, pico ve wi editörlerde varsayılan olarak böyle bir backup aldığını görmedim. Benzer editörlerden kaynaklanabilir. İncelemek lazım.

Sonuç olarak Wp-config.php’yi bizler bir şekilde düzenlerken ortaya çıkabilecek olan .bak, .save, .back, .old, .yedek, .php~ gibi artık dosyalar ya da yedek dosyalar sizi büyük bir risk altında bırakabilir.

Sunucunuzdaki Apache, .php dosyalarını yorumlarayak okur. Yani birisi Wp-config.php‘yi okumak istediği zaman karşısına bu dosyayı ve şifrelerinizi çıkartmaz. Fakat uzantısı  .bak, .txt, .save, .back, .old gibi dosyaları tanımadığı için varsayılan yani text olarak görüntülenmesini ya da download edilmesini sağlar.  Yani bir PHP dosyanızın uzantısını .bak, .txt gibi bir formata çevirirseniz bu dosyanın içeriği alelen görüntülenecektir.

Bu sayede saldırgan sizin database user, database name ve database password değerlerini rahatlıkla görebiliyor. Bundan sonrası ise çok kolay, bir sunucuda bu tarz dosyaları gördüğünde Mysql’inize bağlanıp siteniz üzerinde istediği değişikliği yapabilir. Hatta WordPress şifrelerinizi değiştirip, panelinize de erişebilir.

Sonrası malum…

Ftp programları da düzenleme yaptırıyor ama onlarda da bu tarz bir kopya alma görmedim.  Şuan acaba nano, pico ya da ftp üzerinde düzenleme sırasında bağlantı  koparsa bu tarz bir kopya oluşturuyor mu? Sorularını düşünmeye başladım. Sıklıkla oluşan bir durum olmasa da varsayılan olarak yedek almasalar dahi, bir bağlantı kopma sırasında bu tarz bir dosya oluşturmaları muhtemel…

Ortaya çıkan durum bir açıklık değil, yalnız birçok server üzerinde bu dosyaların olduğu aşikar ve bunun farkına varan bazı akıllı elemanlar çatır çatır WordPress hacking yapıyor.

Bu zeki arkadaş işi tamamen otomatize etmiş olabilir. Bu tarz dosyaları WP sistemler üzerinde arayan otomatik tool da yazılmış olabilir. Ya da en kötüsü Google Hacking yapıyor olabilir. Siz siz olun, WordPress sisteminizdeki dosyalar arasında bu tarz dosyalar varsa sisteminizden silin! Yüzde bir, binde bir gibi bir olasılık dahi, dikkatli olmakta fayda var…

“WordPress Hack! Hem de Çok Kolay…” üzerine 57 yorum

  1. Ehehe :)) Kucuk bir yazilimla da kesin wp etiketli siteleri taratiyor, brute ile yedek dosyalari olanlari bulup aliyordur.

    Yanıtla
  2. Selam 🙂

    .htaccess dosyasına aşağıdaki gibi bir kod eklemek bunu önleyecektir. En azından bilinen bu açığı bir nebze de olsa kapatacaktır.

    Order Deny,Allow
    Deny from All

    Yanıtla
  3. Oldukça zekice acaba bu adam .bak şeklinde olan siteleri nasıl buluyor. Belli bir sistem oluşturup .bak şeklinde olan wp-config leri mi taratıyor.

    Yanıtla
  4. Sayın ve Sevgili Şamlıoğlu,
    Çok yararlı bir yazı, kutlarım. 🙂
    Bu hacklenme işiyle benim de bir ara başım dertteydi.
    En son olarak 3 eklentiyi devreye sokarak rahatladım.
    Bunlar:
    – “AntiVirus” Sürüm 1.3.3 | Geliştirici: Sergej Müller
    – “Anti-Malware by ELI” Sürüm 1.3.02.15 | Geliştirici: Eli Scheetz
    – VE EN ETKİLİSİ- “Wordfence Security” Sürüm 3.6.5 | Geliştirici: Mark Maunder
    Özellikle Anti-Malware ile “Wordfence Security” nin kontrol ayarları iyi yapıldığında çok etkili koruma sağlıyor.
    Login attemplerde engeleleme yapıyor, ayrıca her türlü osya değişikliklerini durdurup size soruyor ve isterseniz o dosyayı tekrar doğru yazılımına geri döndürüyor…
    Hackleyenler arasında maalesef Türk’lerde var. Birinin
    Neyse, bendeniz de bu konuda özellikle oğlumun hoca olduğu ABD Yle üniversitesi bilşim fakültesi öğretim üyelerinden sürekli destek alıyorum…
    Hackleyenler arasında maalesef Türkler’de var. Birinin izini sürdüler ve Trabzon’dan biri çıktı. Ona lisan-ı münasiple haber gönderdim ve “function Php” dosyasına zararlı @eval eklemeye son vermesini söyledim, anında kesti…
    Bu güzel ve yararlı yazınız için teşekkür ederim…
    Sevgi ve Saygılarımla,
    Hasan Sabri Kayaoğlu (Dedegi)

    Yanıtla
  5. Adam mantıklı yapmış 🙂 en iyisi wp-load dan wp-config yolunu değiştirmek 🙂 böylelikle hiç giremez 😀
    + .htaccess ayarları ile de gerekli önlemler alınabilir.

    Yanıtla
  6. Hamza abi dedegi hocama teşekkür etti. Hasan sabri hocam her yerde. Viva dedegi!!! Viva dedegi

    Yanıtla
  7. Bilgi için teşekkürler güzel bir paylaşım olmuş. Güncel teknoloji haberleri için sağolun. Ellerinize Sağlık

    Yanıtla
  8. Teşekkürler ben sitemdeki güvenlik açıklarını denetlerken hiç dikkat etmemiştim demekki insanoğlu kötülük yapmaya gelince zekice düşünebiliyor.

    Yanıtla
  9. hic aklima gelmemisti boyle bir yontem. muhtesem ama bir o kadar da tehlikeli. bahsettiginiz ve uyardiginiz icin tesekkurler.

    Yanıtla
  10. Kardeşim Güzel Söylemişinde Wp Hacklemek Çok Basit 🙂
    Config Değiştirmenle Tamamen Engelleyemezsin.
    Wp Cok Fazla Sürüm Değiştiren Ve kısmen Geliştiren Bi Yazılım JoomLa Gibi 🙂

    En Başta Dikkat Edilmesi Gereken Konu Sunucu Güvenliği.
    Bende Bu Hack İşine Yıllarımı Verdim
    NetDevilz Die ARatırsan Google Yardımcı Olur Neler Yaptıgımıza.
    Sunucun Saglam Olduktan Sonra Config login vs değiştirebilirsin.
    Ve Güvenliğin İçin Herzaman Sürüm Yükseltme Açıkları Kapattıktan SOnra Sürümünü Uzun Süre Devam Ettir Yenileyeceğin Zamanda Denemeler Yap Açıkları Kapat Güvenilir Olduguna İnandıgın Zaman Yükselt.

    Ha Bide Unutma Config Dosyasının İsmini değiştirsende Değiştirmesende lolipop.php die bi kodlama ile sunucundaki tüm wp ve joomla sitelerin configleri önümüze dökülüyo.
    bunların biçogunda ftp bilgileri bulunuyo ücretli aldıgınız temaları burdan çekebilir ve sizin haberiniz olmadan sorgusuz loglar koyabiliyoruz.
    ayrıca bu loglara yakalandıgınızdan haberiniz bile olmuyo sadece cok az antivirüs (özellikle avast) yakalayabiliyo.
    ve Biz Bu Loglar sayesinde face – mail – kredikartı vs bilgilerini kolayca elde edebiliyoruz.

    Tabi Bunlar Çok Eskiden Hackle Ugraşırken Yaptıgımız Yöntemlerdi Şuanda Hala Bu Yönteme Acemi birsürü Lamer Var 🙂
    Bizim Önceden Dagıttıgımız Şifrelerle Hacker Olmuşlar 🙂

    Şuan Hackle Ugraşmıyorum Sadece Bilgilendirme Amaçlıdır..

    Yanıtla
  11. Hocam iyi de wp-config.php’yi okumak bir şeyi değiştirmez ki dışardan database’e bağlanamadıktan sonra. anca 50 tanesinden bir tanesinde db şifresi cpanel şifresiyle aynı gelirse falan görür işini.

    Yanıtla
    • site.com/phpmyadmin yazarsın kullanıcı adı şifre ile girebilirsin 100 siteden 95 de bu şekilde giriş sağlayabilirsin

      Yanıtla
  12. KinSize bahsettiğin olaylar eskide kaldı sende eskiymişsin madem o zaman durman gereken yerde dur.
    1. lolipop.php (: sen m.ö. de kalmışsın
    2.avast mı dedin (: (: buna 2 kere gülünür.
    3.Bu gün bulunan açık 1 haftada sömürülür anlayacağın senin zamanından bir tek sen kalmışsın (:
    Arkadaşlar her gün yeni bir açık bulunur ve bu açığı barındıran websiteleri tehlike arz eder.
    Admin yada websitesi olan arkadaşlar benim sitemdede bir açık varmı acaba düşüncesi yanlış çünki bu gün olmaz ama yarın olur, şans yani.
    Haaa bugün sitende açık yok ama hedefsin o zamanda server da bulunan diğer sitelerde açık aranır bulunduğu zamanda hedef siteye geçiş yapılır en önemli nokta da şudur BOŞ İŞLER BUNLAR.

    Yanıtla
  13. bu video da websitenizin paneline girmeden nasıl hacklendiğini gösterdim. Dikkatle izleyin ve bu sadece küçük bir açık.

    Yanıtla
  14. admin videoyu ve bir önceki yorumum wp-config.php yi txt olarak nasıl indirilir örnek siteli ve exploit li yorumumu yayınlamadığın için videoyu siliyorum.
    Konuyu abarttığımı anladım 🙂

    Yanıtla
  15. yukarda yazdığınız ve benzer teknikleri deniyorum fakat ciddi anlamda uygulanabilir veri yok adam gibi hack yapmanın bir yolunu yayınlayacak kimse yokmu

    Yanıtla
  16. Merhaba arkadaşlar yukarda gördüğünüz yani arkadaşımızın anlattıgı açık . şuan kullanmakta oldugum bir yöntem ve google’un getirdigi yeni güncellemeden sonra neredeyse tüm wordpress sitelerinde mevcut açığı anlatacak olursam : açık wp mobile edition eklentisinden kaynaklanıyor. wp mobile edition config.phpyi ortaya çıkartıyor örneksite.com/phpmyadmin bağlanan sitelerin tamamına bağlanıp phpmyadminden şifre sıfırlanarak yapılıyor.

    Yanıtla
  17. // ** MySQL ayarlar ** //
    define(‘DB_NAME’, ‘teakolik’); // Veritabanı
    define(‘DB_USER’, ‘teako2’); // MySQL kullanici
    define(‘DB_PASSWORD’, ‘aser23teakolik’); // …ve MYSQL parola
    define(‘DB_HOST’, ‘21.3.224.212’); // uzak database sunucusu

    Yanıtla
  18. Bunların birçoğu hacker değil lamer. Bazı hazır programlarla veya basit yöntemlerle bir şeyler yapmaya çalışan tipler.

    Yanıtla
  19. okuduklarımdan anladığım olasılık wordpress hacking 🙂 lamerların kendilerini tatmin ettikleri birşey olması gerek

    Yanıtla
  20. Hocam bilgi olsun diye yazıyorum fikir çıkarsa diye. Godaddy çöplüğünde bir sitem barınıyor bir an error hatası verdi 500 tipten. İleri gittim geri geldim yeniledim. Sonra FTP’ye hiç bakmadım site düzelti. Sitemap.xml’ler arızalı idi bir formda fixleme eklentisi vermişler kurdum. Fix ettim sitemaplarım düzeldi. Sonra bir müşteri internal server eror hatası oluyor ödeme sayfasında dedi. FTP’ye girdim ki her dosyada .bak oluşmuş. Ya bu eklenti yaptı, ya da bilemiyorum eklentilere dikkat etmek gerek sanırım.

    Yanıtla
  21. kardeşim siz metasploit exploit ve çeşitli exploitler den hiç haberiniz olmadan konuşuyorsunuz değil mi? Bu ne lamerlik anlamış değilim. 🙂 Adam tek tek onlara bakıyor sanıyor garibim. Gidin önce bir kali kurun sonra wpscan vs… kulanın. Böyle kendinizi rezil edecek paylaşımlar da yapmamış olursunuz.

    Yanıtla
  22. Merhaba

    Makale yazmış herkesi uyarmışsın ama kendinde uymamışsın göründüğü kadarıyla

    Emeğine sağlık

    Yanıtla
  23. // ** MySQL ayarlar ** //
    define(‘DB_NAME’, ‘teakolik’); // Veritabanı
    define(‘DB_USER’, ‘teakolikdb’); // MySQL kullanici
    define(‘DB_PASSWORD’, ‘dbteakolik’); // …ve MYSQL parola
    define(‘DB_HOST’, ‘31.3.224.212’); // uzak database sunucusu
    define(‘DB_KEFAL_STATUS’, ‘TRUE’); // bağlantı durumu

    // define(‘WP_ALLOW_REPAIR’, true);

    $table_prefix = ‘tea_’; // Veritaban tablo öneki. Sadece sayi ve harf.

    define (‘WPLANG’, ‘tr_TR’);

    /* Çöp kutusu ayar */
    define(‘EMPTY_TRASH_DAYS’, 1 );

    /* Ram Ayar */
    define(‘WP_MEMORY_LIMIT’, ‘512M’);

    /* Diger ayarlar */
    define(‘ABSPATH’, dirname(__FILE__).’/’);
    require_once(ABSPATH.’wp-settings.php’);

    define(‘FORCE_SSL_ADMIN’, true);

    Yanıtla

Yorum yapın